Apa perbedaan antara "Bandingkan dengan versi Ruang Kerja" dan "Bandingkan dengan versi terbaru"?

91

Saya menggunakan Visual Studio 2012 dengan TFS. Setiap kali saya ingin membandingkan file yang saya check out, saya memiliki dua opsi untuk dipilih:

  1. Bandingkan dengan versi ruang kerja
  2. Bandingkan dengan versi terbaru

tangkapan layar

Apa bedanya ?

Bilal Fazlani
sumber

Jawaban:

78

Bandingkan dengan versi terbaru tampaknya jelas. Ini membandingkan file dengan versi terbaru di TFS. Jadi Anda akan mendapatkan semua perbedaan antara versi terbaru yang diperiksa ke dalam kontrol sumber dan folder mana pun yang Anda bandingkan.

Bandingkan dengan versi Workspace mungkin membingungkan, tetapi sebenarnya cukup sederhana. TFS melacak versi file yang telah Anda ambil ke ruang kerja Anda. Biasanya ini adalah versi terbaru, atau cukup dekat dengan itu , tetapi tidak harus demikian .

Saat menggunakan Get Specific Versionopsi, Anda dapat mengambil versi file apa pun ke ruang kerja lokal Anda. Anda bahkan dapat mengambil file dari berbagai versi ke dalam ruang kerja Anda. Saat Anda memilih opsi ini, perbandingan akan dilakukan terhadap versi yang saat ini ada di ruang kerja Anda.

Bandingkan layar

jessehouwing
sumber
"Saat Anda memilih opsi ini, perbandingan akan dilakukan terhadap versi yang saat ini ada di ruang kerja Anda." dibandingkan dengan apa?
Bilal Fazlani
Dengan versi di disk secara default. Atau versi apa pun yang Anda pilih sebagai jalur target. Pada akhirnya Anda bertanggung jawab untuk memilih sumber dan versi target untuk perbandingan.
jessehouwing
2
Dengan versi perubahan yang terakhir Anda unduh ke ruang kerja yang dipilih dengan apa pun yang saat ini ada di disk.
jessehouwing
2
Untuk menambah kejelasan lebih lanjut, mendapatkan versi ruang kerja bisa berbeda dari yang terbaru atau sama seperti yang terbaru. Ini sepenuhnya tergantung pada apa yang Anda tarik dari repositori Anda
Callat
1
Contoh: Anda berada dalam satu tim dan pada 3/5 Anda mendapatkan file. Anda memodifikasinya tetapi tidak check-in. Pada tanggal 5/5 Anda membandingkan dengan versi terakhir dan Anda melihat bahwa Anda menemukan lebih banyak perbedaan daripada yang diharapkan: Itu karena orang lain membuat lebih banyak perubahan pada file yang sama. Tetapi jika Anda membandingkan dengan versi Workspace, Anda hanya akan mendapatkan perbedaan antara perubahan lokal Anda dan bagaimana file sumbernya KETIKA ANDA MULAI MENCOBA. Sangat berguna untuk memeriksa HANYA apa yang telah Anda ubah ...
Roger
79
  • Membandingkan dengan versi ruang kerja sebenarnya membandingkan file yang diedit dengan versi file pada saat Anda check out (membandingkan secara eksklusif perubahan Anda ).

  • Membandingkan dengan versi terbaru membandingkan file yang diedit dengan versi terbaru dari file yang ada di tempat penyimpanan kode Anda, yaitu mungkin termasuk perubahan yang dibuat oleh kolega Anda .

http://codereferences.blogspot.ca/2012/03/tfs-compare-with-workspace-version.html

serhio
sumber
1
serhio, Anda dan @jessehouwing menyatakan perilaku yang bertentangan untuk jenis perbandingan Versi Ruang Kerja. Kedengarannya seperti dia menyatakan bahwa versi terbaru dari file akan digunakan jika ruang kerja itu sendiri dikonfigurasi untuk menggunakan versi terbaru. Namun apa yang Anda katakan menyiratkan bahwa file sumber belum tentu versi terbaru, tetapi versi file tersebut selama proses pembayaran?
samis
2
Ini adalah penjelasan paling sederhana yang terbaik. Ruang kerja tidak mengambil versi terbaru dari server secara otomatis. Itu membuat file yang Anda dapatkan terbaru. Jadi katakanlah Anda mendapatkan yang terbaru, edit file. Sementara itu, rekan pengembang Anda melapor-masuk, setelah Anda mendapatkan yang terbaru. Ruang Kerja Anda tidak tahu tentang perubahan check-in rekan pengembang Anda. Pada titik ini, Bandingkan dengan Ruang Kerja & Bandingkan dengan Versi Terbaru akan berbeda.
SKCS Kamal
5

Jawaban @ serhio 28/3/14 adalah jawaban naratif yang sangat bagus. Namun, saya yakin banyak (termasuk saya) membutuhkan itu didukung dengan contoh, dan ini dia:

  1. Untuk semua orang, "Versi Terbaru" = Perubahan # 1.
  2. Anda "Dapatkan yang Terbaru".
  3. Untuk Anda, "Versi Ruang Kerja" = Perubahan # 1.
  4. Anda membuat perubahan.
  5. Pengembang B "Dapatkan yang Terbaru".
  6. Untuk Pengembang B, "Versi Ruang Kerja" juga = Perubahan # 1.
  7. Pengembang B membuat perubahan.
  8. Pengembang B "Check-in".
  9. Untuk semua orang, "Versi Terbaru" = Perubahan # 2.
  10. Untuk Pengembang B, "Versi Ruang Kerja" = Perubahan # 2.
  11. Untuk Anda, "Versi Ruang Kerja" masih = Perubahan # 1.
  12. Anda "Dapatkan yang Terbaru", "Gabungkan Konflik" (jika perlu) dan "Lapor-masuk".
  13. Untuk semua orang, "Versi Terakhir" = Perubahan # 3.
  14. Untuk Anda, "Versi Ruang Kerja" = Perubahan # 3.
  15. Untuk Pengembang B, "Versi Ruang Kerja" masih = Perubahan # 2.
Tom
sumber
0

Untuk menyatakan kembali Jawaban:

File lokal selalu yang sedang Anda kerjakan.

File server bisa berupa:

  1. Versi terbaru termasuk semua check-in lainnya. (Anda melihat perubahan Anda , serta perubahan orang lain .)

  2. Versi seperti saat Anda memeriksanya (Anda hanya melihat perubahan Anda , meskipun orang lain telah check in sejak itu).

Jika tidak ada orang lain yang check-in file sejak Anda melakukan pembayaran, maka kedua cara di atas memberikan hasil yang persis sama.

Jadi jika Anda ingin membandingkan apa yang telah Anda lakukan dengan apa yang saat Anda mulai, pilih Versi Workspace

Jika Anda ingin membandingkan apa yang telah Anda lakukan dengan apa yang telah dilakukan orang lain, pilih Versi Terbaru

Greg Gum
sumber