การใช้ TortoiseSVN ผ่านทางบรรทัดคำสั่ง


253

ฉันต้องการใช้ตัวเลือก SVN ของ commandline ฉันใช้ TortoiseSVN และฉันเรียกใช้หลายคำสั่งและฉันได้รับข้อผิดพลาดต่อไปนี้

'svn' ไม่รู้จักว่าเป็นคำสั่งภายในหรือภายนอก

ฉันใช้คำสั่ง

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH

ฉันคิดว่าฉันควรเพิ่มตัวแปรสภาพแวดล้อมบางอย่างหรืออย่างอื่น

ฉันควรทำอย่างไรหรือไม่สามารถใช้ TortoiseSVN ได้จากบรรทัดคำสั่ง


4
ผมขอแนะนำให้โค่นล้ม slik และหลังจากติดตั้งเพียงเพิ่มไดเรกทอรีถังขยะไปยังเส้นทางของคุณ -bhups
bhups

3
TortoiseSVN น่าจะเป็นไคลเอนต์ Windows GUI SVN ที่มีการใช้งานมากที่สุดและมีเอกสารอย่างละเอียด ฉันจะไม่เรียกมันว่าหลอกลูกค้าเพราะมันไม่ใช่การใช้บรรทัดคำสั่งอ้างอิง
Joey

18
เวอร์ชันล่าสุดของ TortoiseSVN (1.7.1 ของการเขียนนี้) มีตัวเลือกระหว่างการติดตั้งสำหรับเครื่องมือบรรทัดคำสั่ง ไม่ได้เปิดไว้ตามค่าเริ่มต้น แต่จะติดตั้งไฟล์บรรทัดคำสั่งมาตรฐานสำหรับ svn ดังนั้นไม่จำเป็นต้องติดตั้งแพ็คเกจการโค่นล้มแยกต่างหากเช่น Silk อีกต่อไป
ve

1
เป็นเพียง FYI ฉบับย่อหากใช้ Slik svn และคุณได้รับข้อผิดพลาด: "'svn' ไม่เป็นที่รู้จัก ... " คุณอาจต้องเปิดกล่องโต้ตอบ System Properties แม้ว่า Slik จะเพิ่มรายการที่ถูกต้องให้กับตัวแปร Path ของคุณคุณอาจต้องคลิกแก้ไขและ 'ตกลง' (แม้ว่าคุณจะไม่ได้ทำการเปลี่ยนแปลงใด ๆ ) เพื่อเปิดใช้งานตัวแปร อย่างน้อยนั่นก็เป็นประสบการณ์ของฉันที่ใช้ Windows Vista หลังจากที่ฉันทำเช่นนั้น Windows ยอมรับการเปลี่ยนแปลงในเส้นทางและคำสั่ง svn ของฉันเป็นที่รู้จัก
Jesse

1
ฉันได้เพิ่มเส้นทาง SlikSvn / bin กับตัวแปรสภาพแวดล้อม แต่ยังคงได้รับข้อผิดพลาดนี้ ...
Lion789

คำตอบ:


463

โดยค่าเริ่มต้น TortoiseSVN จะมี GUI (ส่วนต่อประสานกราฟิกกับผู้ใช้) เชื่อมโยงอยู่เสมอ แต่ในตัวติดตั้ง (ของรุ่น 1.7 ขึ้นไป) คุณสามารถเลือกตัวเลือก "เครื่องมือไคลเอนต์บรรทัดคำสั่ง" เพื่อให้คุณสามารถเรียกคำสั่ง svn (เช่น svn commit และอัพเดต svn) จากบรรทัดคำสั่ง

ต่อไปนี้เป็นภาพหน้าจอของตัวเลือก "เครื่องมือไคลเอนต์บรรทัดคำสั่ง" ในตัวติดตั้งคุณต้องแน่ใจว่าคุณได้เลือก:

วิธีการติดตั้ง-TortoiseSVN-CommandLineTools


52
โดยส่วนตัวแล้วฉันชอบคำตอบนี้มากกว่าคำตอบที่ยอมรับ: ไม่มีการติดตั้งสำรองและการเข้าถึงบรรทัดคำสั่ง SVN มาตรฐานอย่างสมบูรณ์
Haroldo_OK

2
มีประโยชน์เพิ่มเติมที่เวอร์ชันเครื่องมือบรรทัดคำสั่งยังคงซิงค์กับเวอร์ชัน TortoiseSVN
the_mandrill

4
... ซึ่งหมายถึงรายละเอียดเพิ่มเติม: รูปแบบไดเรกทอรีการทำงานของการโค่นล้มเปลี่ยนไปสองสามครั้งเช่นในรุ่น 1.7 และ 1.8 1.7 ลูกค้าจะไม่ใช้ไดเรกทอรีทำงานที่เก่ากว่าเว้นแต่มันจะเป็นsvn upgraded; หลังจากนั้นไคลเอ็นต์ 1.6 จะไม่สามารถใช้งานได้อีกต่อไป
โทเบียส

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

5
หากคุณติดตั้ง Tortoise ไว้แล้วและไม่มีไฟล์. msiคุณสามารถไปที่แผงควบคุม -> โปรแกรมและคุณสมบัติแล้วเลือก TortoiseSVN -> Modify
zvi

131

TortoiseSVN มีอินเตอร์เฟสบรรทัดคำสั่งที่สามารถใช้สำหรับระบบอัตโนมัติ TortoiseSVN GUI และมันแตกต่างจากการโค่นล้มปกติ

คุณสามารถค้นหาข้อมูลเกี่ยวกับตัวเลือกบรรทัดคำสั่งของ TortoiseSVN ในเอกสาร: ภาคผนวกงอัตโนมัติ TortoiseSVN TortoiseProc.exeโปรแกรมหลักในการทำงานกับที่นี่ก็คือ

แต่ข้อความที่ด้านบนมีแล้วพูดว่า:

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

ตัวเลือกอื่นอาจเป็นได้ว่าคุณติดตั้งไบนารีการโค่นล้ม Slik SVNเป็นรุ่นที่ดี (และไม่จำเป็นต้องมีการลงทะเบียนเช่น Collabnet) TortoiseSVN เวอร์ชันล่าสุดยังรวมถึงไคลเอ็นต์บรรทัดคำสั่งหากคุณเลือกที่จะติดตั้ง


2
เพิ่มไปที่นี้เพื่อให้แน่ใจว่าเต่าอยู่บนเส้นทางของคุณ มิฉะนั้นจะไม่มีอะไรทำงาน
โทมัส Owens

2
จากคำตอบนี้ฉันคิดว่าทางออกที่ดีที่สุดคือการติดตั้งไคลเอนต์บรรทัดคำสั่ง SVN จริงแทนที่จะเรียนรู้อินเตอร์เฟสบรรทัดคำสั่งที่สอง แต่ฉันก็ไม่รู้จะทำยังไง
jprete

2
โทมัส: โดยค่าเริ่มต้นทั้ง TortoiseSVN และ Slik SVN จะเปลี่ยนเส้นทางตามนั้น
Joey

23
โซลูชันนี้ล้าสมัยตัวติดตั้ง TortosieSVN ตอนนี้มีเครื่องมือบรรทัดคำสั่ง
Josh

1
คุณอาจต้องรีบู๊ตหลังการติดตั้งเพื่อให้คุณได้รับการเปลี่ยนแปลงตัวแปรสภาพแวดล้อม PATH ของคุณ
Oliver Bock

91

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

  1. ไปที่แผงควบคุมของ Windows → โปรแกรมและคุณสมบัติ (Windows 7+)
  2. ค้นหา TortoiseSVN และคลิกที่มัน
  3. เลือก "เปลี่ยน" จากตัวเลือกที่มี
  4. อ้างถึงภาพนี้สำหรับขั้นตอนเพิ่มเติม

    TortoiseSVN เปิดใช้งานบรรทัดคำสั่ง

  5. หลังจากเสร็จสิ้นเครื่องมือไคลเอนต์บรรทัดคำสั่งให้เปิดพรอมต์คำสั่งและพิมพ์svn helpเพื่อตรวจสอบการติดตั้งสำเร็จ


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

Win10 คือ "แอปและคุณลักษณะ" .. แต่อาจเห็นได้ชัดว่า
บาง

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

ใช่ฉันสนใจที่จะแบ่งปันความรู้และไม่อ้างสิทธิ์ในการทำงานและสั่งสอนของใครบางคน นอกจากนี้ฉันไม่ได้เป็นผู้ติดตามคนตาบอดที่มีพนักงานสูง
Devendra Vaja

ในขณะที่เราเปิดใช้งานบรรทัดคำสั่งมันจะขอเส้นทางของแอปพลิเคชั่นที่จำเป็นในการดาวน์โหลด เส้นทาง: osdn.net/projects/tortoisesvn/storage/1.12.0/Application/ …
Amit Joshi

27

หากต้องการใช้การสนับสนุนคำสั่งคุณควรทำตามขั้นตอนนี้:

  1. กำหนดเส้นทางในตัวแปรสภาพแวดล้อม:

    • เปิด ' คุณสมบัติของระบบ ';
    • บนแท็บ ' ขั้นสูง ' คลิกที่ปุ่ม ' ตัวแปรสภาพแวดล้อม '
    • ในส่วน ' ตัวแปรระบบ ' เลือกตัวเลือก ' เส้นทาง ' และคลิก ' แก้ไข '
    • ผนวกค่าตัวแปรด้วยพา ธ ไปยังไฟล์TortoiseProc.exeตัวอย่างเช่น:

      C: \ Program Files \ TortoiseSVN \ bin

  2. เนื่องจากคุณได้ลงทะเบียนTortoiseProcคุณสามารถใช้มันในการตาม TortoiseSVN เอกสาร

    ตัวอย่าง:

    TortoiseProc.exe / คำสั่ง: commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt "/ logmsg:" ข้อความบันทึกการทดสอบ "/ closeonend: 0

    TortoiseProc.exe / คำสั่ง: update / path: "c: \ svn_wc \" / closeonend: 0

    TortoiseProc.exe / คำสั่ง: log /path:"c:\svn_wc\file1.txt "/ startrev: 50 / endrev: 60 / ปิดท้าย: 0

PS หากต้องการใช้ชื่อที่จำง่ายเช่น 'svn' แทน 'TortoiseProc' ให้วางไฟล์ 'svn.bat' ในไดเรกทอรีของ 'TortoiseProc.exe' มีตัวอย่างของ svn.bat:

TortoiseProc.exe %1 %2 %3

ปัญหาหลักไม่ได้ชื่อของปฏิบัติการ (และวิธีการค้นหา) แต่ไวยากรณ์ commandline แตกต่างกันโดยสิ้นเชิง; ดูคำตอบของฉันซึ่งบอกเกี่ยวกับtsvnโปรแกรมของฉัน(ซึ่งไม่มีอยู่ในเวลาที่คำตอบของ Warlock) Windows เวอร์ชันล่าสุดอนุญาตให้ระบุอาร์กิวเมนต์ทั้งหมดเป็น%*(แทนที่จะเป็น%1 %2 %3... )
โทเบียส

10

หากต้องการเปิดใช้งาน svn ให้รันโปรแกรมติดตั้ง TortoiseSVN อีกครั้งเลือก "แก้ไข" (อนุญาตให้ผู้ใช้เปลี่ยนวิธีการติดตั้งคุณลักษณะ) และติดตั้ง "เครื่องมือไคลเอนต์บรรทัดคำสั่ง"


สำหรับบรรดาของคุณที่สงสัยว่าตัวเลือก "แก้ไข" คืออะไร - ลองติดตั้ง Tortoise SVN อีกครั้ง
maya

@maya หากคุณติดตั้งไว้แล้วอย่าพยายามถอนการติดตั้งแล้วติดตั้งใหม่ ไปControl Panel\Programs\Programs and Featuresค้นหาเต่า SVN และคลิกแล้วคลิกที่Change Modify
Lucky

9

ทางออกของฉันคือการใช้DOSKEYเพื่อตั้งค่านามแฝงบางอย่างสำหรับคำสั่งที่ฉันใช้มากที่สุด:

DOSKEY svc=TortoiseProc.exe /command:commit /path:.
DOSKEY svu=TortoiseProc.exe /command:update /path:.
DOSKEY svl=TortoiseProc.exe /command:log /path:.
DOSKEY svd=TortoiseProc.exe /command:diff /path:$*

Google "doskey persist" สำหรับเคล็ดลับเกี่ยวกับวิธีตั้งค่าไฟล์. cmd ที่ทำงานทุกครั้งที่คุณเปิดพรอมต์คำสั่งเช่นไฟล์. rc ใน Unix


ที่ดี! นี่เป็นคำตอบเดียวที่เรียก TortoiseSVN ซึ่งไม่ธรรมดาsvnจากบรรทัดคำสั่ง
Chimpanzee Warlike

4

คุณสามารถติดตั้งทั้งเครื่องมือ TortoiseSVN และเครื่องมือบรรทัดคำสั่ง Apache Subversion ฉันมักจะติดตั้งเครื่องมือ Apache SVN จากเว็บไซต์ดาวน์โหลด VisualSVN: https://www.visualsvn.com/downloads/

เมื่อติดตั้งแล้วให้วาง Subversion \ bin ในชุดเส้นทางของคุณ จากนั้นคุณจะสามารถใช้ TortoiseSVN เมื่อคุณต้องการใช้ GUI และคุณมีเครื่องมือบรรทัดคำสั่ง SVN ที่เหมาะสมที่จะใช้จากบรรทัดคำสั่ง


3

มีความสับสนที่ทำให้ผู้ใช้ TortoiseSVN จำนวนมากใช้เครื่องมือบรรทัดคำสั่งผิดเมื่อพวกเขากำลังมองหาsvn.exeไคลเอ็นต์บรรทัดคำสั่ง

ฉันควรทำอย่างไรหรือไม่สามารถใช้ TortoiseSVN ได้จากบรรทัดคำสั่ง

svn.exe

หากคุณต้องการเรียกใช้คำสั่งการโค่นล้มจากพรอมต์คำสั่งคุณควรเรียกใช้svn.exeไคลเอนต์บรรทัดคำสั่ง TortoiseSVN 1.6.x และเวอร์ชันที่เก่ากว่าไม่มีเครื่องมือบรรทัดคำสั่ง SVN แต่รุ่นที่ทันสมัยใช้

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

หากคุณมีเครื่องมือบรรทัดคำสั่ง SVN ติดตั้งอยู่ในระบบของคุณ แต่ยังคงได้รับข้อผิดพลาด'svn' is not recognized as an internal or external commandคุณควรตรวจสอบ%PATH%ตัวแปรสภาพแวดล้อม %PATH%จะต้องมีเส้นทางไปยัง SVN C:\Program Files (x86)\VisualSVN\binเช่นเครื่องมือไดเรกทอรี

TortoiseProc.exe

นอกเหนือจากsvn.exeนั้น TortoiseSVN ยังมาพร้อมกับTortoiseProc.exeสิ่งที่เรียกได้จาก command prompt ในกรณีส่วนใหญ่คุณไม่จำเป็นต้องใช้เครื่องมือนี้เนื่องจากควรใช้สำหรับ GUI อัตโนมัติเท่านั้น TortoiseProc.exeไม่ใช่การทดแทนสำหรับไคลเอนต์บรรทัดคำสั่ง SVN


2

ดังที่ Joey ชี้ให้เห็น TortoiseSVN มีไวยากรณ์ commandline ของมันเอง น่าเสียดายที่มันค่อนข้างน่าเกลียดถ้าคุณคุ้นเคยกับsvnคำสั่งและมันไม่สนใจไดเรกทอรีการทำงานปัจจุบันดังนั้นมันจึงไม่สามารถใช้งานได้ - ยกเว้นการเขียนสคริปต์

ฉันได้สร้างโปรแกรม Python เล็ก ๆ น้อย ๆ ( tsvn) ซึ่งเลียนแบบsvnไวยากรณ์บรรทัดคำสั่งให้ใกล้เคียงที่สุดและเรียก TortoiseSVN ตามนั้น ดังนั้นความแตกต่างระหว่างการเรียกเครื่องมือ commandline ปกติและการเรียก TortoiseSVN จะลดลงเป็นตัวอักษรตัวเล็ก ๆtที่จุดเริ่มต้น

tsvnโปรแกรมของฉันยังไม่สมบูรณ์ แต่มีประโยชน์อยู่แล้ว มันสามารถพบได้ในชีสเค้ก ( https://pypi.python.org/pypi/tsvn/ )


สำหรับผู้ที่ไม่คุ้นเคยกับ Python: คุณต้องการล่าม Python 2.x ล่าสุด หากคุณมีeasy_installหรือpip installเพียงแค่ระบุtsvn; มิฉะนั้นคุณสามารถดาวน์โหลดและแตก tarball และเรียกใช้setup.pyสคริปต์การติดตั้งที่มีอยู่ เนื่องจากมีการตีความคุณสามารถตรวจสอบได้อย่างละเอียด ;-)
Tobias

2

หลังจากผ่านไประยะหนึ่งฉันใช้วิธีแก้ปัญหานี้ ...

(ที่ไฟล์. bat)

SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"

start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%

2

การแก้ไขคำสั่ง SVN ของฉันคือการคัดลอกไฟล์. exe และ. dll จากไดเรกทอรี TortoiseSVN และวางลงในโฟลเดอร์ system32

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

C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout

การเพิ่ม bin ลงในพา ธ ควรทำให้มันทำงานได้โดยไม่ต้องทำซ้ำไฟล์ แต่มันก็ไม่ได้ผลสำหรับฉัน


วิธีการนี้ใช้ไม่ได้ผลยังคงแสดงให้เห็น'svn' is not recognized as an internal or external command
Suraj M

0

หลังจากเลือก "เครื่องมือบรรทัดคำสั่ง SVN" มันจะเป็นดังนี้:

ป้อนคำอธิบายภาพที่นี่


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