SVN“ ไม่ใช่สำเนาที่ใช้งานได้”


8

ตกลง ... ดังนั้นฉันต้องการอัปโหลดบางสิ่งไปยังเซิร์ฟเวอร์ SVN มันช่างยากเหลือเกิน กลายเป็นว่าฉันใช้ windumb มานานเกินไปแล้ว

ก่อนอื่นฉันควร "โคลน" โฟลเดอร์กับคอมพิวเตอร์ของฉันโดยใช้

svn co --username USERNAME URL

เอาล่ะฉัน

cd ~/.../0.SVN
svn co --username USERNAME URL

และรับ

svn: OPTIONS from URL: 200 OK.

ต่อไปฉันสร้างโฟลเดอร์~/.../0.SVN/someFolderใส่ไฟล์บางไฟล์ลงในโฟลเดอร์นั้นและต้องการเพิ่มเพื่อให้สามารถคอมมิท

 svn add someFolder

และตอนนี้มันทำให้ฉัน

 "." is not a working copy

และฉันก็ไม่รู้ว่าเกิดอะไรขึ้นเพราะฉันทำตามคำแนะนำที่บอกไว้

คำตอบ:


6

สมมติว่า URL http://svn.example.com/somewhere/somerepoที่เป็น จากนั้นสร้างไดเรกทอรีย่อยของไดเรกทอรีปัจจุบันที่เรียกว่าsvn co http://svn.example.com/somewhere/somerepo somerepoนั่นคือที่ตั้งของเช็คเอาท์ svn

หากคุณต้องการเพิ่มไฟล์ลงในที่เก็บ svn คุณจะต้องวางมันไว้ในsomerepoไดเรกทอรีนั้น

cd somerepo
# create someFolder and put your new stuff there
svn add someFolder
svn commit

ใช้คำสั่งlsเพื่อดูไฟล์ที่มีอยู่ในไดเรกทอรี ใช้ls -Aเพื่อดูไฟล์ที่ซ่อนอยู่เช่น.svnไดเรกทอรีย่อย

ใช้svn infoเพื่อดูว่า svn คิดอย่างไรกับไดเรกทอรีปัจจุบัน


ทั้งหมดนี้เป็นการสมมติว่าการชำระเงินเสร็จสมบูรณ์ หากคุณเคยเห็นข้อความนี้จาก svn:

svn: OPTIONS from http://svn.example.com/somewhere/somerepo: 200 OK

(หรือรหัส HTTP อื่น ๆ : 403, 403 ฯลฯ ) นั่นเป็นวิธีการโค่นล้มของการบอกคุณว่ามันไม่เข้าใจการตอบสนองจากเซิร์ฟเวอร์ สาเหตุที่พบบ่อยคือ:

  • นี่เป็น URL ที่ไม่ถูกต้องเซิร์ฟเวอร์ที่ URL นั้นไม่ใช่เซิร์ฟเวอร์การโค่นล้ม แก้ไข: พิมพ์ URL ที่ถูกต้อง
  • คุณตรวจสอบสิทธิ์ไม่สำเร็จ โดยทั่วไปแล้วคุณจะได้รับสถานะ HTTP 403 ในกรณีนั้น แต่บางเซิร์ฟเวอร์ตอบกลับด้วย 404 หรือแม้กระทั่ง 200 (ซึ่งควรจะหมายถึงความสำเร็จ แต่เซิร์ฟเวอร์บางตัวก็ตลกอย่างนั้น)

เกิดอะไรขึ้นถ้าคำสั่ง svn co ไม่ได้สร้างไดเรกทอรีย่อย?
User1291

@ User1291 โอ้ฉันไม่ได้ให้ความสนใจเพียงพอ น่าเสียดายสำหรับคุณ“ ตัวเลือกจาก URL: 200 ตกลง” เป็นวิธีที่ svn บอกคุณว่ามีบางอย่างผิดปกติเมื่อแยกวิเคราะห์คำตอบจากเซิร์ฟเวอร์ โดยทั่วไปนี่หมายความว่าสิ่งที่อยู่ใน URL นี้ไม่ใช่เซิร์ฟเวอร์การโค่นล้มหรือคุณไม่ได้ตรวจสอบสิทธิ์ ลองใช้ URL เดียวกันในหน้าต่างที่ไม่ระบุชื่อในเบราว์เซอร์ของคุณและตรวจสอบว่าคุณรับรองความถูกต้องด้วยวิธีเดียวกัน
Gilles 'หยุดชั่วร้าย'

คุณหมายถึงบอกฉันว่า "ตกลง" จริงๆแล้วหมายถึง "มีบางอย่างผิดปกติ" ไม่ว่าคนงี่เง่าที่เขียนรหัสข้อผิดพลาดเหล่านี้ควรจะตบอย่างหนัก อย่างไรก็ตามฉันตรวจสอบไดเรกทอรีในเบราว์เซอร์และหลังจากบ่นเกี่ยวกับความห่างของมันมันกลายเป็นว่าฉันได้รับเก่า : P ขอบคุณสำหรับความช่วยเหลือ
User1291

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