Saya telah melakukan perubahan dalam banyak file ke repositori SVN dari Eclipse.
Saya kemudian pergi ke direktori situs web di kotak linux di mana saya ingin memperbarui perubahan ini dari repositori ke direktori di sana.
Saya ingin mengatakan "svn update project100" yang akan memperbarui direktori di bawah "project100" dengan semua file saya yang ditambahkan dan diubah, dll.
NAMUN, saya tidak ingin selalu memperbarui perubahan yang tidak saya buat. Jadi saya pikir saya bisa mengatakan "svn status project100" tetapi ketika saya melakukan ini saya mendapatkan daftar perubahan yang sama sekali berbeda yang akan dibuat, tidak ada saya yang ada di daftar, yang aneh.
Oleh karena itu untuk memastikan bahwa hanya perubahan saya yang diperbarui ke direktori web, saya terpaksa menavigasi ke setiap direktori di mana saya tahu ada perubahan yang saya buat dan secara eksplisit hanya memperbarui file-file itu, misalnya "svn update newfile1.php" dll. yang membosankan.
Adakah yang bisa menjelaskan prosedur kerja standar di sini, yaitu bagaimana saya mendapatkan daftar akurat dari semua perubahan yang akan dilakukan sebelum saya menjalankan perintah "svn update"? Saya pikir itu adalah perintah "status".
svn status -q -u
... Hanya menampilkan perubahan pembaruan dan perubahan lokal yang berhubungan dengan file yang termasuk dalam repositori. Anda tidak mendapatkan tanda tanya (?) Dari file non-repositori.Bergantung pada apa yang ingin Anda ketahui antara copy pekerjaan Anda dan repositori server svn terbaru, tanpa memperbarui copy pekerjaan lokal Anda, berikut ini yang dapat Anda lakukan:
jika Anda ingin tahu apa yang telah diubah di repositori server svn, jalankan perintah:
jika Anda ingin mengetahui apakah file yang sama telah dimodifikasi baik di copy pekerjaan lokal Anda dan di repositori server svn, jalankan perintah:
jika Anda ingin mengubah daftar file antara revisi tertentu dan HEAD, jalankan perintah:
jika Anda ingin mendapatkan daftar file yang diubah antara revisi paticular, jalankan perintah:
jika Anda ingin melihat apa yang akan diperbarui (tanpa benar-benar memperbarui), jalankan perintah:
Jika Anda ingin mengetahui konten file tertentu yang telah diubah di repositori server svn dibandingkan dengan copy pekerjaan Anda, jalankan perintah:
jika Anda ingin mengetahui konten apa dari semua file yang telah diubah di repositori server svn dibandingkan dengan copy pekerjaan Anda, jalankan perintah:
sumber
Anda dapat melihat apa yang akan diperbarui (tanpa benar-benar memperbarui) dengan menerbitkan:
Lebih lengkapnya di sini .
sumber
svn merge --dry-run --revision BASE:HEAD .
how do I ... without doing an update?
a:first, do an update, then ...
:) :) :)Inilah yang saya cari. Memeriksa Google terlebih dahulu, tetapi
svn help
akhirnya datang untuk saya :)sumber
Sama tapi lebih pendek lebih pendek :):
sumber
Anda dapat menggunakan 'svn diff' untuk melihat perbedaan antara copy pekerjaan Anda dan repositori.
sumber
svn update
Secara teori, Anda dapat membuat semua perubahan Anda di cabang yang Anda buat untuk Anda gunakan sendiri. Anda kemudian akan cukup yakin bahwa Andalah satu-satunya yang berkomitmen untuk itu.
Pengembangan fitur IMHO harus dilakukan seperti ini.
Kemudian Anda dapat memperbarui mesin target ini dari cabang ini, bukan dari bagasi.
sumber