Saya telah menyiapkan subversi dan apache di server saya.
Jika saya menjelajahinya melalui browser web saya berfungsi dengan baik ( http://svn.host.com/reposname ). Namun, jika saya melakukan checkout pada mesin saya, saya mendapatkan kesalahan berikut:
Command: Checkout from http://svn.host.com/reposname, revision HEAD, Fully recursive, Externals included
Error: Repository moved permanently to 'http://svn.host.com/reposname/'; please relocate
Saya memeriksa log kesalahan apache, tetapi tidak mengatakan apa-apa. (ya sekarang - lihat edit)
repositori saya disimpan di bawah: / var / www / svn / repo /
Situs web saya disimpan di: / var / www / vhosts / x / ...
Berikut file conf untuk subdomain:
<Location />
DAV svn
SVNParentPath /var/www/svn/repos/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/auth/svn.htpasswd
Require valid-user
</Location>
Otentikasi berfungsi dengan baik.
Adakah yang tahu apa yang menyebabkan ini?
- Edit
Jadi saya me-restart apache (lagi) dan mencobanya lagi dan sekarang memberikan saya pesan kesalahan, tetapi itu tidak membantu. Adakah yang tahu apa artinya?
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] Could not fetch resource information. [403, #0]
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] (2)No such file or directory: The URI does not contain the name of a repository. [403, #190001]
- Edit 2
Jika saya lakukan svn info
itu tidak memberikan apa pun yang berguna:
[root@server domain.com]# svn info http://svn.domain.com/repos/
Username: username
Password for 'username':
svn: Repository moved permanently to 'http://svn.domain.com/repos/'; please relocate
Saya juga mencoba melakukan checkout lokal ( svn checkout file:///var/www/svn/repos/reposname
) dan itu berfungsi dengan baik (juga menambahkan / melakukan berfungsi dengan baik). Jadi sepertinya ada hubungannya dengan apache.
Beberapa informasi lain:
- Saya menjalankan CentOs 5.3
- Plesk 9.3
- Subversi, versi 1.6.9 (r901367)
- Edit 3
Saya mencoba memindahkan repositori, tetapi tidak ada bedanya.
selinux dinonaktifkan sehingga tidak juga.
sumber
Options +indexes
yang seharusnya tidak benar-benar melakukan sesuatu yang berguna di lokasi svn.Jawaban:
Saya punya ini baru-baru ini ... tapi ternyata saya lupa url :)
Satu hal yang harus Anda lakukan adalah memastikan Lokasi svn Anda tidak tumpang tindih dengan situs web apache-servable. yaitu, jika Anda menetapkan DocumentRoot Anda menjadi / www, dan Lokasi svn Anda menjadi / www / svn ... maka Anda dalam masalah - Apache tidak akan tahu apa yang seharusnya dilayani (yaitu penangan khusus svn , atau http handler lurus).
Lihat entri FAQ untuk ini .
sumber
Alias svn /repositories
dan kemudian mengatur semuanya<Location /svn/ >
. Masalahnya persis seperti di tautan FAQ, meskipun secara misterius, ia bekerja dengan sempurna selama sebulan dan kemudian berhenti pada hari Rabu sore di waktu minum teh. Jika repositori Anda berada di "/" maka Anda akan memiliki tumpang tindih dengan arahan DocumentRoot Anda.Coba periksa
http://svn.host.com/reposname/
(perhatikan garis miringnya).sumber
Periksa web ini: http://www.rkrishardy.com/2009/12/subversion-fix-svn-copy-causes-repository-moved-permanentl/
Mungkin alias menunjuk ke tempat yang sama dengan congfigured adalah dav_svn.mod, dan ada kondisi ras antara apache dan dav_svn saat mengakses repo.
Lebih baik dijelaskan di artikel yang disediakan
Di dav_svn.conf:
Di apache_site.conf
sumber
Saya memiliki pengaturan vhost dengan repo
svn.mydomain.com/sites/
saya di vhost saya memiliki blok DocumentRoot dan Lokasi. Menghapus akar dokumen memecahkan masalah ini.sumber
Saya mendapatkan kesalahan ini ketika saya keliru meletakkan repo saya di bawah pohon html yang dilayani oleh Apache, pada mesin FC14 saya Dengan subversi berbasis RPM dan instalasi apache.
SVNParentPath (di /etc/httpd/conf.d/subversion.conf) harus mengarah ke direktori di luar DocumentRoot.
Saya memindahkan repo saya, dan masalahnya hilang.
Semoga ini membantu.
sumber
Saya tahu ini sudah lama tetapi saya menemukannya di Google karena saya memiliki masalah yang sama. Pastikan port 7080 tidak diblokir oleh komputer atau firewall server
sumber
Sepertinya Anda tidak melakukannya
svn checkout
, melainkansvn update
di repositori yang sudah ada (?).Jika demikian, lakukan ini:
svn switch --relocate http://svn.host.com/reponame
sumber
Pindah secara permanen? Dapatkah Anda sesuatu seperti HTTPFox atau sesuatu dan memverifikasi bahwa Apache memberikan kode status yang tepat untuk repositori Anda (seharusnya
200/OK
). Saya percaya kode status301
sesuai dengan URL yang telah "dipindahkan secara permanen" dan itu terdengar seperti apa yang dimaksud oleh klien svn.sumber
http://svn.server.com/repos
) itu berfungsi dengan baik, saya mendapatkan "repos - Revisi 0: /" dan semuanya. Masalahnya hanya terjadi ketika saya melakukan checkout.Mungkin agak terlambat dalam percakapan, tetapi saya melihat ini ketika menggunakan Alias di konfigurasi apache untuk menangani trailing '/': Alias / svn / path / ke / svn /
sumber
Anda juga perlu memastikan bahwa tidak ada arahan Alias yang memetakan ke lokasi repo svn. Saya punya ini baru-baru ini ketika saya punya
di mana alias dan arahan lokasi berlaku untuk jalur yang sama.
sumber
Saya hanya memiliki masalah yang sama bukan ketika MEMERIKSA, tetapi ketika sebuah KOMIT dibuat.
Alasannya? folder ini "obj \ Debug \ TempPE", untuk beberapa alasan aneh bahwa folder "TempPE" tidak mungkin untuk KOMIT ke repositori
Solusi? ... KOMIT semua folder proyek lainnya satu per satu dan hapus lokasi itu dari server SVN
sumber