คำถามติดแท็ก mercurial

Mercurial เป็น DVCS แบบโอเพนซอร์สที่รวดเร็ว (Distributed Version Control System)


13
rsync ไม่รวมตาม. gitignore & .hgignore & svn: ละเว้นเช่น --filter =: C
Rsync มีตัวเลือกที่ดี--cvs-excludeในการ“ ละเว้นไฟล์ในลักษณะเดียวกับ CVS” แต่ CVS ล้าสมัยไปหลายปีแล้ว มีวิธีใดบ้างที่จะทำให้มันยกเว้นไฟล์ที่ระบบควบคุมเวอร์ชันใหม่จะถูกละเลย (Git, Mercurial, Subversion) ตัวอย่างเช่นฉันมีโครงการ Maven จำนวนมากที่ตรวจสอบจาก GitHub โดยทั่วไปแล้วจะมี.gitignoreรายชื่ออย่างน้อยtargetไดเร็กทอรี Maven build เริ่มต้น (ซึ่งอาจอยู่ในระดับบนสุดหรือในโมดูลย่อย) เนื่องจากเนื้อหาของไดเรกทอรีเหล่านี้เป็นแบบใช้แล้วทิ้งทั้งหมดและอาจมีขนาดใหญ่กว่าซอร์สโค้ดได้มากฉันจึงขอยกเว้นเมื่อใช้ rsync ในการสำรองข้อมูล แน่นอนว่าฉันสามารถพูดได้อย่างชัดเจน--exclude=target/แต่จะตั้งใจระงับไดเรกทอรีที่ไม่เกี่ยวข้องซึ่งเพิ่งเกิดขึ้นเพื่อตั้งชื่อtargetและไม่ควรละเลย และฉันจะจัดหารายการที่สมบูรณ์ของเส้นทางที่แน่นอนสำหรับชื่อไฟล์และรูปแบบที่กล่าวถึงในที่ใด ๆ.gitignore, .hgignoreหรือsvn:ignoreสถานที่ให้บริการบนดิสก์ของฉัน แต่นี้จะเป็นรายการใหญ่ที่จะต้องได้รับการผลิตโดยการจัดเรียงของสคริปต์ เนื่องจาก rsync ไม่มีการรองรับการชำระเงิน VCS ในตัวนอกเหนือจาก CVS มีเคล็ดลับที่ดีในการป้อนรูปแบบการละเว้นหรือไม่? หรือระบบโทรกลับบางประเภทโดยสามารถถามสคริปต์ผู้ใช้ว่าควรรวมไฟล์ / ไดเร็กทอรีที่กำหนดไว้หรือไม่? อัปเดต : --filter=':- .gitignore'ตามที่แนะนำโดย LordJavac ดูเหมือนว่าจะทำงานได้ดีสำหรับ Git เช่นเดียว--filter=:Cกับ CVS อย่างน้อยก็ในตัวอย่างที่ฉันพบแม้ว่าจะไม่ชัดเจนว่าไวยากรณ์นั้นตรงกันทุกประการ --filter=':- .hgignore'ไม่ได้ผลดีสำหรับ …
114 git  svn  mercurial  rsync 

8
ฉันสามารถทำสควอชใน Mercurial ได้หรือไม่?
ฉันมีคู่กรรมที่ควรจะเป็นเพียงหนึ่งเดียว ถ้าฉันใช้คอมไพล์ฉันจะใช้: git rebase -i <some-commit-before> แล้วสควอชพวกเขา ฉันสามารถทำใน Mercurial ได้หรือไม่? ถ้าเป็นอย่างไร
110 mercurial 


1
ฉันจะอัปเดต repo ที่แยกโดยใช้ SourceTree ได้อย่างไร
ฉันใช้ SourceTree (กับ BitBucket) เพื่อจัดการรหัสของฉัน ฉันได้แยก repo และอัปเดต repo หลักแล้ว ฉันจะใช้ SourceTree เพื่อรวมโค้ดอัปสตรีมลงใน repo ที่แยกออกมาได้อย่างไร

4
จะดูประวัติการแก้ไขสำหรับไฟล์ Mercurial ได้อย่างไร?
สำหรับไฟล์ที่ระบุในที่เก็บ Mercurial คุณจะดูประวัติการแก้ไขได้อย่างไร และคุณจะแตกต่างการแก้ไขสองไฟล์ได้อย่างไร? การทำสิ่งนี้ด้วยเครื่องมือภาพ (เราใช้ ExamDiff เพื่อทำสิ่งที่แตกต่างอื่น ๆ ) ฉันจะบอกว่านี่เป็นฟังก์ชันการควบคุมแหล่งที่มาขั้นพื้นฐาน แต่ฉันคิดไม่ออกว่าจะใช้ Mercurial อย่างไร
106 mercurial  diff  revision 

5
TortoiseHg ใช้แพทช์
TortoiseHg ช่วยให้คุณสามารถส่งไฟล์แก้ไขการเปลี่ยนแปลงของคุณไปให้ใครทางอีเมลได้ แต่มันสนับสนุนการใช้โปรแกรมแก้ไขหรือไม่? ถ้าเป็นเช่นนั้นคุณจะใช้โปรแกรมแก้ไขโดยใช้ TortoiseHg ได้อย่างไร? วิธีแก้ปัญหา ขอบคุณ@ Will Bickfordสำหรับความช่วยเหลือของคุณ ฉันเพิ่งพบคุณลักษณะนี้อยู่ในรายการสิ่งที่ต้องทำบนเว็บไซต์ TortoiseHg

9
ฉันจะแปลงที่เก็บ git เป็น Mercurial ได้อย่างไร
ฉันได้พัฒนาแอปพลิเคชัน java โดยใช้ git เป็นที่เก็บซอร์สโค้ด ฉันต้องการแชร์โครงการกับนักพัฒนา java คนอื่น ๆ และดูเหมือนว่า hg จะถูกใช้มากที่สุด คำถามของฉันคือฉันจะแปลง git repository เป็น hg ได้อย่างไร ถ้าฉันลองใช้ googling "แปลง git เป็น hg" และทุก ๆ การค้นหาจะเกี่ยวกับการแปลงจาก hg เป็น git ฉันยังใช้TortoiseHg

5
“ ข้อผิดพลาด: root: รหัสสำหรับ hash md5 ไม่พบ” เมื่อใช้คำสั่งปรอทปรอทใด ๆ
เมื่อพยายามใช้hgคำสั่ง Mercurial บนคอนโซลฉันได้รับข้อผิดพลาดนี้ ฉันติดตั้ง Python โดยใช้ Homebrew และฉันใช้ Mac OS Catalina v. 10.15.1 การอ้างอิงใด ๆ จะได้รับการชื่นชม นี่คือข้อผิดพลาดที่ฉันได้รับ: hg commit --amend ERROR:root:code for hash md5 was not found. Traceback (most recent call last): File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor raise ValueError('unsupported hash …

2
การปิดสาขา Hg
เมื่อใช้hg branch FeatureBranchNameและเผยแพร่ไปยัง repo ส่วนกลางที่ใช้ร่วมกันระหว่างนักพัฒนาจะมีวิธีปิดในที่สุดFeatureBranchNameเมื่อการพัฒนาถูกรวมเข้ากับสาขาเริ่มต้นอย่างเป็นทางการหรือไม่? นอกจากนี้ยังจะมีประโยชน์หากFeatureBranchNameมองไม่เห็นเมื่อดำเนินการhg branchesคำสั่ง
103 mercurial 

9
ฉันจะกู้คืนไฟล์ที่ถูกลบใน Mercurial ได้อย่างไร (ถ้าเป็นเช่นนั้น)?
โดยบังเอิญด้วยการใช้ GUI ซึ่งต่างจาก CLI ฉันจึงลบทุกไฟล์ในโครงการ Mercurial ฉันกู้คืนด้วยการ Revert ตกลงและสูญเสียงานบางอย่างซึ่งเนื่องจากฉันมีไทม์แมชชีนฉันจึงสามารถกลับมาได้ แต่มีวิธียกเลิกการลบ / ยกเลิกการลบไฟล์ดังกล่าวหรือไม่? ลากผ่านคู่มือและ googled แต่ไม่เห็นอะไรเลย ปลั๊กอินใด ๆ ฉันอาจจะตอบคำถามของตัวเองที่นี่ แต่ไฟล์หายไปจากไดเร็กทอรีและไม่ได้อยู่ในถังขยะเพื่อกู้คืนดังนั้นฉันจึงถือว่าการลบไม่สามารถเพิกถอนได้? ps ฉันรู้ว่าhg forgetหรือhg remove -Afจะลบโดยไม่ลบออกจากไดเร็กทอรี แต่คำถามของฉันเกี่ยวข้องกับข้อผิดพลาดที่ฉันทำเมื่อเทียบกับการคิดที่ดีในการดำเนินการ
101 mercurial 

3
จะส่งออกประวัติการแก้ไขจาก mercurial หรือ git ไปยัง cvs ได้อย่างไร?
ฉันจะทำงานร่วมกับคนอื่น ๆ เกี่ยวกับรหัสจากโครงการที่ใช้ cvs เราต้องการใช้ vcs แบบกระจายเพื่อทำงานของเราและเมื่อเราทำเสร็จหรือบางครั้งเราต้องการผูกรหัสของเราและประวัติการแก้ไขทั้งหมดของเราไปยัง cvs เราไม่มีสิทธิ์เขียนไปยัง cvs repo ของโปรเจ็กต์ดังนั้นเราจึงไม่สามารถคอมมิตได้บ่อยนัก เราสามารถใช้เครื่องมืออะไรในการส่งออกประวัติการแก้ไขไปยัง cvs ขณะนี้เรากำลังคิดว่าจะใช้ git หรือ mercurial แต่เราสามารถใช้ vcs แบบกระจายอื่นได้หากสามารถทำให้การส่งออกง่ายขึ้น
100 git  mercurial  export  cvs  git-cvs 

4
ฉันจะเพิ่มที่เก็บระยะไกลใน Mercurial ได้อย่างไร
ฉันกำลังทำงานกับที่เก็บ Git ด้วยวิธีต่อไปนี้: ฉันมีที่เก็บข้อมูลหลักและรีโมทหลายตัวในเครื่องผลิตที่แตกต่างกัน ฉันกำลังส่งรหัสการผลิตไปยังรีโมทและเริ่มบริการใหม่เพื่อให้การเปลี่ยนแปลงมีผล ฉันกำลังจะเปลี่ยนจาก Git เป็น Mercurial และฉันอยากจะรู้ล่วงหน้าว่าฉันจะบรรลุอะไรแบบนั้นได้อย่างไร

7
Mercurial - ไฟล์ทั้งหมดที่เปลี่ยนแปลงในชุดการเปลี่ยนแปลง?
คุณจะตรวจสอบไฟล์ทั้งหมดที่เปลี่ยนแปลงในชุดการเปลี่ยนแปลงที่กำหนดได้อย่างไร? ฉันไม่ได้มองหาความแตกต่างในกรณีนี้เพียงแค่รายการเพิ่ม / ลบ / แก้ไข hg log -vprX ทำรายการความแตกต่าง แต่ฉันแค่ต้องการไฟล์

2
ผลของการใช้กราฟต์ใน Mercurial
เมื่อเร็ว ๆ นี้มีคำถามมากมายเกี่ยวกับการข้ามการเปลี่ยนแปลงเมื่อรักษาสาขาเผยแพร่ใน Mercurial ตัวอย่างเช่น: Mercurial: การเปลี่ยนแปลงเฉพาะสาขาจะกลับมาอีกหลังจากการรวมหุ่น เหตุใด Mercurial backouts ในสาขาเดียวจึงส่งผลกระทบต่อสาขาอื่น ๆ ตั้งแต่เปิดตัวใน 2.0 ฉันเคยสงสัยเกี่ยวกับการใช้graftเพื่อหลีกเลี่ยงปัญหานี้ ให้ต้นไม้แก้ไขดังนี้: A---B---C---D---E---F---G---H---I---J Eสมมติว่าเราจำเป็นต้องสร้างสาขาที่ปล่อยข้ามการเปลี่ยนแปลงชั่วร้าย hg update -r D hg graft "F::J" ให้เรา: A---B---C---D---E---F---G---H---I---J \ --F'--G'--H'--I'--J' Q1: เกิดอะไรขึ้นที่นี่? ฉันเข้าใจว่าtransplantจะมีการสร้างแพตช์จากF::Jนั้นจึงนำไปใช้Dแต่graftมีการกล่าวว่าจะใช้การผสาน 3 ทางแทนที่จะเป็นแพตช์ แล้ว ....... ทำงานอย่างไร? ทำไมถึงดีขึ้น? ให้บอกว่าตอนนี้ฉันแก้ไขEและรวมเข้ากับสาขาการเผยแพร่ของฉัน --E2----------------- / \ A---B---C---D---E---F---G---H---I---J---M1 \ \ --F'--G'--H'--I'--J'---------M2-- M1 เป็นการผสานแบบตรง ไม่มีอะไรพิเศษที่นั่น M2 …

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