Domanda

Ad un certo punto tutti i file nella mia copia di lavoro ricevuti contrassegnate con "S" simbolo come illustrato di seguito:

$ svn st
M    S   AclController.php
     S   InstallationController.php
     S   CustomerController.php
     S   RedirController.php
     S   IndexController.php
     S   LoginController.php
     S   OrderController.php
     S   ProductController.php
     S   SelfInstallController.php
     S   SelfcareController.php

È interessante notare che si verifica int solo questa particolare copia di lavoro -. Quando ho checkout il progetto di nuova directory, non mostra i segni di "S"

Come sbarazzarsi di questo fastidioso simboli "S"? Si riduce in maniera significativa la chiarezza dello status di WC.

Aggiornamento: faccio passare di volta in volta utilizzando la sintassi svn switch standard. Non è mai stato causa di questo simbolo "S" per apparire fino a poco tempo. Il comando usato per passare era:

svn switch svn+ssh://xxxxxx/subversion/xxxxxxx/releases/1.0.16 .

C'è un modo per cancellare il flag "S"?

È stato utile?

Soluzione

Ciò significa che i file sono da una posizione diversa nella vostra repository subversion rispetto alla directory che li contiene. La soluzione è di passare l'intera copia di lavoro nella stessa posizione. Vedere la due sezioni nel libro di sovversione per i dettagli su come richiamare il comando.

Altri suggerimenti

Se si chiama 'informazioni svn' sulla directory stessa e (uno dei) i file all'interno si ottengono due URL diversi.

È possibile ottenere lo stato di 'S', se l'URL di un file / directory non corrisponde all'URL del genitore seguito dal nome del file.

Puoi pubblicare l'url del genitore e uno dei nodi figlio? (Anonimi l'URL, se del caso)

ho avuto ' S' stato durante il passaggio da tronco (R100) per qualche ramo (r50). Ho ottenuto l'errore:

svn: Failed to add file 'web/.htaccess': an unversioned file of the same name already exists

Tutti i web / 's subdirs erano ' S ' battente bandiera.

La causa: avevo cancellato .htaccess a svn: ignorarlo (R100), quindi avevo creato di nuovo (sotto controllo di versione e ignorato). Il ramo (r50) aveva ancora web / .htaccess nella repo.

La soluzione:

mv web/.htaccess ../../
svn switch back to trunk
svn switch to branch again

Va tutto bene.

Ho avuto questo problema con una directory ho commesso con successo a SVN. La soluzione per me era di cancellare localmente quindi aggiornare. Non riuscivo a vedere alcuna differenza, ma il file .svn è stato fissato per qualsiasi motivo (non di più S).

Solo un'osservazione: ho avuto lo stesso simbolo S quando ho verificato una directory eliminata dal nella stessa posizione nel repository ma utilizzando un URL diverso , cioè, utilizzando protocolli distinti alla cassa come 'svn checkout svn + ssh: //user@scm.gforge ... 'contro' svn checkout https: //scm.gforge .... '. Ho risolto controllando fuori di nuovo utilizzando lo stesso URL che ho usato per la prima cassa.

Nel caso qualcuno sta arrivando alla fine a cercare la risposta (che è riportata correttamente sopra), credo che una probabile causa di questa situazione è un 'svn switch' su una directory padre che non riesce (come nel caso di un locale il file non impegnati con lo stesso nome, e nessuna opzione --force), lasciando tutti i file successivo al fallimento 'un-switched'.

Questo è il motivo (assumendo che il problema originale è poi corretto) un successivo 'svn switch' di nuovo nella stessa directory principale sarà davvero cambiare i file delle Nazioni Unite a commutazione rimanenti per un nuovo percorso di pronti contro termine.

Ciò è causato da un'interruzione quando si passa rami.

Passa a un ramo diverso, e poi tornare al ramo che si vuole veramente.

svn switch some_other_branch_url

svn switch desired_branch_url

Questo significa che sei passato da una copia di lavoro ad un altro, per esempio aver controllato una copia di lavoro, poi scambiato sopra per essere il confronto contro un ramo di codice. Date un'occhiata alla SVN libro per i dettagli su come annullare questo.

C'è un altro modo in cui questo stato può essere raggiunto -. Che si spera salvare qualcuno un po 'di tempo di monitoraggio verso il basso

ho scompattato una libreria esterna nel mio radice SVN, e si scopre il terzo autore ha incluso accidentalmente propria cartella svn in una delle cartelle. Questo naturalmente sovrascrive la nostra corretta, la cartella, la sovversione, e ha lo stesso effetto come descritto altrove in questa pagina -. Una cartella sembra aver acceso inaspettatamente a un altro ramo

"Item è acceso."

Se è stato utilizzato "svn switch" sulla vostra copia di lavoro che potrebbe spiegare?

Per me questo succede quando il comando "svn switch" viene interrotta e risolverlo con TortoriseSVN, mi fate clic destro sul file e selezionare tornare al genitore

Una soluzione semplice per sbarazzarsi della 'S' quando si emette

svn status

è quello di andare subito a dir che è contrassegnato con 'S' e cancellare la directory nascosta .svn:

  

rm-rf .svn

Successivamente le fonti rivelano contrassegnati con '?' e si potrebbe facilmente aggiungerle di fresco:

  

svn add path / to / risorsa

Nel mio caso due sotto-directory nel ramo sono stati soppressi nel bagagliaio. Sono passato dal tronco ramo dalla directory di livello superiore, e poi spostato indietro al tronco e sperimentare il problema con quei sub-directory sono ora in stato di S.

Ho usato la risposta @ahnbizcad come linea guida. Dalla directory principale (che a sua volta è sotto la directory di primo livello) delle sottodirectory:

svn sw <branch_url>

svn sw <trunk_url>

Vi suggerisco di leggere il suo aiuto ufficiale, provare:

svn st --help

o

svn st --help | grep S

'S' the item has a Switched URL relative to the parent
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top