SVN tamamlama mesajı geriye dönük olarak değiştirilsin mi?


85

Çok sayıda SVN commit mesajını farklı bir yapıya yeniden yazmak istiyorum, örneğin bir kategoriye önek eklemek. Kimden:

"foo" now accepts "bar" format for connection string.

İstiyorum

core - database - "foo" now accepts "bar" format for connection string.

Olmadığını Bunu yapmanın kolay bir yolu var mı yok kullanılarak tüm depo damping içerir svndumpfilter?

İstemci tarafında TortoiseSVN ve sunucu tarafında VisualSVN ile çalışıyorum. (VisualSVN, svnkomut satırından da konuşabileceğim, klasikle ilgili bir sarmalayıcıdır .)

Yanıtlar:


98

Evet, commit mesajları değiştirilebilir. Normal dosya özelliklerine benzer şekilde revizyonlarda özellikler olarak uygulanırlar.

TortoiseSVN Günlüğü penceresinde bir işleme sağ tıklayıp "Günlük mesajını düzenle" yi seçebilirsiniz.


+1 Bunun için teşekkürler. Diğerlerine ayrı ayrı uygulamak istediğim bazı API değişikliklerini içeren bazı işler yaptım ve kazara tüm parçayı gerçekleştirmeden önce bunu yansıtmak için günlük mesajını yazdım. Gerisini açıklayan bir günlük mesajı ile bir boşluk değişikliği yaparak "düzelttim"! bir dahaki sefere ne yapacağımı bileceğim.
Ed Daniel

1
Buna da +1 verdim, ancak "Depo revizyon değişikliklerini kabul etmek için etkinleştirilmedi; yöneticiden bir ön revprop-değişiklik kancası oluşturmasını isteyin" mesajıyla çalışmadı. Yönetici ne yapılması gerektiğini otomatik olarak bilecek mi?
J.Merrill

19
Eğer soruyorsun bana bir yetkili Subversion yöneticisine varsa? :)
JesperE

J.Merrill @ Sen göz zorunda hooksdeponun yerde klasörüne ve yeniden adlandırmak pre-revprop-change.tmpliçin pre-revprop-change.batişe bunun için.
sa_leinad

59

Günlük mesajlarını kesinlikle geriye dönük olarak değiştirebilirsiniz , SSS bölümünde ele alınmıştır . VisualSVN için komut satırı arayüzünün nasıl çalıştığından emin değilim, ancak vanilla svn için komut şöyle olurdu

svn propset -r N --revprop svn:log "new log message" URL

Depoyu boşaltmadan ve yeniden yüklemeden bunu tüm revizyonlar için yapmak istiyorsanız, bu komutun tüm revizyonların bir listesi üzerinde çalışması için komut dosyası oluşturabilirsiniz. Deponuzun boyutuna bağlı olarak bu şekilde yapmak biraz zaman alacaktır, ancak prensipte bunu yapamamanız için bir neden yoktur ve bir boşaltma ve yeniden yükleme içermez.

Ayrıca, vanilla SVN, svnlookdoğrudan depo dosyalarıyla çalışan bir tür yönetim aracı olan bir komuta sahiptir. Bu araç URL'leri anlamıyor (depoya dosya sistemi düzeyinde erişiminizin olması gerekir), ancak çok daha hızlıdır. Sözdizimi biraz farklıdır, ancak bu aracı kullanarak özellikleri aynı şekilde değiştirebilirsiniz.


3
Teşekkürler @ kazark, svn propedit -r N --revprop svn:logeditörümdeki mesajı değiştirebilmem gerekiyordu.
tutuDajuju

3
Sadece bir not eklemek için: Varsayılan olarak, bu komut çalışmaz, çünkü revizyon özelliklerinde değişikliklere varsayılan olarak izin verilmez. Buna izin vermek için, svn yöneticisinin "ön-revprop-değişim" adında bir kanca oluşturması gerekir . Bu bilgiler yukarıda belirtildiği gibi SSS bölümündedir.
Matthias

Windows'ta, komutu çalıştırmadan önce "SVN_EDITOR", "VISUAL" veya "EDITOR" ortam değişkenini ayarlamanız gerekecektir. Örneğin:set SVN_EDITOR=notepad.exe
Enwired

26

Evet, yapabilirsiniz, ancak önce arşivde etkinleştirmeniz gerekir.

Bilgi havuzunda, hooks dizininde pre-revprop-change.tmpl adlı bir dosya bulunur. Yaptığı şeyle ilgili birkaç sayfa yorumu var ve yalnızca günlük özelliklerinde değişikliklere izin verecek şekilde ayarlanmış olarak geliyor. Etkinleştirmek için, dosyayı revprop-değiştirme öncesi olarak yeniden adlandırın ve yürütülebilir hale getirin (barındırmak için Windows'u kullanıyorsanız, POSIX tarafından barındırılan bir alt sürüm olduğunu varsayıyorum, bu mesajı yararlı bulabilirsiniz ).

Depo izin verdiğinde, bir işlemenin sağ tıklama menüsünden bir işlemenin günlük mesajını değiştirmek için Tortoise'ı kullanabilir veya komut satırını kullanabilirsiniz.


+1 Mükemmel bilgi efendim. Ön revprop değiştirme kancası olmadan yapmama izin vermiyor. Şablon bash komut dosyasını pencerelere taşımam gerekecek, ancak bu bir sorun olmamalı.
Pekka

Örnek bir komut betiğine bir bağlantı ekledim: svn.haxx.se/users/archive-2006-03/0107.shtml
Andrew Aylett


2

svn propedit -r N --revprop svn:log URL

URLZaten bir çalışma dizinindeyseniz yukarıdaki isteğe bağlıdır. Ardından, mesajın değiştirilebilmesi için bir düzenleyici görünecektir.


1

Bu gönderiye, istemci için Tortoise SVN ve bir Windows sunucusunda VisualSVN kullanarak tam sorunla geldik.

Bir yoluna sahip olması halinde "bir DAV isteği başarısız oldu" hata iletisi, bir göz vermek Andrew Aylett cevabı ve depo kanca alt dizininde düzenleme "pre-revprop-change.tmpl" gidin.

Bu tamamlandığında, bağlamsal menüdeki "günlük mesajını düzenle" ye tıklamak nihayet işe yarayacaktır!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.