2011-06-16 13 views
11

Bir dosyada bazı değişiklikler yapıyorum, ancak başka bir şekilde değiştirmem gerektiğini anlıyorum - bu, mevcut değişiklikleri başka bir yerde geçici olarak kaydetmem ve daha sonra uygulamamı gerektirir. Bunu svn/subversion aracında nasıl yapabilirim, ör. TortoiseSVN?Daha sonra yeniden kullanmak için fark nasıl kaydedilir - TFS'deki raf kümesine benzer özellik?

Bahsettiğim özellik, shelveset yapmasına ve TFS'de onu açığa çıkarmasına çok benzer.

Lütfen nasıl yapılacağını biliyorsanız yardım edin. Teşekkür ederim!

cevap

14

AntonyW'un cevabı işe yarıyor, ancak özellikle çok fazla kodunuz varsa, bu aşırı bir olasılık olabilir!

ben TFS' shelveset aşina değilim ama svn size aradığınız sadece ne yapmak svn diff komutu verir: Bir diff yapma ve böylece daha sonra uygulayabilirsiniz tasarruf. Sadece svn diff'un çıktısını alın ve bir .patch veya .diff dosyasına kaydedin.

svn diff myfile > myfile.patch 

Eğer TortoiseSVN'ye kullandığınız için, this is even easier to do.

0

Genelde yeni bir yere giriş yapıyorum, değişiklikleri orada yapın ve sonra işleyin.

Daha sonra, değişiklikleri daha önce değiştirilmiş sürümümle birleştirmek için özgün konumdaki bir güncelleştirmeyi yapıyorum.

+0

Neden ödeme yapmak .... ziyade izni daha af dilemektir her zaman iyidir? – manojlds

4

Ayrıca değişikliklerinizi içeren bir şube de oluşturabilirsiniz. Diske diff'yi depolamaktan bile daha iyi olabilir.


Düzenleme: Yani kopya çalışma değişikliklerin farklı tür var? Saklamak istediğiniz dosyalar ve kaydetmek istediğiniz dosyalar farklı mı? Bu durumda TortoiseSVN'den yama oluşturması daha iyidir.

Ancak, çalışma kopyasındaki tüm değişiklikleri düzeltme ekine koymak isterseniz, şube oluşturmak benim düşüncemde daha iyidir. Bu Tortoise gerçekten kolaydır:

  1. dalı (yeni şube geçmek için işaretlemeyin) kaynağı olarak Şubesi/Etiket ve işareti çalışma kopyası oluşturun. Kaplumbağa şube geri alma oluşturmasından sonra
  2. tüm yerel değişiklikler
  3. reintegrate şube shure için

gövdede için başka değişiklikler

  • dalına
  • Anahtarı gövdede ve gövde değişiklikleri birleştirmek için Teslim Et olun Çoğu zaman benim için çalışır, yamalar, tamamlanmamış değişikliklerin yerel araçlarını oluşturmak için değil, kod incelemesi için iyidir;)

  • +0

    Bir diff/shelveset için bir şube oluşturma? Bu şekilde desteklemiyorum. Yine de teşekkürler Krzychkula. –

    1

    Verilmiş olan yukarıdaki cevaplara gelince, ben (kişisel olarak) onlarla katılmıyorum (toplu vb ...). Benim için de (ve ben de kullanıyorum), bu şu anda sadece takım temeli tarafından desteklenen ve bir ağ üzerinden kullanılabilen iyi özelliklerden biridir.Bu aşağıdaki durumda bir çok yardımcı olur:

    1. Birinci ve en önemli ana kaynak kodunda bir kontrol (ve tamamlanmamış) kodu kalmadan başka kişiden bir inceleme sahip olmasıdır.
    2. Birden fazla çözümünüz olması durumunda, uygulamanızda test edebileceğiniz birden fazla rafa sahip olabilirsiniz.
    3. Başka bir kişi, check-in işleminden önce kısmi test amacıyla belirli bir raf setine ihtiyaç duyuyorsa, kullanılabilir.

    Bu özelliği aradım ve diğer ürünlerin çoğunun (SVN, mercurial) gelecekte bu özelliği tanıtacağını öğrendim, ancak henüz mevcut değil.

    ... Eğer diğer çalışma kopyasını kopyalayamazsınız,

    İlgili konular