2009-12-07 8 views

risposta

6

Per risolvere il problema, è possibile subst vostra copia di lavoro ad una lettera di unità per tenere giù la lunghezza del percorso:

C:\Users\Me\SVN\My\Cool\Repository\With\A\Very\Long\Path> subst S: . 
C:\Users\Me\SVN\My\Cool\Repository\With\A\Very\Long\Path> S: 
S:> svn up 
7

Questo non è davvero una limitazione del client svn, ma della console di Windows: relative i percorsi non possono superare i MAX_PATH (254) caratteri quando vengono espansi.

E a differenza di alcuni commentatori qui afferma, non è una svista degli sviluppatori svn dimenticare MAX_PATH. Perché: se passi percorsi completi invece di quelli relativi, i comandi funzioneranno.

Così, invece di

cd C:\some\...\very\long\path 
svn up . 

corsa

svn up c:\some\...\very\long\path 

e dovrebbe funzionare bene.

+0

Quindi dobbiamo farlo (svn su percorso) in tutte le directory del nostro progetto? –

+0

sì, o abbreviare i percorsi a meno di 254 caratteri, accorciandoli realmente (rinominando) o utilizzando SUBST in una sottocartella e quindi utilizzando l'unità substed come percorso. – Stefan

+0

Argh. Mi dispiace. E ora non riesco nemmeno più a cancellare quella risposta. – Joey

0

Se la riga di comando è infatti la bash Cygwin, allora si potrebbe avere colpito questo bug:

http://www.itefix.no/i2/node/11064 o http://old.nabble.com/file-name-too-long-td22189828.html

che in realtà è, che Cygwin non è in grado di gestire i percorsi con lunghezze oltre 255 caratteri. (Oltre alla risposta di Stefan: qui non sono possibili né percorsi assoluti né relativi.) Cygwin 1.7, che è beta da mezzo anno, sembra risolvere questo problema.

+0

No, non è Cygwin. Io uso svn da LONTANO o da cmd. –

1

Invece di fare il seguente nella directory corrente:

svn co http://xxx/repo1 

Give it il percorso di destinazione completo come questo:

svn co http://xxx/repo1 E:\abc\pqr\xyz\abc\pqr\xyz\repo1 
+0

Funziona! Grazie! Ho pensato che fosse la limitazione del file system di Windows. – RonPringadi

0

Ho avuto lo stesso problema su un sistema Ubuntu quando si cerca di cassa un repository con nomi di file molto lunghi. Tuttavia, ho scoperto che il mio problema era legato alla crittografia della mia unità domestica, come spiegato qui: http://ubuntuforums.org/showthread.php?t=2258374

Problemi correlati