2012-05-09 10 views
12

Voglio ottenere una radice svn in/var/svn e repository (progetti) in là. Potrei farlo funzionare nel browser (http://domain/url mi dà "Raccolta di repository") ma il TortoiseClient mi sta dando l'errore menzionato nel titolo.tortoise svn che mi dà "Ciclo di reindirizzamento rilevato per dominio URL"/svn ""

ho istituito una sovversione sul mio server ubuntu nel modo seguente (abbreviato):

mkdir /var/svn 
svnadmin create /var/svn/test 

e la mia dav_svn.conf sembra il seguente:

<Location /svn> 
    DAV svn 
    SVNParentPath /var/svn 
    SVNListParentPath On 
</Location> 

ho letto sui collegamenti simbolici, eventualmente, la causa del problema, quindi mi collegare il mio sito 000-default così (è lo standard btw):

<VirtualHost *:80> 
    ServerAdmin [email protected] 

    DocumentRoot /var/www 
    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 
    <Directory /var/www/> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
    </Directory> 

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
    <Directory "/usr/lib/cgi-bin"> 
      AllowOverride None 
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
      Order allow,deny 
      Allow from all 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    # Possible values include: debug, info, notice, warn, error, crit, 
    # alert, emerg. 
    LogLevel warn 

    CustomLog ${APACHE_LOG_DIR}/access.log combined 

Alias /doc/ "/usr/share/doc/" 
<Directory "/usr/share/doc/"> 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride None 
    Order deny,allow 
    Deny from all 
    Allow from 127.0.0.0/255.0.0.0 ::1/128 
</Directory> 

ho provato come suggerito nel How do I list all repositories with the SVNParentPath directive on Apache+SVN? ma purtroppo ottengo un altro errore tartaruga poi (mentre posso ancora vedere bene nel mio browser) E poi mi dà "Le opzioni di richiesta restituiti XML non valido nella risposta: parse XML errore alla riga 1: nessun elemento trovato " (e OPZIONI HTTP a quell'URL effettivamente non dà alcun corpo di risposta)

Qualcuno sa che cosa sta causando questo problema?

Cheers!

Edit: Questa è l'uscita access.log dopo aver tentato di raggiungere http://server/svn attraverso tartaruga

(con Posizione/svn) Avviso del 301 .. TortoiseSVN cambia il percorso 'http://server/svn' senza una barra leader, tho ho specificato per la ricerca all'interno di 'http://server/svn/'

[10/May/2012:00:42:29 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:29 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:29 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:29 +0200] "PROPFIND /svn HTTP/1.1" 301 516 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:29 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:29 +0200] "PROPFIND /svn HTTP/1.1" 301 516 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "PROPFIND /svn HTTP/1.1" 301 516 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:42:30 +0200] "OPTIONS/HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 

(con Posizione/svn /)

[10/May/2012:00:36:57 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:36:57 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:36:57 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:36:57 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:36:58 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4 neon/0.29.6" 
[10/May/2012:00:36:58 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:36:58 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
[10/May/2012:00:36:58 +0200] "OPTIONS/HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6" 
+0

Questo potrebbe essere un longshot, ma per caso hai il tuo TortoiseSVN passare attraverso un proxy web? Ho visto richieste tra il browser repo TortoiseSVN e il repository rimbalza come prima e il proxy web era la fonte ... –

+0

No la tartaruga non usa alcun proxy. Ad ogni modo, ho creato un unico repository adesso e ho messo tutto lì dentro - imposta SVNPath su quel repository e almeno ho SVN adesso. –

+0

Forse il problema è SElinux. Guarda qui la soluzione verde: http://serverfault.com/questions/114852/cannot-commit-to-svn-repository-via-http – cguenther

risposta

7

Il browser del repository TortoiseSVN non sembra supportare la consultazione della collezione di repository.

Quindi, se avete i repository:

/var/svn/repo1 
/var/svn/repo2 
/var/svn/repo3 

e il dav_svn.conf

<Location /svn> 
    DAV svn 
    SVNParentPath /var/svn 
    SVNListParentPath on 
</Location> 

È possibile navigare con un browser web che punta al http://server/svn.

Con TortoiseSVN è necessario specificare anche il nome del repository, ad es.

http://server/svn/repo1 
http://server/svn/repo2 
http://server/svn/repo3 
10

I konw questo è un vecchio filo, tuttavia per la beneift di altri che lo trovano:

Solo una supposizione, ma non l'url tuo browser darà avete "viewvc" o qualche altra parte che è aggiunto dal browser svn?

i.e. http://mysvn/viewvc/trunk/..... 

Tortoise non verificherà perché non è un url svn effettivo; il vostro URL svn è probabilmente qualcosa di simile

http://mysvnsvr/mysvn/trunk..... 
+0

Ehi lì, no, non era così. Il mio problema particolare era - come ha detto Idalonzo - che Tortoise non supporta la navigazione di repository. –

+0

Grazie Jay, sto usando SubversionEdge di CollabNet e questo ha risolto il mio problema. – lmingle

+0

Per vedere l'URL del repository effettivo, apri [http: // mysvn/viewvc/trunk /] nel tuo browser e nella parte inferiore della pagina vedrai l'url di svn checkout. – h3n

1

Il problema per me era che avevo una RewriteRule .htaccess nella mia radice del documento, chiedendo di aggiungere un trailing/ad ogni URL non avendo uno.

A causa di ciò, i client SVN, cercando di chiamare URL senza un finale/quali "https://site/repos/project" ha ottenuto reidrected da Apache a "https://site/repos/project/", in modo che il client SVN cerca di andare a "https://site/repos/project" di nuovo, e così via .

SOLUZIONE: Non esiste alcuna regola che aggiunga un finale/che potrebbe influire sugli URL SVN.

8

Su CentOS7, ho rimosso la direttiva Alias ​​e funziona.

+1

Mi sono imbattuto in questo (molti anni dopo) e questo è stato effettivamente ciò che ha risolto per me (server CentOS7, client Win10) – SonarJetLens

+0

Ho avuto lo stesso problema anche sulla stessa distribuzione e la stessa soluzione ha funzionato :) Lo sai * perché * funziona? –

0

Ho avuto lo stesso problema ma non per più repository solo tag, rami, ecc all'interno di un repository. La rimozione del tag alias nel file conf ha risolto questo problema. Sono in esecuzione Centos 7 con SVN 1.8 e Tortoise 1.9.

0

Aggiunta del:

SVNListParentPath on 

linea solo risolto questo problema per me.