กลับไปหน้าบทความ

อ่าน 3 นาที

ดาร์คส์

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

ดาร์คส์

ดาร์คส์
ผู้เขียนต้นฉบับเดวิด ราวน์ดี้
นักพัฒนากิโยม ฮอฟฟ์มันน์ และคณะ
ปล่อย3 มีนาคม พ.ศ. 2546 [ 1 ] ( 3 มีนาคม 2546 )
เวอร์ชันเสถียร
2.18.5 [ 2 ] แก้ไขข้อมูลนี้บนวิกิดาต้า / 9 มกราคม 2025 ( 9 มกราคม 2025 )
เขียนเป็นฮัสเคลล์
ระบบปฏิบัติการยูนิก , ลินุกซ์ , บีเอสดี , แอปเปิลแมคอาสตอรี่ , เอ็มเอสวินโดว์
พิมพ์การควบคุมเวอร์ชัน
ใบอนุญาตจีพีแอล-2.0 หรือเวอร์ชันที่ใหม่กว่า
เว็บไซต์darcs.net แก้ไขข้อมูลนี้บนวิกิดาต้า
ที่เก็บข้อมูล
  • hub.darcs.net/darcs/darcs-reviewed

Darcsเป็น ระบบ ควบคุมเวอร์ชันแบบกระจายที่สร้างโดยDavid Roundyคุณสมบัติหลัก ได้แก่ ความสามารถในการเลือกการเปลี่ยนแปลงที่จะยอมรับจากที่เก็บข้อมูลอื่น การโต้ตอบกับที่เก็บข้อมูลในเครื่อง (บนดิสก์) หรือที่เก็บข้อมูลระยะไกลผ่านSSH , HTTPหรืออีเมล และอินเทอร์เฟซแบบโต้ตอบที่ไม่ธรรมดา นักพัฒนายังเน้นการใช้เครื่องมือซอฟต์แวร์ขั้นสูงสำหรับการตรวจสอบความถูกต้อง: ระบบประเภท ที่แสดงออก ของภาษาการเขียนโปรแกรมเชิงฟังก์ชันHaskellบังคับใช้คุณสมบัติบางอย่าง และการทดสอบแบบสุ่มผ่านQuickCheckตรวจสอบคุณสมบัติอื่นๆ อีกมากมาย[ 3 ] ชื่อนี้เป็นคำย่อแบบเรียกซ้ำของDarcs Advanced Revision Control System [ 4 ]

แบบอย่าง

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

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

แพทช์ในที่เก็บข้อมูลจะถูกจัดเรียงตามลำดับเชิงเส้น Darcs จะคำนวณโดยอัตโนมัติว่าสามารถจัดเรียงแพทช์ใหม่ได้หรือไม่ (การดำเนินการที่เรียกว่าการสลับตำแหน่ง) และวิธีการดำเนินการดังกล่าว การคำนวณเหล่านี้เป็นการนำทฤษฎีแพทช์มาใช้

แพทช์ Darcs สามารถมีการเปลี่ยนแปลงได้หลายประเภท ดังต่อไปนี้:

  • การเปลี่ยนแปลงเส้นทาง
  • การสร้างและการลบไฟล์และไดเร็กทอรี
  • การย้ายไฟล์และไดเร็กทอรี
  • การแทนที่คำ (โดยทั่วไปใช้ในการปรับโครงสร้างโค้ด เช่น เปลี่ยนชื่อคำว่า "foo" ทั้งหมดเป็น "bar" ในไฟล์ที่กำหนด)

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

ตั้งแต่เวอร์ชัน 2.10 เป็นต้นไป Darcs จะใช้ค่าความแตกต่างแบบ patience diff เป็นค่าเริ่มต้น

ประวัติศาสตร์

Darcs พัฒนามาจากความพยายามของ David Roundy ในการออกแบบรูปแบบแพตช์ใหม่สำหรับGNU archในเดือนมิถุนายน พ.ศ. 2545 การอภิปรายเหล่านี้ไม่ได้นำไปสู่การนำโค้ดใดๆ ไปใช้ใน Arch แต่ได้นำไปสู่แนวคิดของทฤษฎีแพตช์ หลังจากเขียน Darcs เวอร์ชันเริ่มต้นในC++แล้ว เวอร์ชัน Haskellก็ถูกเขียนขึ้นในฤดูใบไม้ร่วง พ.ศ. 2545 และเผยแพร่สู่สาธารณะในเดือนเมษายน พ.ศ. 2546 Darcs 2.0 ได้รับการเผยแพร่ในเดือนเมษายน พ.ศ. 2551 และได้แนะนำรูปแบบที่เก็บข้อมูลที่แข็งแกร่งยิ่งขึ้น รวมถึงความหมายของแพตช์ใหม่ที่เรียกว่า "darcs-2" ซึ่งมุ่งเป้าไปที่การลดความขัดแย้งในการผสาน แบบ ทวีคูณ[ 5 ] กลยุทธ์การพัฒนาในปัจจุบันมุ่งเน้นไปที่การนำการเพิ่มประสิทธิภาพมาใช้และการเพิ่มคุณสมบัติใหม่ๆ ในขณะที่ยังคงรักษารูปแบบที่เก็บข้อมูลเดิมไว้

ข้อบกพร่อง

Darcs ถูกวิพากษ์วิจารณ์เรื่องปัญหาประสิทธิภาพ[ 6 ] [ 7 ]ซึ่งรวมถึงความท้าทายที่เกี่ยวข้องกับอัลกอริธึมการรวมของ Darcs 1.x ซึ่งแสดงให้เห็นการทำงานแบบทวีคูณในการรวมความขัดแย้งบางอย่าง แม้ว่าจะยังไม่ได้รับการแก้ไขอย่างสมบูรณ์ในเวอร์ชันต่อมาของ Darcs [ 8 ]แต่ความถี่ของการรวมแบบทวีคูณก็ลดลงอย่างเห็นได้ชัด

ยังคงมีบั๊กอยู่ซึ่งการรวมความขัดแย้งแบบเรียกซ้ำล้มเหลว[ 9 ]

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Darcs&oldid=1360645633 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ดาร์คส์

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

แบบอย่าง

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

ประวัติศาสตร์

Darcs พัฒนามาจากความพยายามของ David Roundy ในการออกแบบรูปแบบแพตช์ใหม่สำหรับ GNU arch ในเดือนมิถุนายน พ.ศ.

ข้อบกพร่อง

Darcs ถูกวิพากษ์วิจารณ์เรื่องปัญหาประสิทธิภาพ [ 6 ] [ 7 ] ซึ่งรวมถึงความท้าทายที่เกี่ยวข้องกับอัลกอริธึมการรวมของ Darcs 1.