Kapan kontrol sumber ditemukan?


20

Saya mengetahui banyak sistem kontrol versi: CVS, SVN, TFS dll ...

Saya telah mencari di Google untuk "sistem kontrol / versi kontrol revisi" pertama dan melihat berbagai jawaban yang saling bertentangan.

Kapan kontrol sumber ditemukan? Siapa yang menemukannya? Apa namanya?



18
Sebenarnya diciptakan beberapa kali, tetapi mereka terus kehilangan kode sumber.
Reactgular

4
Itu tergantung pada bagaimana Anda mendefinisikan "kontrol sumber", tetapi IBM IEBUPDTE tanggal kembali ke 1962, dan itu bisa dibilang VCS paling awal.
Ross Patterson

2
Jika sistem file versi dapat berasimilasi dengan kontrol revisi, ini tanggal kembali ke tahun 1960-an.
mouviciel

@RossPatterson, komentar itu benar-benar perlu menjadi jawaban.
John R. Strohm

Jawaban:


14

Berikut ini adalah timeline pemain yang cukup baik dalam bentuk video (tidak ada suara).

Ini menunjukkan bahwa SCCS adalah yang pertama, dengan selisih sekitar 9 tahun.

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

Ada banyak yang hilang di sana, seperti dibuktikan oleh blog ini dan komentar yang dihasilkan.


7
The kertas asli pada SCCS menyebutkan tidak ada sistem lain, dan tampaknya menunjukkan bahwa ia harus datang dengan terminologi itu sendiri. Dari sumber itu sendiri sepertinya tidak ada sistem kontrol versi sebelum 1972/73.
Martijn Pieters

1
Memberi nama sistem kontrol kode sumber "Source Code Control System" memang indikasi bahwa itu adalah contoh pertama dari sesuatu yang akan menjadi kategori perangkat lunak nanti.
Ingo

@MartijnPieters Rochkind mengakui CLEAR Brown di akhir makalah, dan secara sederhana, membangun SCCS pada OS / MVT, dia tidak mungkin tidak menyadari IEBUPDTE.
Ross Patterson

@RossPatterson: CLEAR atau IEBUPDTE bukanlah sistem kontrol sumber. CLEAR dikreditkan untuk gagasan delta, itu secara eksplisit menyatakan di koran bahwa tidak ada kesamaan lainnya.
Martijn Pieters

3

Pada tahun 1981, saya bekerja di musim panas di Charter Information di Austin TX. Mereka dulunya adalah Perusahaan Informasi Komersial Woburn MA. Mereka menjalankan Xerox Sigma 6 yang telah diupgrade ke lapangan menjadi 7. Sigma. Mereka menggunakan sesuatu yang disebut SPUD (Source Program Update) untuk kontrol kode sumber. Itu berbasis rekaman.

Saya secara rutin memasang "pita SPUD dua abad" dan bekerja pada dek mod untuk sepotong kode pada rekaman itu. Itu disebut "rekaman SPUD dua abad" karena ditulis pada tahun 1976. Mereka memiliki kaset yang lebih tua, menunjukkan bahwa SPUD kembali lebih jauh dari tahun 1976.

Ketika menjadi mahasiswa di UT Austin (1973-1981), saya berlari melawan MODIFY dan UPDATE, dua program kendali kode sumber dari Control Data Corporation untuk CDC 6600 dan mainframe yang lebih baru. Saya tidak tahu kapan mereka pertama kali keluar, tetapi saya curiga mereka keluar tidak lama setelah 6600, yang (jika ingatan saya) keluar pada akhir 1960-an.

Saya menduga IBM memiliki sesuatu yang baik sebelum orang lain melakukannya, tetapi saya tidak memiliki pengetahuan apa pun tentang sejarah mainframe IBM, dan saya menyukainya seperti itu.


Perintah CDC MODIFY dan UPDATE adalah utilitas untuk menerapkan pembaruan perangkat lunak, bukan untuk mengelola perubahan pada perangkat lunak Anda sendiri, sejauh yang saya bisa lakukan. Lihat apps.dtic.mil/dtic/tr/fulltext/u2/a208003.pdf , yang menjelaskan utilitas pada halaman halaman bernomor 52 (61 dalam PDF), dan computinghistory.org.uk/downloads/39256 , yang menggambarkan materi rilis perangkat lunak pada # 4 (PDF # 16) sebagai datang dalam format UPDATE.
Martijn Pieters

Saya percaya bahwa Xerox SPUDS (Source Program Update Disk System) adalah paket yang serupa.
Martijn Pieters

2

Program IEBUPDTE , awalnya dibuat untuk sistem OS / 360 IBM, tanggal kembali ke 1962, 10 tahun lebih tua dari SCCS . Tujuannya adalah untuk menerapkan sekumpulan perubahan pada sekumpulan program sumber input, membuat sekumpulan program sumber yang dimodifikasi. Semua kode sumber dikelola baik sebagai "deck" dari kartu berlubang 80-kolom , atau sebagai file yang menyerupai mereka. Deck program sumber ini memiliki "nomor urut" dalam kumpulan kolom tetap pada setiap baris atau kartu ( COBOLmenetapkan mereka berada di sebelah kiri, di kolom 1-6, hampir semuanya menganggap mereka berada di sebelah kanan di kolom 73-80). Nomor urut harus meningkatkan baris demi baris, tetapi sebagian besar kode sumber bertambah 10s, 100s, atau 1000s, untuk memungkinkan ruang dalam ruang bilangan integral antara dua baris untuk penyisipan selanjutnya.

Dek kontrol IEBUPDTE tipikal mungkin terlihat seperti:

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

yang akan memodifikasi dua file sumber, "PROG001" dan "PROG002", mengganti nomor baris "5000" (sering kali baris ke-5, mengikuti praktik "angka oleh ribuan") dan menghapus baris 9000 hingga 15000 di PROG001 dan mengganti baris 92000 di PROG002 .

Pada level paling sederhana, itulah definisi Kontrol Sumber. Orang-orang Unix akan mengenali itu sebagai apa yang dilakukan patch , tetapi menggunakan penomoran eksplisit bukan implisit. Adalah umum untuk menerapkan set dek kontrol ke program input secara berurutan, dan untuk menyimpan set tersebut sebagai file disk yang kohesif ( Dataset Partisi ), yang memiliki kemiripan yang kuat dengan riwayat perubahan yang disimpan CVS dan RCS dalam ,vfile mereka . IBM akan sering memberikan tambalan kode yang disebut Program Temporary Fixes (PTFs) dalam bentuk deck kontrol besar yang memodifikasi file sebagai bagian dari satu set perubahan yang terkait, yang menurut pengguna Subversion dan Git akan terbiasa.


Bukankah IEBUDTE sistem pembaruan perangkat lunak? Ini mirip dengan tambalan, jadi komponen terbaik dari sistem kontrol versi. Tidak ada grafik perubahan sepanjang waktu, sejauh yang saya bisa lakukan.
Martijn Pieters

Yup, IEBUPDTEmirip dengan patch.
Ross Patterson
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.