Apakah SourceSafe benar-benar aman?


27

Setelah menghabiskan sepanjang pagi mencoba memeriksa sesuatu - sekarang saya sadar saya telah kehilangan pekerjaan selama beberapa hari.

Itu terjadi sebelum - dan tampaknya kejadian umum dengan SourceSafe. Bisakah SourceSafe berhasil digunakan, tanpa masalah, dan jika demikian, bagaimana?


40
Ya Tuhan, Tuhan ... tidak pernah, tidak pernah lagi!
Tim Post

27
Saya berjuang keras dan lama untuk mengeluarkan SourceSafe dari perusahaan saya. Akhirnya menang dan semua orang lebih bahagia karenanya.
Kevin D

13
Organisasi mana pun yang menggunakan VSS adalah "bau
badan

8
Ungkapan "Memeriksa lebih awal dan sering." adalah untuk mencegah situasi semacam ini. Anda seharusnya tidak pernah kehilangan lebih dari beberapa jam kerja. Namun, Iron Maiden mengatakan yang terbaik tentang VSS: "Lari ke bukit! Lari untuk hidupmu!"
Ryan Hayes

3
Microsoft tidak menggunakannya. Kenapa kita harus?
greyfade

Jawaban:


45

Pandangan saya sederhana, bermigrasi ke sesuatu yang ASAP. Tidak akan memakan waktu lama (1-2 minggu WAG) dan tidak peduli berapa lama migrasi, mudah untuk membenarkan biaya itu untuk manajemen. Sedikit waktu untuk bermigrasi sama dengan kontrol sumber solid dan sangat kecil kemungkinan kode sumber hilang. Lakukan pencarian cepat google untuk "sumber cerita horor yang aman" atau serupa jika bos Anda skeptis.


Benar, tetapi kadang-kadang tidak mudah untuk membenarkan kepada orang non-teknis yang menghabiskan 1-2 minggu memigrasi kontrol sumber.
t3mujin

2
@ t3mujin, lihat diskusi tentang "utang teknis" programmer.stackexchange.com/questions/18059/…
Nemi

SourceSafe adalah kewajiban aktif dan berkelanjutan untuk produktivitas jangka pendek dan jangka panjang Anda. Ini dapat dengan mudah digantikan oleh sejumlah sistem kontrol versi modern, aman dan didistribusikan. Lakukan riset dengan Google tentang kisah-kisah horor SourceSafe serta bimbingan profesional. BUAT KASUS ANDA DENGAN SANGAT. Lakukan apapun yang diperlukan.
Adam Crossland

3
@ t3mujin: memigrasikannya proyek demi proyek. Di mana saya bekerja, kami dulu menggunakan SourceSafe, sekarang kami menggunakan TFS. Memigrasikan semuanya (ratusan proyek) akan sangat menyebalkan, jadi alih-alih, jika kita memiliki pekerjaan yang harus dilakukan pada proyek lama yang masih di SourceSafe, pertama-tama kita menghabiskan sedikit waktu untuk memigrasikannya, dan baru kemudian mulai bekerja.
Carson63000

@ Carson63000 Kami menggunakan TFS untuk sebagian besar proyek saat ini, tetapi ada basis sumber besar dengan beberapa pembaruan tetapi sesekali pada VSS bahwa tidak ada yang mau membayar migrasi ke TFS. Saya tidak di tim yang menggunakannya lebih sering jadi saya OK dengan beberapa baris kode sesekali
t3mujin

33

Terburuk. SCM. Pernah.

Semua yang salah dalam SCM diwujudkan dalam VSS. Bahkan StarTeam lebih baik daripada Source Safe. Sumber Aman adalah Internet Explorer 1 dari dunia kontrol versi: sepenuhnya digantikan oleh implementasi lainnya.

Bagaimana saya menggunakannya?

Alur kerja khas saya untuk menyelesaikan sesuatu adalah

  1. Lihatlah proyeknya
  2. Kunci semua file (untuk menghindari bergabung dengan siapa pun karena cos yang membuka gerbang neraka yang tidak suci)
  3. Apakah pekerjaan saya
  4. Setiap hari memeriksa perubahan saya di
  5. Memeriksa semuanya kembali lagi dan memperbaiki semua masalah dengan integrasi
  6. Memeriksa kembali

Dibandingkan dengan Subversion, hal di atas menggelikan (selain memeriksa Anda tidak merusak build).

Batasan pada praktik pemrograman tim saya

Ini adalah aturan yang harus dikerjakan oleh tim untuk membuatnya bekerja untuk kita. Jarak tempuh Anda mungkin beragam.

  1. Satu orang saja dapat mengedit file (Surga membantu Anda jika mereka pergi berlibur)
  2. Jangan bercabang terlalu sulit untuk dikelola
  3. Jangan pernah mencoba untuk kembali ke revisi sebelumnya

Apa yang bisa dilakukan?

Polarion memiliki seperangkat alat yang baik untuk bermigrasi dari orang-orang seperti Source Safe ke Subversion (SVN) yang merupakan standar de facto saat ini di sebagian besar perusahaan untuk kontrol versi open source. Subversi memang membutuhkan server yang tersedia untuk memungkinkan checkin (tidak seperti GIT atau Mercurial yang dirancang untuk tim offline yang didistribusikan).


@ David tidak membuat saya mulai mencoba untuk mendapatkan riwayat revisi file atau percabangan (Saya menangis saat saya menulis - begitu banyak waktu terbuang dalam hidup saya ...)
Gary Rowe

2
ya, cabang dan penggabungan tidak benar-benar menyenangkan dalam SCM yang bagus. Saya tidak berpikir kongres akan memungkinkan Anda untuk membuat orang melakukannya di sourcesafe.
BlackICE

2
Tidak pernah kembali ke versi sebelumnya? Kenapa tidak? Dan jika demikian, apa tujuan keseluruhan penggunaan alat SCM?
JoelFan

Kembali pada hari ketika saya berada di sebuah toko yang menggunakan VSS, kami tidak pernah mengalami kesulitan sama sekali untuk kembali ke versi lama. Tampaknya agak ekstrem. Aku bersamamu di cabang.
JohnFx

@JohnFx @SpashHit Tim kami memiliki toleransi yang sangat rendah terhadap rasa sakit, jadi mungkin saya sedikit berlebihan. Ketika Subversion datang, rasanya seperti beban yang berat telah terangkat.
Gary Rowe


11

Kami mengeluarkannya sekitar setahun yang lalu.

Itu terjadi beberapa kali bahwa apa yang saya check-in pada malam sebelumnya tidak ada di sana keesokan paginya. Saya tidak menemukan itu lucu karena tampak mencurigakan seperti saya baru saja menyelesaikan pekerjaan saya. Karena saya masih baru di perusahaan maka itu mungkin berbahaya bagi saya.

Kami mereka pindah ke TFS dan sudah beroperasi dengan lancar sejak saat itu.


1
+1 untuk menghapusnya operasi. Kamu melakukan hal yang benar.
Gary Rowe

1
TFS adalah hal yang sangat indah. Jika Anda punya uang untuk membayarnya, itu saja.
Adam Crossland

2
@Adam Crossland: Cantik seperti berlian besar, dan harganya hampir sama.
Orbling

1
@Orbling: kata baik.
Adam Crossland

1
Bagi mereka yang tidak mengenali singkatan, TFS adalah Microsoft's Team Foundation Server .
Keith Thompson

9

Pandangan ku?

Ada yang lebih baik yang lebih mudah digunakan, lebih aman untuk digunakan, dan sepenuhnya gratis. Kenapa repot-repot menggunakannya sama sekali?

Ini adalah salah satu area pengembangan di mana kami memiliki banyak pilihan; sebagian besar, atau semua, lebih baik dari VSS.


"Kebanyakan" sedikit membingungkan ... atau dengan kata lain: apa yang lebih buruk dari VSS?
Jürgen A. Erhard

@jae: Must hanyalah kualifikasi yang menunjukkan bahwa saya belum menggunakan semuanya, dan karenanya tidak dapat memverifikasi kualitasnya terkait VSS; karenanya "atau semua"
Steven Evers

9

Menggunakan SourceSafe dalam operasi komersial seperti memanaskan gedung dengan membakar uang dolar.

Pada tahun 2000, perusahaan delapan pengembang saya mungkin kehilangan 5-10% dari produktivitasnya karena korupsi dua kali sehari rata-rata dari database VSS. Itu hanya serendah itu karena kami pergi ke backup setiap jam.

Sejak pindah dari VSS ke Perforce, svn, dan git, saya tidak pernah memiliki basis data SCM yang rusak.


7

Saya mungkin akan memilih untuk neraka ini, tapi ..

teks alternatif

VSS secara efektif menempatkan Anda pada obat bius, sejauh Anda tidak dapat mendamaikan segala realitas yang diperlukan untuk menyadari bahwa repo Anda yang sekarang sudah dibakar bukanlah kesalahan Anda.

Tolong, jangan pernah menggunakannya.


Anda tidak akan ditolak. Satu-satunya kritik saya adalah bahwa sianida jelas merupakan obat pilihan bagi pengguna VSS yang terbiasa.
Orbling

7

menggunakannya selama bertahun-tahun - itu adalah solusi default, karena sudah ada di sana. Sudah menggigit saya beberapa kali, tetapi kelembaman sulit diatasi

kemudian saya harus menggunakannya dari jarak jauh melalui VPN, dan bahkan check-in kecil seperti memasukkan batu bata melalui lubang jarum . Itu lebih cepat untuk secara manual menemukan file yang diubah, zip mereka, email mereka, jauh ke mesin vault sumber, unzip mereka, dan periksa kode dari mesin vault sumber.

Beralih ke Mercurial. Saya dapat mengkloning seluruh basis kode sumber melintasi VPN dalam waktu kurang dari satu menit. Dan saya tidak lagi takut bercabang.

Tidak akan pernah kembali.


Sumber Offsite adalah untuk itu. Saya ingat itu juga. Saya benar-benar membeli salinan sumber saya sendiri di luar kantor supaya saya tidak perlu melakukan VSS melalui VPN
BlackICE

+1 untuk "Saya tidak lagi takut bercabang" tanda SCM dewasa
Gary Rowe

5

Ini kekejian. Tapi masih lebih baik daripada tidak sama sekali.


12
Dengan semua alternatif, sulit untuk dibenarkan menggunakan, karena ketika pergi ke selatan, itulah yang akan Anda miliki: Tidak ada.
DevSolo

13
Bagaimana bisa lebih baik daripada tidak sama sekali jika itu menyebabkan Anda kehilangan pekerjaan?
billy.bob

4
Anda bisa kehilangan pekerjaan tanpa apa-apa juga, sourcesafe setidaknya bisa menyelamatkan Anda kadang-kadang .
BlackICE

4
@ David - jadi bisa masuk akal cadangan sebelum melakukan sesuatu yang berpotensi 'icky'. Satu-satunya hal yang menyaingi VSS dalam kegagalan adalah MS BOB. VSS begitu mengerikan sehingga amal harus dibuat atas nama menyembuhkan orang dari menggunakannya.
Tim Post

9
Tidak, ini lebih buruk daripada tidak sama sekali. Karena jika Anda JUGA tidak memiliki cadangan, Anda memiliki rasa aman yang salah dan dapat kehilangan SEMUA
CaffGeek

5

Saya menggunakannya untuk waktu yang lama (hampir 10 tahun) tanpa pernah mengalami masalah pribadi (termasuk di dalam tim tempat saya bekerja meskipun kode kita cenderung terbagi dengan baik untuk menghindari konflik dan sejenisnya).

Tetapi ada terlalu banyak cerita tentang kehilangan data untuk terus menggunakannya ketika ada alternatif sumber terbuka yang layak dan dapat diandalkan di luar sana.

Sunting: Dari komentar, pesannya tampaknya menghindari segala sesuatu yang rumit (bercabang, menggabungkan, konflik) dan Anda mungkin baik-baik saja. Ada yang lebih dan Anda menuju ke wilayah berisiko.


Apakah Anda bekerja dalam tim, atau pada proyek solo dalam basis kode keseluruhan?
Gary Rowe

Di dalam tim, basis kode relatif terbagi dalam hal siapa yang mengerjakan apa yang jarang terjadi konflik.
Jon Hopkins

@ Jon Itu menjelaskan tentang operasi bebas masalah.
Gary Rowe

1
FWIW pengalaman saya mirip dengan Jon. 7 tahun, tim 8 orang, tidak ada masalah menggunakan VSS. Rupanya kita berada di minoritas (beruntung). Saya tidak akan pernah menggunakannya lagi berdasarkan semua cerita (menggunakan SVN sekarang).
Steve Fallows

1
Saat percabangan, penggabungan, dan resolusi konflik dianggap sebagai operasi yang kompleks, Anda mungkin menggunakan sistem kontrol versi yang salah ...
James

5

Bahkan MS tidak lagi mendukung TFS.

Untuk toko solo atau sangat kecil yang bekerja di Visual Studio 6 atau lebih tua, itu lumayan dan lebih baik daripada tidak sama sekali. Saya pikir ada banyak yang dilebih-lebihkan tentang betapa buruknya itu, tetapi kemudian hanya perlu satu contoh kehilangan pekerjaan yang berharga untuk membuat Anda kesal pada suatu produk (untuk alasan yang baik). VSS memiliki tempatnya, dan saya menghargai setidaknya mendorong banyak pengembang yang tidak menggunakan alat SCM sama sekali untuk membiasakan diri, tetapi seperti banyak teknologi sekarang sudah cukup usang.


Membuat orang mulai menggunakan SCM itu bagus, tidak ada argumen. Tapi ... VSS? Pengalaman buruk tidak bisa hanya memberikan nama produk yang buruk, mereka bisa memberikan seluruh kategori nama buruk. Atau: berapa banyak dev yang memulai SCM dengan VSS dan kemudian berpikir "Wow, barang SCM ini seburuk yang saya harapkan" ketika VSS mengacau? Belum lagi bahwa SCM adalah bagian infrastruktur yang sangat kritis, artinya: bug tidak diizinkan (ya, saya tahu ...)
Jürgen A. Erhard

@jae itu bukan pengalaman saya. VSS adalah paparan pertama saya ke SCM dan saya tidak pernah melihat ke belakang. Saya tidak mengalami kehilangan data, korupsi, atau masalah apa pun selama TAHUN saat menggunakannya. Saya akhirnya pindah, tapi saya pikir itu akan membutuhkan waktu lebih lama untuk mengintegrasikan alat jika belum diinstal dengan Visual Studio pada hari itu.
JohnFx

3

Setelah 3 tahun menggunakannya, mengeluh kepada manajer saya karena semua alternatif yang lebih maju / rasional di luar sana, saya tidak pernah benar-benar memiliki masalah dengan VSS, tetapi saya tidak pernah punya pilihan juga.

Pandangan saya adalah bahwa itu menyebalkan dan pukulan.

Bagian yang paling menyebalkan tentang itu bukanlah versi yang buruk dan kemampuan bercabang yang membingungkan, tetapi kotak daftar pada menu file tidak memungkinkan Anda menekan tombol panah kanan untuk membuka.

Benar-benar menyakitkan.


3

Pandangan saya tentang VSS? Saya menolak beberapa tawaran pekerjaan (dibayar sangat baik) karena mereka meminta "kemahiran VSS". Dan saya yakin ada beberapa orang di sini yang melakukan hal yang sama.


1
+1, menempatkan "kemahiran VSS" pada iklan pekerjaan adalah tanda yang pasti bahwa perusahaan tidak hanya menggunakan VSS, tetapi mereka juga memiliki pengaturan di mana VSS sudah sangat rusak dan bermasalah sehingga membutuhkan pengalaman VSS asli untuk membuatnya bekerja di semua .
Carson63000

1

Anda tidak hanya menderita masalah potensi korupsi sumber (yang seharusnya menjadi argumen yang cukup bagi manajemen untuk menggantikannya), tetapi Anda juga harus hidup dengan cadangan yang canggung dan ketidakmampuan untuk bekerja secara efektif sebagai tim di aliran pekerjaan yang berbeda.

Temukan SCM lain (yang lain) dan lihat betapa mudahnya percabangan dan penggabungan. Pikirkan saat-saat ketika Anda harus menyalin file dari solusi VSS Anda dan tahan di tempat lain ketika Anda kembali untuk memperbaiki bug pada kode 'produksi'.

Untuk tendangan, cukup instal GIT - arahkan ke file VSS Anda dan lihat betapa mudahnya bagi GASP dua programmer untuk bekerja pada bagian berbeda dari file yang sama PADA SAAT YANG SAMA, dan kemudian peranti lunaknya secara cerdas menggabungkan perubahan Anda ... SCM alat harus lebih dari sekadar cadangan sumber.


0

Pandangan saya tentang VSS? Digunakan untuk waktu yang lama secara teratur (masih digunakan secara ocasional untuk komponen yang lebih tua) tetapi ini sudah terlalu abad untuk tim kami:

  • Sangat tidak bisa diandalkan
  • Bukan cabang yang bisa digunakan
  • Dukungan versi yang sangat buruk, Anda memiliki label tetapi (seperti cabang) tidak dapat digunakan

Saya dengan semua hal di atas: pilih salah satu alternatif open-source waaaaay yang lebih baik (bahkan CVS lama) atau, jika perusahaan Anda memiliki semacam langganan MSDN, TFS .


0
  • penguncian standarnya memperlambat pengembang, dan tidak ada yang mau mengacaukan pengaturannya
  • itu tidak terintegrasi dengan layanan lain dengan sangat baik, misalnya aplikasi web manajemen proyek
  • itu tidak akan bekerja dengan baik dengan server CI yang direncanakan

Hal-hal baru Team Foundation 2010 seharusnya banyak membantu, dan mencoba untuk menjauh dari bagian buruk VSS. Tetapi pada intinya masih bergantung pada VSS , itulah sebabnya kami pindah ke SVN.

sunting - Saya mengerti bahwa TFS semuanya baru, tetapi ketika mengujinya, beberapa pengembang yang saya tanyakan memiliki perasaan yang sangat mirip dengannya. Alasan saya mengatakan 'pada intinya' adalah karena saya ingat melihat file TFS yang dibuat dalam solusi saya yang tampak seperti yang dibuat VSS. Ini dari sudut pandang pengembang, bahkan mungkin tidak tahu tentang teknologi di balik VSS atau TFS atau SCM lainnya. Maaf atas kebingungan.


Apa!?!? TFS tidak bergantung di mana saja pada VSS
BlackICE

TFS ditulis ulang dari bawah ke atas ... tidak bergantung pada VSS dengan cara apa pun.
LeWoody

2
Visual Studio menggunakan API plugin SCC yang sama untuk TFS dan VSS. API ini mendukung VSS dan memiliki merasa VSS untuk itu, jadi ketika Anda mengubah dari VSS ke setiap server yang kontrol sumber lain, akan merasa seolah-olah hantu VSS masih ada.
MatthewMartin

1
@LWoodyiii: Lalu bagaimana mereka akhirnya mengkodekan tumpukan sampah dua kali? Mereka setidaknya harus membaca komentar dalam kode sumber VSS.
Robert S Ciaccio

1
@ CigigTP: kebanyakan develoopers sama sekali tidak membutuhkan barang-barang di TFS. Hanya suara yang membuat pekerjaan mereka lebih sulit. Jika PM dan prospek menginginkan semua fungsi itu, mereka harus terpisah dari perangkat lunak yang perlu digunakan pengembang untuk menjadi produktif.
Robert S Ciaccio

0

Kembali pada hari saya dibebani dengan SCCS di bawah XENIX. VSS, dalam Visual Studio 6, untuk semua kegagalan itu dan masalah memiliki kelebihan yang berbeda. Saya masih menggunakannya untuk proyek-proyek kecil dan saya tidak lagi menggunakan SCCS dalam versi apa pun.


0

Saya tidak tahu mengapa semua orang ingin badmouth VSS. VSS tidak didistribusikan, dan kontrol versi terdistribusi tidak

  1. lebih baik
  2. memungkinkan untuk kontrol versi yang tidak didistribusikan dalam praktek

Silakan baca ini .

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.