2010-08-18 13 views
17

Con il nuovo iPhone 2x file mi sono imbattuto in questo problema ...Come rimuovere un file con @ nel suo nome da svn nella riga di comando?

+0

Qual è il problema? Quale componente rifiuta il nome del file? Che errori ottieni? Su quale piattaforma? –

+3

problema simile qui: http://stackoverflow.com/questions/1985203/why-subversion-skips-files-which-contain-the-symbol –

+0

Votazione per chiudere come un dupe di @ suggerimento di Dmitry –

risposta

50

È necessario aggiungere un segno "@" alla fine per ottenere SVN per elaborare il file.

Ad esempio, se si ha un file chiamato [email protected] che si desidera aggiungere a SVN, è necessario digitare:

svn add [email protected]@ 

Se si dispone di un sacco di file con il simbolo "@" in il loro nome che si desidera elaborare in un batch (vale a dire l'uso * jolly), si può fare qualcosa di simile in X Terminal OS:

find . -name "*@*" | xargs -I % svn add %@ 

il comando sopra utilizzare l'utilità Trova per elencare ogni file con @ nel suo nome file e poi pipe ogni filepath a SVN usando XARGS.

Per ogni percorsofile, xargs eseguirà il comando fornitosvn add %@, tranne che -I % dice xargs per sostituire ogni occorrenza di "%" nella disponibile comando, con il percorsofile convogliato. XARGS aggiunge in modo efficace lo speciale "@" alla fine del nome del file.

Ad esempio, dopo aver sostituito il carattere "%", XARGS eseguirà svn add path/to/your/[email protected]@; SVN accetterà questa (presumibilmente a causa SVN cerca il ultima occorrenza di "@" e tratta questo come un identificatore di revisione)

Spero che questo aiuti - ho dovuto colpire la mia testa per un po 'per aggiungere i 2x gazzilion @ File .png necessari per l'aggiornamento della mia app per iOS4.0

+2

Naturalmente, se si desidera per rimuovere i file invece di aggiungerli, devi solo sostituire svn add con svn delete nell'esempio precedente e dovrebbe funzionare. – bhavinb

+0

Bello. Sembra strano però - come mai aggiungere un "@" alla fine rende questo lavoro? È documentato da qualche parte? –

+0

Molto strano, ho aggiunto @ alla fine del nome del file 'ubuntu @ ec2-54-245-12-20.us-west-2.compute.amazonaws.com @' e svn delete ha funzionato. – Siddharth

Problemi correlati