Time Machine vs Source Control?


18

Akhirnya yakin untuk mulai menggunakan semacam kontrol versi untuk kode saya alih-alih menyalin salinan proyek pada akhir setiap hari.

Mengunduh Tortoise SVN dan menggunakannya untuk membuat repositori secara lokal di hdd saya. Saya sudah menggunakannya selama 2 hari sekarang tetapi saya harus mengatakan bahwa menggunakannya sebenarnya lebih merepotkan daripada hanya menyalin proyek secara manual di explorer. Tentu, Anda hanya menyimpan perubahan inkremental tetapi dengan disk murah saat ini saya tidak bisa mengatakan itu argumen ketika Anda hanya memiliki proyek kecil. Saya belum benar-benar menemukan cara cepat untuk menelusuri versi yang lebih lama dari file-file saya.

Yang saya inginkan adalah pembatalan tanpa batas yang benar-benar transparan saat saya kode, jika saya menyimpan file saya ingin cadangan. Saya tidak ingin check-out, check-in, dan bahkan tidak membuat saya mulai memindahkan file. Saya belum pernah mencoba Time Machine untuk OS X tetapi sepertinya itulah yang saya cari.

Apakah ada program seperti itu untuk windows? Lebih disukai gratis dan dengan semacam sistem penandaan sehingga saya dapat menandai stempel waktu ketika proyek bekerja dll.

Mungkin harus menambahkan bahwa saya kebanyakan bekerja sendiri di satu komputer.

Pembaruan: Beberapa dari Anda bertanya mengapa saya ingin cadangan. Karena saya bekerja sendiri, sebagian besar memungkinkan saya untuk dengan cepat meretas solusi tanpa khawatir ada sesuatu yang akan kacau.


4
Perbedaan utama antara SCM dan Time Machine adalah bahwa dengan SCM Anda secara eksplisit melakukan dan Anda dapat mengambil semua komitmen Anda sedangkan dengan backup Time Machine bersifat otomatis (setiap jam) dan beberapa hilang dengan waktu: hanya satu cadangan per minggu yang disimpan selamanya (dan Anda tidak memilih yang mana).
mouviciel

2
Saya pikir auto komit pada setiap membangun yang melengkapi tanpa kesalahan, ditambah label setiap kali unit test lulus bisa baik di cabang lokal untuk banyak programmer
Ian Ringrose

1
Masalah dengan kontrol versi apa pun, adalah bahwa jika Anda adalah satu-satunya pengembang pada suatu percobaan, sangat sulit untuk menghentikan file yang belum Anda tambahkan ke sistem kontrol versi. Memiliki server build terpisah berfungsi, tetapi lebih banyak untuk diatur. Hanya mencadangkan SEMUA file bisa lebih aman.
Ian Ringrose

Jawaban:


39

Saya pikir Anda benar-benar meremehkan manfaat dari kontrol sumber. Seperti yang ditunjukkan oleh Dustin, ada percabangan, penggabungan, dan berbagi. Juga, menggunakan sistem kontrol sumber dapat membuat Anda dengan mudah mengetahui kapan setiap baris dalam kode Anda terakhir kali diubah. SVN juga dapat melacak riwayat file meskipun diubah namanya atau dipindahkan ke direktori lain. Penggabungan bahkan dapat menyelesaikan masalah bahkan jika Anda hanya 1 pengembang, karena Anda dapat bekerja di desktop, laptop, dan komputer lain tanpa harus khawatir tentang menimpa perubahan.


Kebutuhan Jeff (dan milik saya) tidak diisi oleh kontrol sumber karena itu memerlukan komitmen manual. Ada nilai untuk dapat menelusuri perubahan menit demi menit yang Anda buat di copy pekerjaan Anda tanpa harus melakukan setiap menit. Dan tanpa mencemari repositori. Beberapa IDE (seperti Eclipse) memungkinkan Anda menelusuri file proyek Anda kembali ke masa lalu. Tetapi itu membutuhkan penggunaan IDE tertentu dan pengaturan proyek. Alangkah baiknya jika ada fungsi serupa di alat independen.
Vimes

@JohnB SVN memiliki fitur yang disebut "Autoversioning". Ini memungkinkan Anda untuk me-mount repositori Anda sebagai folder WebDAV standar, dan setiap kali Anda menyimpan file, itu akan melakukan komit. Jika Anda menyimpan cukup sering, maka Anda dapat secara efektif kembali ke waktu kapan pun Anda menyimpan file. Ini tidak granular seperti sesuatu seperti VS.Net di mana Anda dapat Ctrl + Z setiap karakter tetapi Anda harus menyimpan setiap 10 menit. Jika Anda seorang pengembang tunggal yang mengerjakan suatu proyek, itu mungkin akan berhasil, meskipun saya tidak punya banyak pengalaman dengannya. ( svnbook.red-bean.com/en/1.7/svn.webdav.autoversioning.html )
Kibbee

Terima kasih, Kibbee. Saya melihat posting VonC tentang itu, di bawah ini. Ini salah satu dari sedikit opsi yang pernah saya lihat, dan satu-satunya yang gratis. Ada beberapa produk khusus, di bawah ini juga, yang tidak mengharuskan Anda untuk membuat server kontrol sumber, yang bagus. Tetapi mereka membutuhkan biaya dan sepertinya mereka memiliki lebih banyak lonceng dan peluit daripada yang saya butuhkan (atau, salah satu dari mereka membutuhkan pekerjaan UI). Hal terdekat yang saya lihat dengan apa yang saya inginkan adalah DropBox, dengan integrasi menu konteks Windows Explorer. Ini menyimpan 30 hari sejarah secara default, dan jika Anda membayar untuk fitur Rat Pack, itu akan menghemat tanpa batas waktu. Tapi ini adalah aplikasi cloud.
Vimes

21

Itu akan Auto-Versioning (untuk tetap dengan Subversion):

Autoversioning adalah fitur di mana klien WebDAV umum dapat menulis ke server DeltaV (seperti mod_dav_svn), dan server melakukan komit secara diam-diam di latar belakang. Ini berarti bahwa jika Anda menggunakan Apache httpd sebagai server Subversion Anda, maka sebagian besar sistem operasi modern dapat me-mount repositori sebagai berbagi jaringan, dan pengguna non-teknis mendapatkan versi "transparan" secara gratis. (Tentu saja, pengguna teknis masih dapat menggunakan klien Subversion untuk memeriksa riwayat repositori.)


2
Jelas jawaban yang bagus dan solusi yang mirip dengan apa yang diinginkan OP, pencadangan reguler tanpa komitmen eksplisit.

12

Jangan bingung antara solusi cadangan dengan kontrol versi. Keduanya penting tetapi memiliki tujuan yang berbeda. Apa yang seharusnya Anda lakukan adalah menggunakan kontrol versi (svn, cvs, lincah, git, apa pun) dan memiliki yang secara otomatis didukung di tempat lain selain HDD Anda, lebih disukai di luar lokasi (host berbayar atau S3). Atau pergilah 100% jauh dan temukan seseorang untuk meng-host repo SVN Anda. Saya akan menyarankan Unfuddle . Anda dapat mengatur repo SVN gratis di sana tanpa terlalu banyak kesulitan.

Gigit peluru dan gunakan SVN. Mungkin tidak semudah yang biasa Anda lakukan, tetapi ketika Anda harus melakukan rollback yang sangat spesifik atau membandingkan perubahan antar file, Anda akan senang melakukannya.



6

Pengungkapan Penuh: Saya bekerja untuk Perangkat Lunak Altaro.

Jika Anda menginginkan Time Machine untuk Windows, silakan gunakan 'Ups! Buat cadangan daftar BETA

Kami adalah perusahaan perangkat lunak baru Altaro Software dan kami sedang mengembangkan produk perangkat lunak cadangan / produk kontrol versi yang disebut 'Ups! Cadangkan '. Ups! Cadangan adalah gabungan antara produk cadangan tradisional dan sistem kontrol versi yang ringan. Ups! Cadangkan secara otomatis melacak perubahan pada dokumen, foto, dan file lainnya dan memungkinkan Anda untuk mundur ke titik waktu mana pun. Untuk batas tertentu itu setara dengan Time Machine untuk Windows.

Harap dicatat bahwa saya mengatakan kontrol versi ringan - ini bukan produk yang dimaksudkan untuk menggantikan produk kontrol versi yang tepat. Pengembang kami menggunakan SVN dan Ups! Cadangkan pada saat bersamaan. Mereka menggunakan VSN untuk kontrol versi yang benar dengan fitur check-in / out tetapi mereka juga menggunakan Ups! Cadangkan untuk saat Ups yang kadang-kadang mereka dapatkan dan perlu cepat menemukan versi file sebelumnya tanpa harus melalui seluruh proses checkout.

Kami banyak berinvestasi dalam pengalaman pengguna DAN permen mata - karena kami memahami bahwa eyecandy TIDAK menyiratkan pengalaman pengguna.

Kami akan segera masuk ke BETA dan sedang mencari penguji BETA - siapa pun yang mau mencobanya coba lihat http://www.altaro.com/download.php . Di halaman ini Anda juga dapat melihat tangkapan layar produk.

Pendapat dan kritik konstruktif Anda akan sangat dihargai (akan senang mendengar hal-hal buruk ... lebih dari hal-hal baik)

Seperti yang saya katakan sebelumnya - Ups! Pencadangan tidak menggantikan kebutuhan untuk produk kontrol versi yang tepat - tetapi itu memujinya. Ini dapat digunakan sebagai cara untuk mengontrol versi, tetapi kemudian Anda tidak akan memiliki checkin / out dan percabangan harus dilakukan secara manual dengan membuat folder baru.

Maaf untuk colokannya !!

David Vella - david@altaro.com


Saya pikir daftar fitur adalah awal yang sangat bagus. Apakah ini mendukung pemulihan penuh (seperti jika terjadi kegagalan perangkat keras; persyaratan untuk Time Machine untuk Windows, jika Anda bertanya kepada saya)? Dan, meskipun sedikit yang peduli: dapatkah ia menangani beberapa disk cadangan (redundan)? Atau, jika tidak, beberapa cara untuk menyalin cadangan lengkap (seperti Time Capsule, tetapi mana yang membutuhkan waktu lama)? Untuk rilis berikutnya: Saya akan merekomendasikan plugin untuk perangkat lunak populer yang membutuhkan penggunaan sistem file tertentu. Seperti untuk program email: untuk menemukan dan mengembalikan pesan tanpa mengetahui bagaimana ini dapat ditemukan pada sistem file. Dan: lokalisasi?
Arjan

Hai Arjan - tidak, itu tidak mendukung pencitraan disk (ala Acronis & Ghost) dan sejujurnya saya tidak yakin apakah kita harus seperti itu - kita akan melihat berdasarkan umpan balik. Sudah ada produk bagus yang bisa Anda gunakan untuk bare metal sehingga kami tidak akan masuk ke pasar itu sekarang dan fokus membuat Ups! Cadangkan solusi titik terbaik di pasar. Sebagai gantinya, kami berfokus pada bagian kontrol versi - pada konten aktual sebagai lawan dari lapisan bit. Sampai hari ini kami memiliki pratinjau 'aplikasi sadar' karena kami mendukung pratinjau file MS Office, gambar, file berbasis teks lainnya - kami akan terus menambahkan itu.
David Vella

Saya katakan sampai batas tertentu itu setara dengan Time Machine. Dari apa yang saya dengar, yang terdekat dengan Apple Time Machine adalah Rebit - tidak pernah mengujinya sendiri. Bahasa Inggris hanya untuk saat ini - tetapi kami siap untuk memulai pelokalan. Jika Anda ingin mencobanya dalam BETA kirimi saya email :) David Vella dari Malta (Eropa) david@altaro.com
David Vella

Setelah melalui beberapa komentar yang ditinggalkan oleh Genie "Candice" alias "Salam": +1 untuk pengungkapan Anda ;-) ( superuser.com/questions/7423/time-machine-for-windows/… / stackoverflow.com/questions/274948 / time-machine-for-windows /… / serverfault.com/questions/1918/… )
Arjan

4

Solusi yang sangat mirip dengan Time Machine disajikan di majalah Jerman, beberapa waktu lalu. Sementara artikel itu sendiri tersedia untuk 60 sen, skrip itu sendiri gratis: http://www.heise.de/ct/ftp/06/09/126/

Pada dasarnya ia menggunakan rsync untuk mencadangkan data Anda ke drive yang diformat NTFS eksternal. Dengan setiap cadangan baru, ia hanya menyimpan file baru ke disk cadangan, tetapi membuat hardlink ke yang lainnya. Secara efektif Anda akan melihat struktur folder lengkap untuk masing-masing dan setiap cadangan, tetapi hanya menggunakan ruang yang diperlukan untuk cadangan lengkap pertama + setiap perubahan yang terjadi kemudian.

Ini tidak semewah Time Machine, tetapi teknologi yang sama (Time Machine menggunakan rsync juga, sejauh yang saya tahu) di bawah selimut.


2

Time Machine adalah solusi backup / restore yang agak biasa. Gunakan alat cadangan Windows apa pun dengan cadangan inkremental harian otomatis dan Anda memiliki hampir sama. Namun, bahkan jika dimungkinkan untuk memulihkan keadaan sebelumnya (harian), itu mungkin bukan solusi tercepat.


2

SVN tidak terlalu efektif untuk pengembang solo. Lihat BZR . Saya menggunakan BZR untuk semua proyek pribadi dan direktori rumah saya, hanya menggunakan SVN untuk proyek pekerjaan besar.


Menarik. Apakah Anda menggunakannya dengan beberapa server, bahkan localhost, atau akankah ini bekerja hanya dengan sistem file lokal?
PhiLho

1
"SVN tidak terlalu efektif untuk pengembang solo". Itu pernyataan yang cukup selimut, bukan?
mwjackson

1
jacko, mendidik diri sendiri tentang alternatif dan Anda akan setuju.
Dustin Getz

1
phil, selalu ada salinan lokal dari repositori untuk membuat segalanya lebih cepat dan untuk menghindari masalah izin, tetapi secara opsional mendorong / menyinkronkan ke apa pun yang jauh (berbagi, situs web, ftp, mungkin lebih) jika / ketika Anda perlu bekerja dengan tim. baca situs web.
Dustin Getz

Perbedaan utama antara BZR dan SVN tampaknya adalah bahwa BZR didistribusikan. Karena OP sebagian besar bekerja sendiri pada satu komputer, saya tidak yakin bahwa manfaat dari kontrol sumber terdistribusi akan mengalahkan kompleksitas tambahan dalam kasus ini.
redtuna

2

Genie Timeline 2.0 keluar pada minggu lalu.

Saya tahu, saya tahu, "colokan waktu lagi!" ... tapi tidak.

Timeline 2.0 telah sepenuhnya ditulis ulang, dan sejauh ini, konsensus umum di web sangat positif.

Yang terbaik dari semuanya, hampir semua fitur tersedia dalam Genie Timeline edisi gratis baru.

Spesifikasi Genie Timeline 2.0 Gratis: http://www.genie-soft.com/Free_products/free_timeline.aspx

Unduh: http://download.cnet.com/Genie-Timeline-Free/3000-2242_4-10967059.html?tag=mncol

Versi berbayar dari produk ini menambahkan enkripsi, kompresi, dan pembersihan otomatis dari cadangan yang lebih lama.

PENGUNGKAPAN: Saya adalah seorang pemimpin proyek pada versi 2.0


+1 untuk pengungkapan. Lihat juga Time Machine untuk Windows yang, menurut saya, adalah tempat yang lebih baik untuk melanjutkan pertanyaan ini.
Arjan

1

Apa yang Anda inginkan dari kontrol sumber / cadangan ganda untuk dilakukan?

Ada dua alasan untuk kontrol kode sumber dalam pandangan saya - manajemen konfigurasi, dan perlindungan terhadap masalah / kebodohan jari pengembang (banyak dibuktikan oleh saya). Jika yang terakhir adalah masalahnya, maka saran di bawah ini (atau FileHamster seperti yang direkomendasikan dalam jawaban lain) akan melakukan pekerjaan.

Jika seperti yang disarankan oleh Dustin Getz, ini tentang manajemen konfigurasi, cabang, dll, maka SVN atau rekomendasi program kendali kode sumber lainnya lebih baik daripada saran saya.

Jadi, tidak menggunakannya, dan tidak gratis ($ 32), tetapi muncul Google

TrackMyFiles - http://www.trackmyfiles.com/en/features/

  • Melacak dan menyimpan perubahan pada file secara otomatis
  • Memungkinkan Anda melihat dan mengembalikan versi file lama
  • Versi file penting dapat diberi label secara eksplisit
  • Kompatibel dengan sebagian besar tipe file, seperti Microsoft Word® Documents dan Microsoft Powerpoint® presentations
  • Penyimpanan perubahan yang efisien melalui algoritma kompresi delta
  • Diintegrasikan ke dalam Microsoft Windows® File Explorer untuk operasi yang lancar

Versi uji coba 60 hari tersedia, menurut situs web itu

Atau, jika Anda menggunakan Vista, ada shadow-copy bawaan. Lihat http://en.wikipedia.org/wiki/Shadow_Copy


1

@Lukman dan Paul, saya suka ide sistem versi yang disederhanakan untuk dokumen biasa, tetapi saya pikir ini adalah kesalahan untuk menggunakannya untuk kode sumber - ketidakmampuan untuk bercabang, menggabungkan, dan berbagi akan benar-benar menghambat Anda.


1
Tergantung. Ini sesuai dengan yang diminta OP. Ada dua alasan untuk kontrol kode sumber dalam pandangan saya - manajemen konfigurasi, dan perlindungan terhadap masalah / kebodohan jari pengembang (banyak dibuktikan oleh saya). Jika yang pertama adalah masalahnya, saya setuju dengan Anda. Jika yang kedua, semua solusi ini akan dilakukan.
The Archetypal Paul

1

Beberapa pemikiran:

Anda mungkin menyukai SVK, yang tampaknya plug-in ke SVN. Saya belum mencobanya sendiri, tetapi terlihat menarik.

http://svk.bestpractical.com/view/HomePage

Alat-alat seperti Trac memberikan penelusuran repositori SVN yang layak dan mungkin layak untuk dilihat.

Jika Anda kesulitan menemukan jargon yang tepat untuk mencari, cari 'snapshots'. Anda mungkin juga ingin membangun semacam proses pengarsipan ke dalam sistem build Anda sehingga setiap kali Anda menjalankan membuat, Anda mendapatkan snapshot secara otomatis (atau apa pun yang masuk akal untuk situasi Anda).


1

Saya memiliki cron (cari google dan pilih yang Anda suka) dan kemudian skrip baris perintah untuk menjalankan pkzipc di folder souce saya setiap beberapa jam. begitu saya mengikatkan cron ke startup saya, saya baru saja memulainya dan melupakannya. menyelamatkan saya 1 kali ketika di akhir nite brainfreeze saya mengetik del / f / s * .cs


1

Windows Vista Business, Enterprise dan Ultimate memiliki fitur ini;)


Apa namanya, apa fungsinya, apa pengorbanannya? Apakah Anda mungkin berbicara tentang salinan volume bayangan?
redtuna

1

Anda akan ingin memeriksa ini jika Anda tertarik dengan Time Machine Apple dan memiliki OS platform Windows.

http://www.genietimeline.com

Beta akan segera dirilis ... Anda mungkin ingin mendaftar untuk itu ... Tidak sabar untuk mendapatkan Genie Timeline ...

Rupanya, fitur-fiturnya termasuk Realtime CDP, versi file tanpa akhir, cadangan otomatis, integrasi jendela ke inti ... Saya sudah menunggu software semacam ini dirilis di Windows selama berabad-abad ...


Sebuah tinjauan: pc-tutorials.suite101.com/article.cfm/... Saya akan mengatakan "secara otomatis mendeteksi file pengguna yang paling umum" hanyalah solusi untuk itu hanya membuat cadangan file yang dibuat pengguna . Bagaimana cara mengembalikan seluruh sistem? Tampaknya tidak ada integrasi dengan, misalnya, perangkat lunak email. Apa yang harus dilakukan setelah menghapus beberapa pesan? Apakah saya perlu tahu di mana dan bagaimana email itu berada di hard drive? Dan bisakah saya mengembalikan satu pesan? Mencadangkan hampir semuanya, dan integrasi dengan perangkat lunak lain, masih menjadikan Time Machine satu-satunya. Kekecewaan.
Arjan

1

Saya akan menyarankan menggunakan kontrol versi yang dapat Anda pasang ke IDE Anda. Itu membuatnya bekerja dengan mudah. Cukup klik perbarui / komit di pohon sumber Anda dan Anda selesai!


1

saya suka menyimpan dan mengerjakan proyek saya menggunakan dropbox ( http://www.getdropbox.com/ ). tidak hanya secara otomatis membuat cadangan pekerjaan Anda, itu juga membuat revisi untuk Anda.


Jika Anda sering menabung, ini akan membuang-buang revisi di gudang DropBox.
Patrick Desjardins

1

Windows Server 2003 dan yang lebih baru memiliki " Shadow Copy ", yang mirip dengan Time Machine, tetapi dimaksudkan untuk lingkungan yang berjaringan dan perusahaan. Anda mungkin dapat mengaturnya secara lokal jika Anda benar-benar menginginkannya.

Namun, itu benar-benar akan menjadi solusi yang lebih rendah untuk kontrol kode sumber yang baik. Dengan kontrol sumber, Anda dapat melihat riwayat lengkap dan terperinci dari setiap baris kode dalam basis kode Anda. Sulit untuk menghargai betapa berharganya itu, sampai Anda sudah mencobanya.

Salin Bayangan



0

Jika Anda benar - benar mencari "Mesin Waktu untuk Windows": Windows Vista datang dengan Time Warp (itu nama kode, saya lupa apa yang disebut fitur selesai). Ini hampir sama dengan Time Machine OS X, hanya dengan sedikit sensasi.


1
Namanya salinan volume bayangan dan terlalu ramah-nenek. Anda hanya dapat memilih file jenis apa yang ingin Anda backup ("musik", "gambar" dll), bukan folder apa yang harus dipantau. Ini hanya berjalan sekali sehari kecuali Anda memintanya untuk melakukan backup sekarang.

0

Coba Flashbake . Ia dapat mencadangkan setiap n menit (melalui cron dan mungkin Penjadwal Windows) file yang belum berubah dalam m menit (bisa 0). Anda akan membutuhkan Python, jadi Cygwin atau ActiveState Pyton. Ini didasarkan pada git dan dirancang untuk tipe non-teknis.


0

Anda bisa menggunakan vm dan mengambil snapshot sebelum membuat perubahan besar? Cukup menyakitkan untuk memutar kembali seperti itu - sekitar 5 menit dan selesai :)


vm untuk Virtual Machine? ...
Patrick Desjardins

0

SlickEdit memiliki fitur bagus yang mirip dengan yang Anda gambarkan. Setiap kali Anda menyimpan file yang sedang Anda kerjakan, itu membuat cadangan lokal (berbeda). Pada waktu luang Anda, Anda dapat melihat kembali melalui sejarah file lokal. Anda dapat menggunakan ini untuk menambah repositori SVN Anda, yang juga dapat diintegrasikan dengan SlickEdit.


0

Anda dapat mencoba Genie Timeline, ini seperti mesin waktu windows untuk windows dan dan Anda dapat kembali ke versi yang Anda perlukan menggunakan penggeser waktu untuk melihat setiap versi http://www.genietimeline.com


Colokan yang cukup untuk Genie sudah.
Arjan



0

Mercurial sangat cocok untuk pekerjaan ini.

Setiap kali Anda ingin mengambil snapshot dari kode Anda, ini yang Anda lakukan di baris perintah: hg commit dan Anda selesai!

Jika Anda ingin menelusuri berbagai versi file Anda, mudah dengan TortoiseHG dengan menggunakan menu konteks grafis ketika mengklik kanan file yang dimaksud.

Juga, ini lebih baik daripada SVN karena tidak mengotori semua sub-folder Anda dengan direktori .svn tersembunyi.


Bagaimana jika saya tidak ingin menghabiskan waktu untuk melakukan, menarik ... tetapi hanya sesuatu otomatis yang melacak setiap perubahan, seperti yang dilakukan google docs selain lokal. Apa yang kamu sarankan?
skan
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.