80'li ve 90'lı yıllarda sürüm kontrolü günün mikro bilgisayarlarında nasıl çalıştı?


31

Programcı ekiplerin yazılım geliştirmelerini 80'li ve 90'lı yılların başlarında genel olarak nasıl yönettiğini bilmek isterim. Tüm kaynak kodları herkesin üzerinde çalıştığı bir makinede basit bir şekilde saklandı mı ya da kaynak disketten manuel olarak birleştirildi ve manuel olarak kopyalandı mı ya da bir ağ üzerinden revizyon kontrol sistemleri kullandılar mı (örneğin CVS). Şimdi? Ya da belki çevrimdışı bir CVS gibi bir şey kullanılıyordu?

Bugünlerde herkes kaynak kontrolüne bağlı. Ancak 80'lerde, bilgisayar ağları kurmak o kadar kolay değildi ve en iyi uygulamalar gibi şeyler hala çözüldü ...

70'li ve 60'lı yıllarda programlamanın oldukça farklı olduğunu biliyorum, bu nedenle revizyon kontrolü gerekli değildi. Ancak 80'li ve 90'lı yıllarda insanlar bilgisayarları kod yazmak için kullanmaya başladılar ve uygulamalar boyut ve kapsam olarak artmaya başladı, bu yüzden insanların o zamanları nasıl yönettiğini merak ediyorum.

Ayrıca, bu platformlar arasında nasıl bir fark var? Say Diyelim Apple vs Commodore 64 vs Amiga vs MS-DOS vs Windows Atari

Not: Çoğunlukla büyük UNIX makinelerinde değil, günün mikro bilgisayarlarında programlama yapmaktan bahsediyorum .


3
RCS başlangıçta 1982 yılında piyasaya sürüldü.
5gon12eder

1
Ama kaç kişi kullandı? RCS, mikrobilgisayarlarda çalışmayan Unix ve unix benzeri makineler için üretilmiş AFAIK'tı.
9a3eedi

2
Ağ bağlantılı sistemlerimiz vardı. Sadece tcp / ip'e karar vermedi, decnet gibi başkaları da vardı. Dosya paylaşımı, birkaç protokolde mevcuttu. Ve ekipler minislerde mikro için bile gelişme gösterdiler; ancak bazı küçük bağımsız geliştiriciler (ekiplerde değil), resmi kontrol kullanarak sürüm yerine sadece yedekleme yaptılar. Bazıları, sıkı manuel yedeklemeler ile sürüm kontrolünü taklit edebilir.
Erik Eidt

2
Çoğunlukla ıslak zeminde çok dikkatli bir şekilde yaptık, çünkü sürüm kontrolü olarak düşündüğünüz şeylerden bahsettiğiniz platformlarda yoktu.
Blrfl

2
Benim durumumda 1980'lerin başlarında mini bilgisayarlar için delikli kart destesi kullandık. Bazen kaynak kodlu güverteleri delikli kart dosya dolaplarında saklardık.
Gilbert Le Blanc

Yanıtlar:


22

İlk olarak, mikrobilgisayarlar ilk çıktığında, yazılım çoğunlukla Unix veya VMS sistemlerine yazılmıştı ve hedef sistem üzerine "çapraz derleyici / montaj" yapılıyordu. Bu bilgisayar sistemleri sıklıkla birçok terminalde çok kullanıcılıydı ve SCCS gibi kaynak kodlu kontrol sistemlerine sahipti .

Ağ oluşturma, 1980'lerin ortasındaki mikro bilgisayarlarda, genellikle bir Unix sistemine "dosya sunucusu" olarak bağlanan bir seçenekti (belki sadece dosyaları aktarmak için RS232 ve Kermit kullanıyor, Unix sistemindeki SCCS ile)

Sürüm kontrol sisteminin yıllar içinde nasıl değiştiğine dair genel bir bakış için Eric Sink'in Sürüm Kontrolünün Geçmişine bakınız .

1980'lerin sonlarında "BYTE" deki kaynak kod kontrolü hakkında okuduğumu hatırlıyorum, bu yüzden o zamana kadar "küçük sistemler" de kullanılıyor olmalı.

SourceSafe , Dos, Windows, vb.

Bir Bu bağlantı gösterileri PVCS 1994 den PC'de çalışan yaklaşık makale sürümü 6.2 de aynen öyle açıkça bir süre için yaklaşık olmuştu Vikipedi 1985 tarihleri diyor .


Bununla birlikte, numaralandırılmış disketler, küçük ölçekli yazılımlar üzerinde çalışan çoğu programcı tarafından 1990'ların sonlarına kadar, sabit disklerindeki klasörlerle değiştirilerek, her gün kaynak kodun bir kopyasını alarak kullanılmıştır.

Birimden Windows NT 3.5'e proje taşıma yazılımı üzerinde çalıştığımı hatırlıyorum. Windows için nasıl programlanacağını bilen programcılar çoğu zaman o sırada kaynak kodunun kontrolünü bile duymamıştı.


Bu zaman çizelgesi codicesoftware tarafından bir blog postasından alınmıştır , Plastic SCM satmaktadırlar, ancak diğer sistemlerin tarihçesine genel bakış makul görünmektedir, RCS görüntüden çıkmadan önceki birkaç eski sistem.

Sürüm kontrol geçmişinin zaman çizelgesi


1
İşe başladığımda VSS kullanıyordum .. cehenneme gelmekten hoşlanıyorum . Takım liderimden performans için değişmeye değip değmeyeceğini sorduğumu hatırlıyorum ... cehennem evet!
draeron

@draeron, şubeleri birleştirmeyi beklemiyorsanız VSS'nin tamam olduğunu ve kararlı bir dosya sunucusuydu. Çalıştığım bir şirket, kötü ram çipli bir sunucuya sahipti, bu yüzden veritabanını bozmaya devam etti! Ancak bana haftanın herhangi bir günü yerine performans verin ....
Ian

"Cehenneme hoş geldin" Clearcase için de geçerli olabilir ... titreme
Andrew Kennan 0

13

Bu büyük olasılıkla oyun endüstrisi için temsilcisi değil, ancak küçük oyun şirketimizde iyi çalıştı. Hiçbir zaman muhtemelen başka gereksinimleri olan iş yazılımlarıyla çalışmadım.

80'lerin ortasından 90'ların ortasına kadar genellikle dosya adının sonunda bir sürüm numarası kullandım, örneğin "game.003". O zamanlar assembler'da% 90 programlıyordum ve tüm kod tek bir büyük dosyadaydı, muhtemelen bir ya da iki dosya içeriyordu, burada sürüm numarasını bir şeyler değiştikçe manuel olarak güncellemek zorunda kalıyordum. Numarayı yalnızca, beklettiğimden emin olduğum kararlı bir sürüme sahip olduktan sonra artırırdım.

Bu sonuçta rahatça yaklaşık 3 kişiye ölçeklendi. Ondan sonra takımı büyüttük ve bir yıl kadar bir süredir her yerde bir sürü dosya karmaşası geçirdik. Tek tek insanların değişikliklerini izlemeye çalışmaktan bıkıncaya kadar ve 1997-98 yıllarında Performance kullanmaya başladık.


6

Bunu, o zamanki ortak altyapılar bağlamında görmelisiniz. 80'lerin başında IBM, "kişisel bilgisayar" ı piyasaya sürdü ve bunu kelimenin tam anlamıyla alabilirsiniz. Bir PC için uygulama geliştirmenin en yaygın yolu, bir şeyler yaratıp satmaya çalışan biriydi. Bu yüzden yayınlanan sürüm başına bir disket muhtemelen yaygın olacaktır. Güzel renkli etiketler satın alabilir ve sizin ürününüzün adını ve üzerine sürüm yazabilirsiniz. O günlerin başarılı ürünlerinin çoğu için, onu yazan adamın adını biliyordun.

Ağlar eklenti olarak tanıtıldı. İstemci API'leri DOS'a hacklendi ve sunucu bölümleri ayrı bir makinede özel işletim sistemleri tahsis edildi. Genelde pahalı (kitleler için değil) ve temelde sadece dosya ve yazıcı paylaşımı sunuyor. PC dünyasında Windows for Workgroups ve Windows NT'nin tanıtımıyla işler değişmeye başladı. Bu pek çok olasılık açtı. Ağ, nihayet bir programcının aşina olduğu ortama entegre edildi ve bir Windows programcısı, ağ üzerinden birbirleriyle konuşabilecek uygulamalar yazabildi. Bu, egemen ağ işletim sistemi olarak NetWare'in sona ermesiydi.

Yakında birkaç versiyon kontrol sistemi, herhangi bir makine kombinasyonuna kolayca kurabileceğiniz istemci ve sunucu bileşenleriyle ortaya çıktı. IDE'ler ve bir derleme sistemine entegrasyonu sağlayan komut satırı seçeneklerini destekleyen istemci bileşenleri için eklentilerle.

Web havaya uçup internete PC erişimi her yerde yayıldıktan sonra, açık kaynak hareketi ve web tabanlı kaynak kontrol sistemlerini elde ettiniz. İşin garibi, PC tanıtıldığında bu, merkezi bilgisayardan dağıtılmış bilgisayarlara doğru cesur bir hareket olarak görülüyordu. Ancak merkeze karşı dağıtılan tanım bulanık. Bulut nihai dağıtım mı, yoksa eskiden IBM ana bilgisayarında olduğu gibi tüm gücü elinde tutan yeni canavar merkezi bilgisayar mı?


1
Netware hala Active Directory win2k ile başlatılana kadar baskındı. Netware’in, AD’nin ciddi cıvatalar olmadan yapamayacağı kadar iyi yaptığı birçok şey var.
Wyatt Barnett

Öyleyse söylediğin şey, o zamanlar mikrobilgisayar kullanan insanlar ihtiyaç duymadıkları için kaynak kontrolünü kullanmadılar mı? yani evinde genellikle programlar yapan tek bir adamdı, bu yüzden kodu paylaşmaya ya da birleştirmeye gerek yok mu?
9a3eedi,

2
@ 9a3eedi: Tipik bir resim çiziyorum. İnsanlar ihtiyacı hissetmiş olabilirler, ancak orada yoktu, yani araçlarınla ​​yaşadın. Birleşmek demek? Bu çok karmaşık bir programa benziyor. Böyle bir canavarın ne kadar hafızaya ihtiyacı vardır? Kodun birleştirilmesi için geriye ne kalacak? Disketleri değiştirebilirim ama hafızam doluysa nereye giderim? İnsanların "ihtiyaç duyabilecekleri tüm hatıralara" (640K gibi) sahip olana kadar bu mümkün değildi.
Martin Maat

5

90'lı yıllarda kesinlikle sürüm kontrolü için yazılım kullandım. SCCS vardı ve Apple'ın MPW'sunda yerleşik sürüm kontrolü (Projektör) vardı. Ve sanırım 1992'de Projektör kullandım. Bir şirkette versiyon kontrol sistemi, haftada bir kez alınan her versiyonun disketi bulunan büyük bir dolaptı.


SCCS mikrobilgisayarlarda çalışmadı. Ve işe yaramadı, çünkü tamamen Solaris (jenerik Unix bile) dosya sistemine özgü bir özelliğe dayanıyordu
gnat

1
@gnat - Aynı SCCS'den mi bahsediyorsunuz ? 90'lı yılların ortalarında bir Next'de kullandığımı ve 80'lerin sonlarında çeşitli Solaris Unices'da kullandığımı biliyorum. Bağlantılı Wikipedia makalesi ise yalnızca Solaris olmadığını kabul ediyor gibi görünüyor.
kdgregory

3
1986’da Sys V’i çalıştıran 3B2-400’de SCCS kullandığımdan eminim. ISTR’yi RCS yerine kullandığımız için kullanmıştık. kullanıldı.
TMN

1
SCCS'yi 1984'te Motorola 68000 işlemcilerinde çalışan Microsoft Xenix'te kesinlikle kullandım.
Charles E. Grant,

2
Linux’un 1980’lerde SCCS’yi desteklemediği doğru. Bu konuda 1880'lerde SCCS için Linux desteği yoktu. 1980'lerin altındaki SCCS ve diğer programlar (örneğin, haber okuyucusu) Unix, tüm kullanıcıların aynı protokole uyması durumunda işe yarayan danışmanlık kilit dosyaları oluşturmak için açık (2) kullandı. SCCS danışmanlık kilitleri yaratan biri olduğundan, onlara saygı duyulması kesin olabilir.
msn

1

İlk yaz programlama işim hala okula devam ederken (bu sanırım yaklaşık 91 olurdu), çalıştığım küçük firma için otomatik bir sürüm yönetimi ve yedekleme sistemi uygulamaktı. Bir netware sunucusuna bağladığımız 3 adet bilgisayar vardı ve sahibi sonunda sürüm çakışmalarını ele almaktan ve disketlere yedekleme yapmak için gerekli olanı yapmaktan bıkmıştı, bu yüzden geliştiricilere doğrudan sunucuda depolanan dosyalardan ziyade kendi bilgisayarlarında çalıştık şu ana kadar olduğu gibi, tüm dosyalarının sadece kimsenin kullanmadığını kontrol eden bir program yürütene kadar okumaya ayarlanan bir sistem yazdım, sonra merkezi bir btrieve veritabanına (basit bir sorguyla ilişkisel bir veri tabanına) kullandım. netware sunucusunda çalışan tam sql yerine api). Başka bir program değiştirilmiş değişikliklerini kontrol etti ve sunucuya kopyaladı.

Bu sistem çalıştığım küçük firma için özel olarak yapılmış olsa da, benzer mağazaların da benzer süreçleri olduğunu hayal ediyorum.


1

Kişisel deneyimlerden: 1985 MS-DOS ağ bağlantılı geliştirme PVCS mevcuttu ve çok pahalıydı. Apple ve tüm MSDOS olmayan bilgisayarlar için: hiçbir şey. 1987'den itibaren T-lib'i (50 $) kullandım. Unix portları (SCCS), 1990'ları, 1992'yi SourceSafe'i filtrelemeye başladı.

1995 yılına kadar, bir VCS kullanmıyorsanız, ciddi değildiniz.


Son cümleyi 1985 olarak değiştirirdim :( Ama sonra finans alanında çalıştım
user151019

@ mark: Bunun PC’lerin gelişimi için geçerli olduğundan çok şüpheliyim. Şirketler çoğunlukla Windows 3’e kadar PC’leri görmezden
geldiler

Orada DOS programlama çok oldu ve 86 ile ben PVCs kullanıyordum ve yeni katılanlar Unix arka plan vardı ama bankacılık ve finans oldu belirttiğimiz gibi önde olabilirdi böylece
user151019

@ mark: PVCS 1985 yılına kadar kesinlikle piyasaya sürüldü, ancak çoğu kişi için çok pahalı (000 $). Sadece daha büyük sistemlerden ve yanacak paradan hareket edenler onu kullanıyordu.
david.pfx

-1

1993-1995 yılları arasında SunOS'ta SPARCStation 20'ler ve Sun IPX ile birlikte C / C ++ geliştirmesi yapan 15 geliştiriciden emekli maaşı müdürü olarak görev yaptım. Kod tabanımız NFS'ye bağlı dizinlerde bulunuyordu. Başlangıçta Kopyalama Klasörü Sürümleri yapıyorduk , ancak bir noktada SCCS'ye geçtik ve bazı ekipler RCS kullanmaya başladı .

1995'te New York, Londra ve Hong Kong'da C / C ++ geliştirme yapan 80+ geliştiriciyle başka bir şirkete taşındım. Geliştirme ortamını yönetmek için çoklu site eklentisiyle ClearCase'i kullandık .

ClearCase, kod tabanını siteler arasında senkronize etmede iyiydi, ancak o sırada işleri devam ettirmek için neredeyse tam zamanlı bir yönetici gerekiyordu. ClearCase, sanal bir dosya sistemindeki dosyaları, dizinleri ve joker karakterli dosya adlarını dallara, zamana ve / veya etiketlere göre belirleyen bir konfigürasyona sahip olarak sunması nedeniyle de daha yavaştı. Patolojik bir durumda, her bir dosyanın farklı bir versiyona sahip olduğu belirtilebilir.


1
Soru, özellikle unix olmayan mikro sistemler hakkında bilgi ister, ancak tanımladığınız sistemler (o sırada) yalnızca unix iş istasyonlarında mevcuttu.
Jules
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.