Kiểm soát nguồn được phát minh khi nào?


20

Tôi biết nhiều hệ thống kiểm soát phiên bản: CVS, SVN, TFS, v.v.

Tôi đã googled cho "hệ thống kiểm soát phiên bản / kiểm soát phiên bản" đầu tiên và thấy nhiều câu trả lời mâu thuẫn khác nhau.

Kiểm soát nguồn được phát minh khi nào? Người phát minh ra nó? Nó được gọi là gì?



18
Nó thực sự được phát minh nhiều lần, nhưng họ cứ mất mã nguồn.
Phản ứng

4
Nó phụ thuộc vào cách bạn định nghĩa "kiểm soát nguồn", nhưng IEBUPDTE của IBM có từ năm 1962 và được cho là VCS sớm nhất.
Ross Patterson

2
Nếu hệ thống tập tin phiên bản có thể được đồng hóa với kiểm soát sửa đổi, thì điều này có từ những năm 1960.
mouviciel

@RossPatterson, nhận xét đó thực sự cần phải là một câu trả lời.
John R. Strohm

Câu trả lời:


14

Dưới đây là một dòng thời gian khá tốt của những người chơi chính ở dạng video (không có âm thanh).

Nó cho thấy rằng SCCS là lần đầu tiên, với biên độ khoảng 9 năm.

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

Có rất nhiều thiếu sót ở đó, bằng chứngblog này và các bình luận kết quả.


7
Bài báo gốc về SCCS đề cập đến không có hệ thống nào khác, và dường như chỉ ra rằng nó phải tự đưa ra thuật ngữ. Từ nguồn đó, có vẻ như không có hệ thống kiểm soát phiên bản nào trước năm 1972/73.
Martijn Pieters

1
Đặt tên cho một hệ thống kiểm soát mã nguồn "Hệ thống kiểm soát mã nguồn" thực sự là dấu hiệu cho thấy đây là phiên bản đầu tiên của thứ gì đó sẽ trở thành một loại phần mềm sau này.
Ingo

@MartijnPieters Rochkind thừa nhận RAR RÀNG của Brown ở cuối bài, và chỉ cần đặt, xây dựng SCCS trên OS / MVT, anh ta không thể không biết về IEBUPDTE.
Ross Patterson

@RossPatterson: cả hệ thống kiểm soát nguồn và không phải là hệ thống kiểm soát nguồn. CLEAR được ghi nhận cho ý tưởng về đồng bằng châu thổ, nó tuyên bố rõ ràng trong bài báo rằng không có sự tương đồng nào khác.
Martijn Pieters

3

Năm 1981, tôi đã làm một công việc mùa hè tại Charter Information ở Austin TX. Họ trước đây là Tập đoàn Thông tin Thương mại của Woburn MA. Họ đã chạy Xerox Sigma 6 đã được nâng cấp trường thành Sigma 7. Họ đã sử dụng một thứ gọi là SPUD (Cập nhật chương trình nguồn) để kiểm soát mã nguồn. Đó là dựa trên băng.

Tôi thường xuyên gắn "băng SPUD trăm năm" và làm việc trên boong mod cho một đoạn mã trên băng đó. Nó được gọi là "băng SPUD trăm năm" bởi vì nó được viết vào năm 1976. Họ có những cuộn băng cũ hơn, cho thấy SPUD đã quay trở lại xa hơn năm 1976.

Khi còn là sinh viên tại UT Austin (1973-1981), tôi đã gặp phải MODIFY và UPDATE, hai chương trình kiểm soát mã nguồn từ Control Data Corporation cho CDC 6600 và các máy tính lớn sau này. Tôi không biết khi nào chúng mới xuất hiện, nhưng tôi nghi ngờ chúng xuất hiện không lâu sau 6600, mà (nếu bộ nhớ phục vụ cho tôi) xuất hiện vào cuối những năm 1960.

Tôi nghi ngờ rằng IBM đã có một cái gì đó tốt trước bất kỳ ai khác, nhưng tôi không biết gì về lịch sử máy tính lớn của IBM và tôi thích nó theo cách đó.


Các lệnh MODCY và CẬP NHẬT CDC là các tiện ích để áp dụng các bản cập nhật phần mềm, không phải để quản lý các thay đổi trong phần mềm của riêng bạn, theo như tôi có thể làm được. Xem apps.dtic.mil/dtic/tr/fulltext/u2/a208003.pdf , mô tả các tiện ích trên trang được đánh số 52 (61 trong PDF) và tính toánhistory.org.uk / doads / 39256 , mô tả tài liệu phát hành phần mềm trên # 4 (PDF # 16) sắp tới ở định dạng CẬP NHẬT.
Martijn Pieters

Tôi tin rằng Xerox SPUDS (Hệ thống đĩa cập nhật chương trình nguồn) là một gói tương tự.
Martijn Pieters

2

Các IEBUPDTE chương trình, ban đầu được tạo ra cho hệ thống 360 / OS của IBM, ngày trở lại đến năm 1962, 10 năm tuổi hơn SCCS . Mục đích của nó là áp dụng một tập hợp các thay đổi cho một tập hợp các chương trình nguồn đầu vào, tạo ra một tập hợp các chương trình nguồn được sửa đổi. Tất cả các mã nguồn được quản lý dưới dạng "cỗ bài" của các thẻ đục lỗ 80 cột hoặc dưới dạng các tệp giống với chúng. Các sàn chương trình nguồn này có "số thứ tự" trong một tập hợp các cột cố định trên mỗi dòng hoặc thẻ ( COBOLchỉ định chúng ở bên trái, trong các cột 1-6, hầu hết mọi thứ khác đều cho rằng chúng ở bên phải trong các cột 73-80). Số thứ tự phải tăng từng dòng, nhưng hầu hết mã nguồn tăng thêm 10, 100 hoặc 1000, để cho phép không gian trong không gian số nguyên giữa hai dòng cho các lần chèn sau.

Một tầng điều khiển IEBUPDTE điển hình có thể trông như sau:

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

sẽ sửa đổi hai tệp nguồn, "PROG001" và "PROG002", thay thế số dòng "5000" (thường là dòng thứ 5, theo cách thực hành "số hàng nghìn") và xóa dòng 9000 đến 15000 trong PROG001 và thay thế dòng 92000 trong PROG002 .

Ở cấp độ đơn giản nhất, đó là định nghĩa về Kiểm soát nguồn. Unix folks sẽ nhận ra rằng đó là những gì bản vá thực hiện, nhưng sử dụng đánh số rõ ràng thay vì ẩn. Thông thường áp dụng các bộ sàn điều khiển cho một chương trình đầu vào theo trình tự và để lưu trữ các bộ đó dưới dạng tệp đĩa gắn kết ( Bộ dữ liệu phân vùng ), có sự tương đồng mạnh mẽ với lịch sử thay đổi mà CVSRCS lưu trữ trong các ,vtệp của chúng . IBM sẽ thường xuyên cung cấp các bản vá mã được gọi là Chương trình sửa lỗi tạm thời (PTF) dưới dạng các sàn điều khiển lớn sửa đổi các tệp như một phần của một thay đổi liên quan duy nhất, mà người dùng SubversionGit sẽ thấy quen thuộc.


Không phải IEBUDTE là một hệ thống cập nhật phần mềm sao? Nó tương tự như bản vá, vì vậy, tốt nhất là một thành phần của hệ thống kiểm soát phiên bản. Không có biểu đồ thay đổi theo thời gian, theo như tôi có thể thực hiện.
Martijn Pieters

Yup, IEBUPDTEtương tự như patch.
Ross Patterson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.