การควบคุมแหล่งที่มาถูกคิดค้นเมื่อใด


20

ฉันตระหนักถึงระบบควบคุมหลายเวอร์ชัน: CVS, SVN, TFS และอื่น ๆ ...

ฉันใช้ Google เป็นครั้งแรก "การควบคุมการแก้ไข / ระบบควบคุมเวอร์ชัน" และเห็นคำตอบที่ขัดแย้งกัน

การควบคุมแหล่งที่มาถูกคิดค้นเมื่อใด ใครเป็นคนคิดค้นมัน? มันเรียกว่าอะไร?



18
มันถูกประดิษฐ์ขึ้นหลายครั้ง แต่พวกเขาก็สูญเสียรหัสต้นฉบับ
Reactgular

4
ขึ้นอยู่กับวิธีที่คุณกำหนด "การควบคุมแหล่งที่มา" แต่IEBUPDTEของ IBM ย้อนกลับไปในปี 1962 และเป็น VCS ที่เร็วที่สุด
Ross Patterson

2
หากระบบไฟล์การกำหนดเวอร์ชันสามารถหลอมรวมเป็นส่วนควบคุมการแก้ไขได้
mouviciel

@RossPatterson ความคิดเห็นนั้นจำเป็นต้องมีคำตอบ
John R. Strohm

คำตอบ:


14

นี่คือระยะเวลาที่เหมาะสมสำหรับผู้เล่นคนสำคัญในรูปแบบวิดีโอ (ไม่มีเสียง)

มันแสดงให้เห็นว่า SCCS เป็นครั้งแรกโดยมีระยะเวลาประมาณ 9 ปี

http://i.stack.imgur.com/wcAWD.png

แม้ว่าจะมีสิ่งที่ขาดหายไปมากมายดังที่เห็นได้จากบล็อกนี้และความคิดเห็นที่เกิดขึ้น


7
กระดาษต้นฉบับใน SCCSกล่าวไม่มีระบบอื่น ๆ และดูเหมือนว่าจะแสดงให้เห็นว่ามันจะต้องเกิดขึ้นกับคำศัพท์ของตัวเอง จากแหล่งนั้นเพียงอย่างเดียวดูเหมือนว่าจะไม่มีระบบควบคุมเวอร์ชันก่อน 1972/73
Martijn Pieters

1
การตั้งชื่อระบบควบคุมซอร์สโค้ด "Source Code Control System" เป็นการบ่งชี้ว่าเป็นอินสแตนซ์แรกของบางสิ่งที่จะกลายเป็นหมวดหมู่ซอฟต์แวร์ในภายหลัง
Ingo

@MartijnPieters Rochkind ให้การยอมรับ CLEAR ของ Brown ในตอนท้ายของบทความและเพียงแค่สร้าง SCCS บน OS / MVT เขาไม่สามารถไม่รู้ IEBUPDTE ได้
Ross Patterson

@RossPatterson: ไม่มี CLEAR หรือ IEBUPDTE เป็นระบบควบคุมแหล่งที่มา CLEAR ได้รับเครดิตสำหรับความคิดของเดลต้ามันระบุไว้อย่างชัดเจนในกระดาษว่าไม่มีความคล้ายคลึงกันอื่น ๆ
Martijn Pieters

3

ในปี 1981 ฉันทำงานในฤดูร้อนที่ Charter Information ใน Austin TX พวกเขาเคยเป็นบรรษัทข้อมูลทางการค้าของ Woburn MA พวกเขาใช้ Xerox Sigma 6 ที่ได้รับการอัพเกรดภาคสนามเป็น Sigma 7 พวกเขาใช้สิ่งที่เรียกว่า SPUD (การอัพเดทโปรแกรมที่มา) สำหรับการควบคุมซอร์สโค้ด มันเป็นเทป

ฉันติดตั้งเทป "bicudennial SPUD" เป็นประจำและทำงานบน mod deck สำหรับโค้ดหนึ่งชิ้นในเทปนั้น มันถูกเรียกว่า "เทป SPUD สองร้อยปี" เพราะมันถูกเขียนขึ้นในปี 1976 พวกเขามีเทปที่เก่ากว่าซึ่งบ่งชี้ว่า SPUD กลับไปไกลกว่า 1976

ในขณะที่นักเรียนที่ UT Austin (2516-2524) ฉันวิ่งไปหา MODIFY และ UPDATE ซึ่งเป็นโปรแกรมควบคุมซอร์สโค้ดสองโปรแกรมจาก Control Data Corporation สำหรับ CDC 6600 และเมนเฟรมรุ่นใหม่กว่า ฉันไม่ทราบว่าเมื่อพวกเขาออกมาครั้งแรก แต่ฉันสงสัยว่าพวกเขาจะออกมาไม่นานหลังจาก 6600 ซึ่ง (ถ้าหน่วยความจำทำหน้าที่ฉัน) ออกมาในช่วงปลายทศวรรษ 1960

ฉันสงสัยว่า IBM มีบางอย่างที่ดีก่อนที่คนอื่นจะทำ แต่ฉันไม่มีความรู้ใด ๆ เกี่ยวกับประวัติเมนเฟรมของ IBM และฉันก็ชอบแบบนั้น


คำสั่ง CDC MODIFY และ UPDATE เป็นยูทิลิตี้สำหรับใช้การอัปเดตซอฟต์แวร์ไม่ใช่สำหรับการจัดการการเปลี่ยนแปลงในซอฟต์แวร์ของคุณเองเท่าที่ฉันสามารถทำได้ ดูที่apps.dtic.mil/dtic/tr/fulltext/u2/a208003.pdfซึ่งอธิบายยูทิลิตี้ในหน้าหมายเลขหน้า 52 (61 ใน PDF) และcomputinghistory.org.uk/downloads/39256ซึ่งอธิบายถึง วัสดุที่วางจำหน่ายซอฟต์แวร์ใน # 4 (PDF # 16) ว่ามาในรูปแบบ UPDATE
Martijn Pieters

ฉันเชื่อว่า Xerox SPUDS (ซอร์สโปรแกรมอัปเดตระบบดิสก์) เป็นแพ็คเกจที่คล้ายกัน
Martijn Pieters

2

IEBUPDTEโปรแกรมที่สร้างขึ้นสำหรับ OS / ระบบของไอบีเอ็ม 360, วันที่กลับไปปี 1962 10 ปีแก่กว่าSCCS โดยมีวัตถุประสงค์คือนำชุดการเปลี่ยนแปลงไปใช้กับชุดของโปรแกรมต้นฉบับอินพุตสร้างชุดของโปรแกรมต้นฉบับที่ปรับเปลี่ยน ซอร์สโค้ดทั้งหมดได้รับการจัดการไม่ว่าจะเป็น "เด็ค" ของการ์ดเจาะ 80 คอลัมน์หรือเป็นไฟล์ที่มีลักษณะคล้ายกับพวกเขา เดคซอร์สโปรแกรมเหล่านี้มี "หมายเลขลำดับ" ในชุดคอลัมน์คงที่ในแต่ละบรรทัดหรือการ์ด ( COBOLระบุให้อยู่ทางซ้ายในคอลัมน์ 1-6 เกือบทุกอย่างจะถือว่าพวกเขาอยู่ทางขวาในคอลัมน์ 73-80) หมายเลขลำดับต้องเพิ่มทีละบรรทัด แต่ซอร์สโค้ดส่วนใหญ่เพิ่มขึ้น 10s, 100s หรือ 1000s เพื่อให้มีที่ว่างในพื้นที่จำนวนหนึ่งระหว่างสองบรรทัดสำหรับการแทรกในภายหลัง

ชั้นควบคุม IEBUPDTE ทั่วไปอาจมีลักษณะดังนี้:

./ CHANGE NAME=PROG001
         PROGRAM XYZZY                                                  00005000
./ DELETE SEQ1=9000,SEQ2=15000
         DO I=1,10                                                      00026000
./ CHANGE NAME=PROG002
         J=256                                                          00092000
./ ENDUP

ซึ่งจะแก้ไขไฟล์ต้นฉบับสองไฟล์คือ "PROG001" และ "PROG002" โดยแทนที่หมายเลขบรรทัด "5000" (มักเป็นบรรทัดที่ 5 ตามด้วยการฝึก "หมายเลขโดยหลักพัน") และลบบรรทัด 9000 ถึง 15000 ใน PROG001 และแทนที่บรรทัด 92000 ใน PROG002 .

ในระดับที่ง่ายที่สุดนั่นคือคำจำกัดความของการควบคุมแหล่งที่มา คนที่ใช้ระบบปฏิบัติการยูนิกซ์จะรับรู้ได้ว่าสิ่งที่แพทช์ทำ แต่ใช้การกำหนดตัวเลขอย่างชัดเจนแทนการบอกเป็นนัย เป็นเรื่องปกติที่จะใช้ชุดควบคุมสำรับกับโปรแกรมอินพุตตามลำดับและเก็บชุดเหล่านั้นเป็นไฟล์ดิสก์เหนียว ( ชุดข้อมูลพาร์ติชัน ) ซึ่งมีความคล้ายคลึงกันอย่างมากกับประวัติการเปลี่ยนแปลงที่CVSและRCSเก็บไว้ใน,vไฟล์ของพวกเขา IBM มักส่งแพตช์โค้ดที่เรียกว่าProgram Temporary Fixes (PTFs) ในรูปแบบของเด็คควบคุมขนาดใหญ่ที่แก้ไขไฟล์เป็นส่วนหนึ่งของเซ็ตการแก้ไขที่เกี่ยวข้องเดียวซึ่งผู้ใช้SubversionและGitจะคุ้นเคย


IEBUDTE ไม่ใช่ระบบอัปเดตซอฟต์แวร์หรือไม่ มันคล้ายกับแพทช์ดังนั้นส่วนประกอบที่ดีที่สุดของระบบควบคุมเวอร์ชันไม่มีกราฟของการเปลี่ยนแปลงตลอดเวลาเท่าที่ฉันสามารถทำได้
Martijn Pieters

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