ชำระเงินหนึ่งไฟล์จากการโค่นล้ม


320

"เป็นไปไม่ได้ที่จะเช็คเอาต์ไฟล์เดียวระดับการชำระเงินที่ดีที่สุดที่คุณสามารถทำได้คือที่ระดับไดเรกทอรี"

ฉันจะแก้ไขปัญหานี้ได้อย่างไรเมื่อใช้การโค่นล้ม

เรามีโฟลเดอร์นี้ในการโค่นล้มที่เราเก็บภาพทั้งหมดของเรา ฉันแค่ต้องการตรวจสอบไฟล์เดียว (ภาพ) จากที่ โฟลเดอร์นี้ใหญ่มากและมีสิ่งอื่นอีกมากมายที่ฉันไม่ต้องการในตอนนี้


คุณสามารถทำได้ด้วยวิธีอื่น ล็อกอินเข้าสู่เซิร์ฟเวอร์ที่ใช้งานจริงและsvn upไปยังไดเรกทอรีท้องถิ่นของคุณบนคอมพิวเตอร์ของคุณ
Neocortex

คำตอบ:


403

คำตอบง่ายๆคือคุณsvn exportไฟล์แทนการตรวจสอบออก

แต่นั่นอาจไม่ใช่สิ่งที่คุณต้องการ คุณอาจต้องการทำงานกับไฟล์และตรวจสอบอีกครั้งโดยไม่ต้องดาวน์โหลด GB ของขยะที่คุณไม่ต้องการ

หากคุณมีการโค่นล้ม 1.5+ ให้ทำการชำระเงินแบบเบาบาง:

svn checkout <url_of_big_dir> <target> --depth empty
cd <target>
svn up <file_you_want>

สำหรับ SVN เวอร์ชั่นเก่ากว่าคุณอาจได้รับประโยชน์จากสิ่งต่อไปนี้:

  • ชำระเงินไดเรกทอรีโดยใช้การแก้ไขในอดีตอันไกลโพ้นเมื่อมันเต็มไปด้วยขยะน้อยกว่าที่คุณไม่ต้องการ
  • อัปเดตไฟล์ที่คุณต้องการเพื่อสร้างการแก้ไขแบบผสม สิ่งนี้ใช้ได้แม้ว่าไฟล์นั้นจะไม่มีอยู่ในการแก้ไขที่คุณเช็คเอาท์
  • กำไร!

ทางเลือกอื่น (ตัวอย่างเช่นหากไดเรกทอรีมีขยะมากเกินไปจากการแก้ไขที่สร้างขึ้น) คือการทำสำเนา URL-> URL ของไฟล์ที่คุณต้องการในที่ใหม่ในที่เก็บ (มีประสิทธิภาพนี่เป็นสาขาที่ใช้งานได้ ของไฟล์) ตรวจสอบไดเรกทอรีนั้นและทำการแก้ไขของคุณ

ฉันไม่แน่ใจว่าคุณสามารถรวมสำเนาที่แก้ไขแล้วของคุณกลับมาทั้งหมดในพื้นที่เก็บข้อมูลโดยไม่มีสำเนาทำงานของเป้าหมายหรือไม่ - ฉันไม่เคยต้องการ ถ้าเป็นเช่นนั้นทำเช่นนั้น

ถ้าไม่เช่นนั้นน่าเสียดายที่คุณอาจต้องหาคนอื่นที่มีทั้งไดเรกทอรีที่ตรวจสอบและให้พวกเขาทำ หรืออาจเป็นเวลาที่คุณทำการแก้ไขส่วนที่เหลือจะดาวน์โหลดเสร็จ ...


13
ทางออกที่ง่ายจริงๆคือการเข้าถึงที่เก็บด้วยเว็บเบราว์เซอร์
dolmen

11
@dolmen - สมมติว่าไม่จำเป็นต้องแก้ไขไฟล์บางที (และสมมติว่าเว็บอินเตอร์เฟสกำลังทำงานสำหรับที่เก็บนั้น) ฉันใช้ SVN บรรทัดคำสั่งดังนั้นสำหรับฉันมันใช้ง่ายsvn exportกว่าการใช้เว็บอินเตอร์เฟสถ้าฉันรู้ว่าฉันต้องการไฟล์อะไร ถามแล้วใช้ SVN svn exportดังนั้นผมคิดว่ามันขึ้นอยู่กับสิ่งที่ลูกค้าและไม่ว่าลูกค้าที่ทำให้มันง่ายต่อการใช้งาน ฉันพบว่าเว็บอินเทอร์เฟซสำหรับการท่องเว็บนั้นดีกว่าsvn ls:-)
Steve Jessop

2
SmartSVN Client จะล็อคแต่ละไฟล์ถ้า Subversion Server ของคุณรองรับ และมีตะขอที่ต้องมีการตรวจสอบลึกกว่าปกติก่อนที่จะสามารถตรวจสอบไฟล์ไบนารี / ไฟล์ที่เรียกใช้งานได้จริง ๆ แล้วมันไม่ได้ทำให้รู้สึกว่ามีคนสองคนที่ปรับเปลี่ยนไบนารีแบบปรับได้และรวมการเปลี่ยนแปลงเหล่านั้นเข้าด้วยกัน สิ่งเหล่านี้อาจเป็นคุณสมบัติใหม่ที่ไม่สามารถใช้ได้เมื่อถามคำถามนี้
TamusJRoyce

@Tamus: "มันไม่สมเหตุสมผล" แต่ในกรณีที่ฉันอธิบายว่าการผสานเป็นเพียงการทำให้เวอร์ชันใหม่กลับสู่ตำแหน่งเดิม ไม่คาดว่าจะมีการแก้ไขไฟล์ไบนารีในเป้าหมายของการรวม ดังนั้นตัวไฟล์เองจึงไม่ต้องการ "การผสาน" นอกเหนือจากการแทนที่เวอร์ชั่นเก่าด้วยไฟล์ใหม่มันเป็นสิ่งที่ SVN เรียกมันและมันจะบันทึกว่าการเปลี่ยนแปลงนั้นมาจากที่ใดเพื่ออ้างอิงในอนาคต คุณถูกต้องสามารถบังคับใช้การหลีกเลี่ยงความขัดแย้งด้วยการล็อกไฟล์ในช่วงเวลานั้น
Steve Jessop

1
TortoiseSVN สามารถตรวจสอบแต่ละไฟล์ ฉันเชื่อว่ามันทำสิ่งเดียวกันเบื้องหลังเพื่อบรรลุเป้าหมายนั้น
Mike Starov

109

ลองแทนsvn export svn checkoutใช้งานได้กับไฟล์เดี่ยว

เหตุผลของข้อ จำกัด คือcheckoutสร้างสำเนาที่ใช้งานได้ซึ่งประกอบด้วยข้อมูลเมตาเกี่ยวกับที่เก็บข้อมูลการตรวจทานแก้ไขแอตทริบิวต์ ฯลฯ ข้อมูลเมตานั้นถูกเก็บไว้ในไดเรกทอรีย่อยชื่อ '.svn' และไฟล์เดียวไม่มีไดเรกทอรีย่อย


2
Caveat: รุ่นเก่ามากsvnจะไม่ส่งออกไฟล์เดียว
Mladen Jablanović

5
นี่เป็นวิธีการที่เหนือกว่าหากคุณต้องการคว้าสคริปต์รุ่นล่าสุดเป็นส่วนหนึ่งของการปรับใช้หรืออะไรบางอย่าง
william.berg

2
นั่นเป็นข้อแม้ยืดแม้กระทั่งกลับมาในปี 2011 svn cat $url_to_file_in_repo > $local_file_nameแต่อย่างยิ่งรุ่นเก่าสามารถทำได้
cprn

53

ใช้หรือsvn catsvn export

เพื่อที่คุณไม่จำเป็นต้องดึงข้อมูลไดเรกทอรีทำงาน แต่คุณจะไม่สามารถยอมรับการเปลี่ยนแปลงใด ๆ ที่คุณทำ หากคุณต้องการทำการเปลี่ยนแปลงและส่งมอบคุณจำเป็นต้องมีไดเรกทอรีที่ใช้งานได้ แต่คุณไม่จำเป็นต้องดึงข้อมูลทั้งหมด ชำระเงินการแก้ไขที่ไดเรกทอรียัง / เกือบว่างแล้วใช้ 'svn cat' เพื่อแยกไฟล์จาก HEAD


svn cat svn://.../my_file.txtเป็นสิ่งที่ฉันกำลังมองหา ฉันทำงานในที่เก็บข้อมูลsvn://เดียว (ไม่http://) และดูเหมือนว่าอินเทอร์เฟซ websvn ใหม่ล่าสุดไม่ได้ให้การดาวน์โหลดไฟล์ raw (หรือเรากำหนดค่าผิดพลาดหรือตาบอด) ทำสิ่งนี้ได้ง่ายกว่าcheckout+ upเพียงดาวน์โหลดไฟล์
ribamar

12

หากคุณต้องการดู readme.txt ในที่เก็บของคุณโดยไม่ต้องตรวจสอบ:

$ svn cat http://svn.red-bean.com/repos/test/readme.txt
นี่คือไฟล์ README คุณควรอ่านสิ่งนี้

เคล็ดลับ: หากสำเนาการทำงานของคุณล้าสมัย (หรือคุณมีการดัดแปลงในเครื่อง) และคุณต้องการเห็นการแก้ไข HEAD ของไฟล์ในสำเนาการทำงานของคุณ svn cat จะดึงข้อมูลการแก้ไข HEAD โดยอัตโนมัติเมื่อคุณให้พา ธ :

$ cat foo.c
ไฟล์นี้เป็นสำเนาการทำงานในเครื่องของฉันและมีการเปลี่ยนแปลงที่ฉันทำ

$ svn cat foo.c
การแก้ไขล่าสุดสดจากที่เก็บ!

แหล่ง


คุณยังสามารถใช้ไคลเอนต์ HTTP ใด ๆ โดยตรง เว็บเบราเซอร์ของคุณหรือเครื่องมือบรรทัดคำสั่งเช่นหรือcurl wget
dolmen

9

วิธีแก้ปัญหาที่เทียบเท่า TortoiseSVN ของคำตอบที่ยอมรับ (ฉันได้เขียนสิ่งนี้ในเอกสารภายในสำหรับ บริษัท ของฉันเนื่องจากเราเพิ่งใช้ SVN) ดังต่อไปนี้ ฉันคิดว่าการแบ่งปันที่นี่จะมีประโยชน์เช่นกัน:

การเช็กเอาต์ไฟล์เดียว: การโค่นล้มไม่รองรับการชำระเงินของไฟล์เดียว แต่รองรับการชำระเงินของโครงสร้างไดเรกทอรีเท่านั้น (การอ้างอิง: http://subversion.tigris.org/faq.html#single-file-checkout ) นี่เป็นเพราะด้วยทุกไดเร็กทอรีที่เช็กเอาต์เป็นสำเนาการทำงานข้อมูลเมตาเกี่ยวกับการแก้ไข / การแก้ไขไฟล์จะถูกเก็บเป็นโฟลเดอร์ที่ซ่อนอยู่ภายใน (.svn / _svn) ขณะนี้ยังไม่รองรับ (v1.6) สำหรับไฟล์เดียว

กลยุทธ์สำรองที่แนะนำ: คุณจะต้องทำส่วนไดเรกทอรีการชำระเงินเพียงครั้งเดียวหลังจากนั้นคุณสามารถไปและชำระเงินไฟล์เดียวของคุณได้โดยตรง ทำการชำระเงินแบบกระจายของโฟลเดอร์พาเรนต์และโครงสร้างไดเรกทอรี การชำระเงินแบบกระจัดกระจายเป็นการตรวจสอบเฉพาะโครงสร้างโฟลเดอร์โดยไม่ต้องเติมไฟล์เนื้อหา ดังนั้นคุณชำระเงินเฉพาะโครงสร้างไดเรกทอรีและไม่จำเป็นต้องชำระเงินไฟล์ทั้งหมดตามที่เป็นข้อกังวล การอ้างอิง: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-checkout.html

ขั้นตอนที่ 1 : ไปยังเบราว์เซอร์ที่เก็บข้อมูล

ขั้นตอนที่ 2 : คลิกขวาที่โฟลเดอร์พาเรนต์ภายในที่เก็บซึ่งมีไฟล์ทั้งหมดที่คุณต้องการใช้งานและเลือกชำระเงิน

ขั้นตอนที่ 3 : ภายในหน้าต่างป๊อปอัพใหม่ตรวจสอบให้แน่ใจว่าไดเรกทอรีชำระเงินชี้ไปยังตำแหน่งที่ถูกต้องบนพีซีของคุณ นอกจากนี้ยังจะมีเมนูแบบเลื่อนลงที่ระบุว่า เลือก“ รายการนี้เท่านั้น” หรือ“ เด็ก ๆ ทันทีรวมถึงโฟลเดอร์” ขึ้นอยู่กับความต้องการของคุณ แนะนำให้ใช้ตัวเลือกที่สองหากคุณต้องการทำงานกับโฟลเดอร์ที่ซ้อนกันคุณสามารถดำเนินการในครั้งถัดไปได้โดยตรงไม่เช่นนั้นคุณจะต้องทำตามขั้นตอนทั้งหมดนี้อีกครั้งสำหรับโฟลเดอร์ที่ซ้อนกัน

ขั้นตอนที่ 4 : ตอนนี้โฟลเดอร์หลักควรจะพร้อมใช้งานภายในโฟลเดอร์ที่คุณเลือกไว้ในพื้นที่และขณะนี้กำลังถูกตรวจสอบด้วย SVN (โฟลเดอร์ที่ซ่อนอยู่“ .svn” หรือ“ _svn” ควรจะปรากฏขึ้น) ภายในพื้นที่เก็บข้อมูลตอนนี้คลิกขวาที่ไฟล์เดียวที่คุณต้องการเช็คเอาต์โดยลำพังและเลือกตัวเลือก“ ปรับปรุงรายการเพื่อแก้ไข” ตอนนี้ไฟล์เดียวสามารถทำงานได้และตรวจสอบกลับเข้าไปในพื้นที่เก็บข้อมูล

ฉันหวังว่านี่จะช่วยได้.


8

คุณสามารถทำได้สองขั้นตอน:

  1. ชำระเงินที่เก็บ SVN ที่ว่างเปล่าที่มีข้อมูลเมตาเท่านั้น:

    $ cd /tmp
    
    $ svn co --depth empty http://svn.your.company.ca/training/trunk/sql
    
  2. รันsvn upเพื่ออัพเดตไฟล์ที่ระบุ:

    $ svn up http://svn.your.company.ca/training/trunk/sql/showSID.sql
    

6

การอัปเดตในกรณีที่สิ่งที่คุณต้องการจริง ๆ สามารถครอบคลุมโดยมีไฟล์รวมอยู่ในการชำระเงินของโฟลเดอร์อื่น

ตั้งแต่ SVN 1.6 คุณสามารถสร้างไฟล์ภายนอกซึ่งเป็นลิงค์ svn ชนิดหนึ่ง หมายความว่าคุณสามารถมีโฟลเดอร์รุ่นอื่นที่มีไฟล์เดียว การยืนยันการเปลี่ยนแปลงไฟล์ในการชำระเงินของโฟลเดอร์นี้ก็เป็นไปได้เช่นกัน

มันง่ายมากชำระเงินโฟลเดอร์ที่คุณต้องการรวมไฟล์และเพียงเพิ่มคุณสมบัติให้กับโฟลเดอร์

svn propedit svn:externals .

มีเนื้อหาเช่นนี้:

file.txt /repos/path/to/file.txt

หลังจากที่คุณยอมรับสิ่งนี้ไฟล์จะปรากฏขึ้นในอนาคตการตรวจสอบโฟลเดอร์ โดยทั่วไปใช้งานได้ แต่มีข้อ จำกัด บางอย่างตามที่อธิบายไว้ในเอกสารที่เชื่อมโยงข้างต้น



4
cd C:\path\dir
svn checkout https://server/path/to/trunk/dir/dir/parent_dir--depth empty
cd C:\path\dir\parent_dir
svn update filename.log

(แก้ไขชื่อไฟล์บันทึก)

svn commit -m "this is a comment."

4

คำตอบของ Steve Jessopไม่ได้ผลสำหรับฉัน ฉันอ่านไฟล์ช่วยเหลือสำหรับ SVN และถ้าคุณเพิ่งมีภาพคุณอาจไม่ต้องการเช็คอินอีกเว้นแต่ว่าคุณกำลังทำ Photoshop อยู่ดังนั้นการส่งออกจึงเป็นคำสั่งที่ดีกว่าการชำระเงินเนื่องจากไม่มีการเปลี่ยนแปลง (แต่ก็เล็กน้อย)

และ - ความลึก ARG ไม่ควรว่างเปล่าแต่ไฟล์ที่จะรับไฟล์ในไดเรกทอรีทันที ดังนั้นคุณจะได้รับฟิลด์ทั้งหมดไม่ใช่แค่ฟิลด์เดียว แต่ช่องว่างจะไม่ส่งคืนสิ่งใดจากที่เก็บ

 svn co --depth files <source> <local dest>

หรือ

svn export --depth files <source> <local dest>

สำหรับคำตอบอื่น ๆcatช่วยให้คุณอ่านเนื้อหาที่ดีสำหรับข้อความเท่านั้นไม่ใช่ภาพของทุกสิ่ง


1
ประเด็น--depth emptyก็คือไม่ควรเช็กเอาต์ไฟล์อื่นและคุณสามารถรับไฟล์เพียงไฟล์เดียวsvn up <source/file>ได้ ด้วยsvn exportไม่จำเป็นต้องทำสิ่งนี้เพียงแค่ระบุไฟล์
Kevin Vermeer

@reemrevnivek - คุณพูดถูก ดีคำถามที่ถามเพียงไฟล์เดียวนี้จะทำงานโดยไม่ต้องตรวจสอบจากไฟล์โครงสร้างไดเรกทอรีทั้งหมดแม้ว่าจะว่างเปล่า
Vass

4

ฉันแค่เรียกดูแล้วส่งออกไฟล์เดียว หากคุณมีการเข้าถึง HTTP เพียงใช้เว็บเบราว์เซอร์เพื่อค้นหาไฟล์และคว้ามัน

หากคุณต้องการนำกลับมาใช้ใหม่หลังจากแก้ไขมันอาจจะน่าเบื่อกว่าเดิมเล็กน้อย แต่ฉันแน่ใจว่าอาจมีsvn importฟังก์ชั่น ...


3

ทำสิ่งนี้:

mkdir <your directory>/repos/test

svn cat http://svn.red-bean.com/repos/test/readme.txt > <your directory>/repos/test/readme.txt

โดยพื้นฐานแล้วความคิดคือการสร้างไดเรกทอรีที่คุณต้องการคว้าไฟล์จาก SVN ใช้svn catคำสั่งและเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ที่มีชื่อเดียวกัน โดยค่าเริ่มต้นแมวจะถ่ายโอนข้อมูลใน stdio



2

ด้วยการโค่นล้ม 1.5 มันเป็นไปได้ที่จะตรวจสอบ (ทั้งหมด) ไฟล์ของไดเรกทอรีโดยไม่ต้องตรวจสอบไดเรกทอรีย่อยใด ๆ (ธง - ความลึกต่างๆ) ไม่ใช่สิ่งที่คุณขอ แต่เป็นรูปแบบ "น้อยกว่าทั้งหมด"


2

ด้วยการใช้เทคนิคการตรวจสอบแบบกระจัดกระจายคุณสามารถตรวจสอบไฟล์เฉพาะที่มีการเช็คเอาต์หรือมีอยู่แล้ว ... ด้วยเคล็ดลับง่ายๆ:

หลังจากเช็คเอาต์ที่เก็บข้อมูลระดับบนสุดของคุณโดยใช้ตัวเลือก 'ไอเท็มนี้เท่านั้น' ใน Windows explorer คุณต้องคลิกขวาที่ไฟล์ที่คุณต้องการอัปเดตก่อน เลือก Repo Browser ในเมนูบริบท; ค้นหาไฟล์นั้นอีกครั้งในเบราว์เซอร์ที่เก็บและคลิกขวา ตอนนี้คุณควรเห็น "รายการปรับปรุงเพื่อแก้ไข" ในเมนูบริบท

ฉันไม่แน่ใจว่ามันเป็นคุณสมบัติที่ไม่มีเอกสารหรือเป็นข้อบกพร่อง ฉันใช้เวลานานหลังเลิกงานเพื่อหาเคล็ดลับนี้ในที่สุด ฉันใช้TortoiseSVN 1.6.2


2

ฉันต้องการเช็คเอาต์ไฟล์เดียวไปยังไดเรกทอรีซึ่งไม่ได้เป็นส่วนหนึ่งของสำเนาการทำงาน

มารับไฟล์ที่ URL ต่อไปนี้: http: //subversion.repository.server/repository/module/directory/myfile

svn co  http://subversion.repository.server/repository/module/directory/myfile /**directoryb**

ดังนั้นผมจึงออกตรวจสอบไดเรกทอรีที่กำหนดที่มีไฟล์เป้าหมายที่ฉันต้องการที่จะได้รับไปยังไดเรกทอรีหุ่น (etcb พูดของ URL ที่ลงท้ายด้วย/etc)

จากนั้นฉันก็ลบไฟล์. svn / รายการออกจากไฟล์ทั้งหมดของไดเรกทอรีเป้าหมายที่ฉันไม่ต้องการให้เหลือเฉพาะไฟล์ที่ฉันต้องการ ในไฟล์. svn / รายการนี้คุณมีเร็กคอร์ดสำหรับแต่ละไฟล์ที่มีแอ็ตทริบิวต์ดังนั้นให้ปล่อยเฉพาะระเบียนที่เกี่ยวข้องกับไฟล์ที่คุณต้องการรับและบันทึก

ตอนนี้คุณต้องการเพียงแค่คัดลอกแล้ว '' .svn '' ไปยังไดเรกทอรีซึ่งจะเป็น "สำเนาการทำงาน" ใหม่ จากนั้นคุณเพียงแค่ต้อง:

cp .svn /directory
cd /directory
svn update myfile

ตอนนี้ไดเรกทอรีไดเรกทอรีอยู่ภายใต้การควบคุมเวอร์ชัน อย่าลืมลบไดเรกทอรีไดเรกทอรีซึ่งเป็นเพียง '' สำเนาการทำงานชั่วคราว ''


นี่ไม่ใช่การชำระเงินแบบเบาบางใช่หรือไม่ คุณไม่ควรแฮ็คไฟล์ในไดเรกทอรี. svn ด้วยตนเอง
Lasse V. Karlsen

บางที แต่มันแก้ไขปัญหาได้อย่างถูกต้อง ฉันคิดว่ามันเป็นวิธีการจัดการเวอร์ชันควรใช้งานได้อีกทั้งยังสามารถจัดการไฟล์เป็นส่วนขยายของไดเรกทอรีได้อีกด้วย ลองและบอกฉันว่ามีอะไรผิดปกติกับตรรกะ ฉันจะแนะนำให้ทีมพัฒนาการโค่นล้มเพื่อขยายยูทิลิตี้ svn ด้วยคุณสมบัตินี้มันจะแก้ปัญหาของผู้ชายทุกคนที่ตอบกระทู้นี้
hendergassler

2

เนื่องจากไม่มีคำตอบอื่นใดที่เหมาะกับฉันฉันจึงใช้แฮ็คนี้:

$ cd /yourfolder
svn co https://path-to-folder-which-has-your-files/ --depth files

สิ่งนี้จะสร้างโฟลเดอร์ในเครื่องใหม่ซึ่งมีเฉพาะไฟล์จากเส้นทางระยะไกล จากนั้นคุณสามารถทำลิงก์สัญลักษณ์ไปยังไฟล์ที่คุณต้องการได้ที่นี่


OP ถามถึงsvn coหนึ่งไฟล์เพื่อหลีกเลี่ยงไดเรกทอรีทั้งหมดที่เต็มไปด้วยไฟล์รูปภาพ นอกจากนี้การเพิ่ม symlink สามารถเพิ่มความซับซ้อนได้เท่านั้นการย้ายจากไดเรกทอรีชั่วคราวอาจใช้งานได้ แต่คุณยังต้องตรวจสอบไดเรกทอรีทั้งหมดของรูปภาพด้วยภาพเพียงภาพเดียว @ steve-jessop มีความคิดที่ถูกต้อง
Chris Marotta

2
@ChrisMarotta the OP ถามคำถาม 9 ปีที่แล้ว ไม่มีใครที่นี่จะตอบ OP นี่เป็นหัวข้อทั่วไปสำหรับปัญหาประเภทนี้และไม่มีส่วนเกี่ยวข้องกับ OP ดั้งเดิมอีกต่อไป ผู้คนมาที่นี่เพื่อค้นหาวิธีแก้ไขปัญหาของตนเอง และเมื่อพวกเขาอ่านมันบางคนจะอยู่ในสถานการณ์ของฉันซึ่งนี่เป็นทางออกที่เหมาะสมเท่านั้น นั่นเป็นเหตุผลที่ฉันโพสต์มัน
Lacho Tomov

1
ฉันมีความสุขกับคำตอบนี้มันช่วยฉันได้
Leos Literak

1

ปัญหานี้ครอบคลุมโดย:

http://subversion.tigris.org/issues/show_bug.cgi?id=823

มีสคริปต์ที่แนบมาซึ่งช่วยให้คุณตรวจสอบไฟล์เดียวจาก svn ทำการเปลี่ยนแปลงและส่งการเปลี่ยนแปลงกลับไปยังที่เก็บ แต่คุณไม่สามารถเรียกใช้ "svn up" เพื่อเช็คเอาต์ส่วนที่เหลือของไดเรกทอรี ผ่านการทดสอบกับ svn-1.3, 1.4 และ 1.6


1

หากคุณต้องการส่งออกไฟล์และคุณไม่จำเป็นต้องอัปเดตในภายหลังคุณสามารถทำได้โดยไม่ต้องใช้คำสั่ง SVN

ใช้TortoiseSVN Repository Browserเลือกไฟล์คลิกขวาจากนั้นเลือก " คัดลอก URL ไปยังคลิปบอร์ด " วาง URL นั้นไปยังเบราว์เซอร์ของคุณและหลังจากเข้าสู่ระบบคุณควรได้รับแจ้งให้ดาวน์โหลดไฟล์

วิธีนี้คุณสามารถเลือกการแก้ไขที่ต้องการและดาวน์โหลดไฟล์เวอร์ชันที่เก่ากว่า

โปรดทราบว่านี่ถูกต้องหากเซิร์ฟเวอร์ SVN ของคุณมีเว็บอินเตอร์เฟส

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