Коли було винайдено управління джерелами?


20

Мені відомо багато систем управління версіями: CVS, SVN, TFS тощо ...

Я переглянув першу "систему контролю за версією / контролем версій" і побачив різні суперечливі відповіді.

Коли було винайдено управління джерелами? Хто його вигадав? Як це називалося?



18
Це було фактично винайдено кілька разів, але вони продовжували втрачати вихідний код.
Реакційний

4
Це залежить від того, як ви визначаєте "керування джерелом", але IEBUPDTE IBM датується 1962 роком, і, мабуть, це був самий ранній VCS.
Росс Паттерсон

2
Якщо файлові системи версій можуть бути прирівняні до контролю версій, це датується 1960-ми роками.
mouviciel

@RossPatterson, цей коментар дійсно повинен відповісти.
Джон Р. Стром

Відповіді:


14

Ось досить пристойна хронологія головних плеєрів у відео-формі (без звуку).

Це дозволяє припустити, що SCCS був першим, з відривом близько 9 років.

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

Там багато чого не вистачає, однак, як свідчить цей блог та отримані коментарі.


7
Оригінальний документ про SCCS не згадує ніяких інших систем, і , здається, вказує , що він повинен був прийти з самої термінології. Тільки з цього джерела виглядає так, ніби до 1972/73 року не було системи контролю версій.
Martijn Pieters

1
Ім'я системи управління вихідним кодом "Система управління вихідним кодом" насправді свідчить про те, що це був перший екземпляр того, що згодом стане категорією програмного забезпечення.
Інго

@MartijnPieters Rochkind визнає, що КЛІН Брауна в кінці статті, і, просто кажучи, будуючи SCCS на OS / MVT, він не міг не знати про IEBUPDTE.
Росс Паттерсон

@RossPatterson: ні CLEAR, ні IEBUPDTE не є системами управління джерелами. CLEAR приписується ідеєю дельти, в документі прямо зазначено, що інших подібностей немає.
Martijn Pieters

3

У 1981 році я працював літньою роботою в службі charter information в Austin TX. Раніше вони були комерційною інформаційною корпорацією Woburn MA. Вони запустили Xerox Sigma 6, який було модернізовано на полі до Sigma 7. Вони використовували предмет управління SPUD (оновлення вихідної програми) для управління вихідним кодом. Це було на основі стрічки.

Я звичайно монтував "дворічну стрічку SPUD" і працював на модній колоді для фрагмента коду на цій стрічці. Його називали "дворічною стрічкою SPUD", оскільки вона була написана в 1976 році. Вони мали старі стрічки, що свідчило про те, що SPUD повернувся далеко за 1976 рік.

Будучи студентом UT Austin (1973-1981), я зіткнувся з 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 IBM, датується 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 .

На найпростішому рівні, це визначення контролю над джерелами. Люди з Unix розпізнають це як те, що робить патч , але використовують явну нумерацію замість неявної. Було прийнято застосовувати набори контрольних колод до програми введення послідовно і зберігати ці набори у вигляді файлу згуртованого диска ( розділеного набору даних ), який має велику схожість з історіями змін, які CVS та RCS зберігають у своїх ,vфайлах. IBM часто постачає виправлення коду під назвою "Тимчасові виправлення програм" (PTFs) у вигляді великих контрольних колод, що модифікують файли як частина єдиного пов'язаного набору змін, який Subversion і Git знайомі.


Хіба IEBUDTE не є системою оновлення програмного забезпечення? Він схожий на патч, тому в кращому випадку компонент системи управління версіями. Наскільки я не можу зробити, графік змін за часом не існує.
Martijn Pieters

Так, IEBUPDTEсхожий на patch.
Росс Паттерсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.