SVN- วิธีส่งไฟล์หลายไฟล์ในช็อตเดียว


106

ฉันพยายามส่งไฟล์หลายไฟล์ในไดเร็กทอรีต่างๆในช็อตเดียวดังต่อไปนี้

svn commit –m”log msg” mydir/dir1/file1.c mydir/dir2/myfile1.h mydir/dir3/myfile3.c etc etc

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

มีตัวเลือกใดบ้างที่ฉันสามารถใส่ไฟล์ทั้งหมดในไฟล์ข้อความและให้เป็นอาร์กิวเมนต์เพื่อ svn คอมมิตได้หรือไม่


8
@Thi - ผู้ที่ไม่ใช้ GUI ในการโค่นล้มคือพวกมาโซคิสต์ รับ Tortoise SVN หรือเทียบเท่ากับ Linux
tpow

1
หากมีข้อ จำกัด เกี่ยวกับความยาวบัฟเฟอร์ความยาวของบัฟเฟอร์จะไม่อยู่ใน SVN ซึ่งจะอยู่ในเชลล์ที่คุณใช้
Colin Fine

20
@cinquTimo: คุณอาจต้องการใช้ GUI สำหรับทุกสิ่ง คนอื่นไม่ทำ
Colin Fine

@ โคลินฉันคิดอย่างนั้นวิธีเพิ่มความยาวบัฟเฟอร์เชลล์ในกรณีนั้น
ธี

3
"ผู้ที่ไม่ใช้ GUI ในการโค่นล้มคือพวกมาโซคิสต์" - มาโซคิสม์คือการใช้การโค่นล้ม แต่พวกเราบางคนไม่มีทางเลือก
Daniel

คำตอบ:


158

คุณสามารถใช้รายการการเปลี่ยนแปลงsvnเพื่อติดตามชุดไฟล์ที่คุณต้องการรวมเข้าด้วยกัน

หน้าที่เชื่อมโยงมีรายละเอียดมากมาย แต่นี่คือตัวอย่างบทสรุปสำหรับผู้บริหาร:

$ svn changelist my-changelist mydir/dir1/file1.c mydir/dir2/myfile1.h
$ svn changelist my-changelist mydir/dir3/myfile3.c etc.
... (add all the files you want to commit together at your own rate)
$ svn commit -m"log msg" --changelist my-changelist

30

คุณสามารถใช้--targets ARGตัวเลือกโดยที่ ARG คือชื่อของไฟล์ข้อความที่มีเป้าหมายสำหรับการคอมมิต

svn ci --targets myfiles.txt -m "another commit"

ทำงานให้ฉันในคำสั่งทุบตีนี้:find . -name \*my.mask | xargs svn ci -m"message" --targets -
ASten

28

ฉันไม่มีปัญหาในการส่งไฟล์บางไฟล์เช่นนี้:

svn commit fileDir1/ fileDir2/ -m "updated!"

นี่ใช้ไม่ได้สำหรับฉัน รับข้อผิดพลาด "svn: '/' ไม่ใช่สำเนาที่ใช้งานได้" ที่นี่ฉันได้โพสต์คำถามของฉันคุณสามารถดู askubuntu.com/questions/442742/how-to-update-dir-on-svn-server/…

ใช่ทำงานได้ดี นอกจากนี้ภายในรูทเอกสารของฉันฉันสามารถยอมรับการเปลี่ยนแปลงทั้งหมดภายในโครงสร้างแผนผังการทำงานได้ด้วยสิ่งนี้:> svn คอมมิต -m 'ข้อความส่งต่อมวล'
กริกอเรียสพี

3

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


1
svnbook.red-bean.com/en/1.6/svn.advanced.changelists.html - คีย์เวิร์ด svn คือ "changelist" ซึ่งระบุไว้ในคำตอบแรกและโหวตมากที่สุด
John W. Clark
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.