วิธีเอาชนะ SVN - ไม่สามารถเปิดระบบไฟล์ SVN ที่ร้องขอได้


3

ฉันทำตามขั้นตอนทั้งหมดในhttps://help.ubuntu.com/8.04/serverguide/C/subversion.html แต่เมื่อฉันลองทำ:

svn co https://localhost/svn

ฉันเข้าใจ:

 svn: Repository moved permanently to 'https://localhost/svn/'

... และเมื่อฉัน:

 svn co https://localhost/svn/

ฉันได้รับข้อผิดพลาดเดิมอีกครั้ง เมื่อฉันลอง:

 svn co https://localhost/svn/testrepo

ฉันเข้าใจ:

 svn: Could not open the requested SVN filesystem

ในบันทึก apache ฉันเห็น:

 can't open file /home/myname/testrepo/testrepo/format

ใน apache2.conf ของฉันฉันมี:

<Location /svn>
     DAV svn
     SVNParentPath /home/myname/testrepo
     SVNListParentPath On
     AuthType Basic
     AuthName "myrepo"
     AuthUserFile /etc/subversion/passwd
     <LimitExcept GET PROPFIND OPTIONS REPORT>
         Require valid-user
     <LimitExcept>
</Location>

ฉันได้ลองด้วย "SVNPath" ก่อนหน้านี้แทน "พา ธ " โดยไม่ประสบความสำเร็จ

โปรดช่วยฉันหมดหวัง !! ฉันลองใช้เส้นทางทั้งหมดที่ฉันคิดได้ ...

คำตอบ:


7

ดูเหมือนว่า SVNParentPath จะชี้ไปยังที่เก็บข้อมูลของคุณโดยตรงแทนที่จะไปยังไดเรกทอรีที่มีที่เก็บของคุณ

สร้างโฟลเดอร์ที่เรียกว่าโครงการในโฟลเดอร์บ้านของคุณ

mkdir /home/myname/projects

ย้ายพื้นที่เก็บข้อมูลของคุณลงในโครงการ

mv /home/myname/testrepo /home/myname/projects

เปลี่ยนความเป็นเจ้าของโครงการเป็น www-data

sudo chown -R www-data:www-data /home/myname/projects

ใน apache2.conf เปลี่ยนการประกาศ SVNParentPath ของคุณเป็น

SVNParentPath /home/myname/projects

รีสตาร์ทเซิร์ฟเวอร์ Apache ของคุณ

ตอนนี้ลองตรวจสอบที่เก็บข้อมูลของคุณ

svn co https://localhost/svn/testrepo

ฉันไม่เข้าใจวิธีการทำงานนี้เพราะสำหรับฉันเมื่อฉันทำ SVNParentPath / home / myname / project และรีสตาร์ทเซิร์ฟเวอร์ Apache ที่ฉันได้รับข้อผิดพลาดว่า "ผิดพลาดทางไวยากรณ์ใน apache2.conf" บรรทัดเดียวกันที่ฉันเพิ่ม "SVNParentPath / home / myname / โครงการ"
Jonney

1

สำหรับผู้ใช้ Windows (หากมีคนมีปัญหาคล้ายกันใน Windows):

ปัญหาอาจเป็นสิทธิ์การเข้าถึงไฟล์

ฉันแก้ไขปัญหาด้วยการย้ายที่เก็บไปยังตำแหน่งที่ Apache สามารถอ่านและเขียนไฟล์ได้ ในกรณีของฉัน (CollabNet โค่นล้มขอบ) C:\csvn\data\repositoriesเส้นทางเป็น


0

ไปที่ไดเรกทอรี SVNParentPath นี่คือเส้นทางไดเรกทอรีของฉันคือ / var / www / svn

cd / var / www / svn /

สร้างที่เก็บภายใต้ SVNParentPath

svnadmin สร้าง repo_name

ให้สิทธิ์ Apache

chown -R apache: apache repo_name /

สร้างผู้ใช้ SVN

htpasswd -m /etc/httpd/conf/.htpasswd ชื่อผู้ใช้

กำหนดสิทธิ์

vi / etc / svnusers [repo_name: /]

username = RW

เริ่มบริการ Apache ใหม่

บริการ httpd เริ่มต้นใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.