2011-09-09 10 views
13

UpperCamelCase adlandırma kurallarına göre adlandırılmamış bir dizi sınıf içeren bir Java projesi miras aldım. Bu özellikle kısaltmalar (örn. HtmlButton yerine HTMLButton) durumunda geçerlidir. CamelCase'in kısaltmalar ile kullanımı hakkında bazı fikir ayrılıkları olduğunu bildiğim halde, kısaltmanın ilk harfi için sadece büyük harf kullanarak geçmek istiyoruz. (Şu anda birkaç eşzamanlı adlandırma kuralı var gibi görünmektedir.)Windows & Mercurial değişiklik durumları için sınıf adları

Bunu düzeltmek istiyorum. Kaynak kod depomuzda Mercurial kullanıyoruz ve Windows makinelerinde çalışıyoruz (XP, Vista, 7 dahil). Ancak, bir HTMLButton sınıfını HtmlButton olarak değiştirirseniz, Mercurial bunu bir sınıf adı değişikliği olarak algılar, ancak dosya adı değişikliği olarak değil. (Ve sonradan Mercurial'dan gelen tüm çekimler, dosya adı değişikliğini kaldırmaz.)

Windows'un bir kasa içi dosya sistemi üzerinde çalıştığını biliyorum ve bu özellik üzerinde Mercurial'in bu özelliği seçtiğini anlıyorum. Windows kutusu ...

So ...: - Mercurial'in büyük/küçük harf duyarlı dosya adlarını kullanabilmesi için değiştirebileceğim bir ayar var mı? - Windows'un büyük/küçük harf duyarlı dosya adlarını kullanmasını sağlamak için değiştirebileceğim bir ayar var mı? (Bunlar ayrı sorulardır. Önceliğim Mercurial'ın dosya adı değişikliklerini kabul etmesini sağlamaktır, gerekirse dosya adlarını IDE'de elle zorlayabiliriz. Ancak, düz bir çözüm tercih edilir!)

(Her şey başarısız olursa, HTMLButton'u HtmlButtonA olarak yeniden adlandırmayı, taahhüt etmeyi ve itmeyi ve HtmlButtonA'yı HtmlButton'a yeniden adlandırmayı denemeyi ve başka bir taahhütte bulunmayı denemeyi deneyebilirim ... Ancak, birisi Windows dosya adlarında bunun bir etkisi olup olmayacağından emin değilim. başka bunu yaparsanız ikinci itme sonra çekme ...)

cevap

20

yaptığı tek:

hg rename foo bar 
hg rename bar Foo 

Sonuna kadar gerçekten uğraşmanıza ve itmeye gerek yoktur. Başka bir deyişle, deponuz Windows'a özgü bu geçici çözümden haberdar olmaz.

hg rename foo Foo --after 

değişim Mercurial bildirmek için:

Diğer bir seçenek çağırmak sonra, Windows dosyayı yeniden adlandırmak etmektir.

Kaynak: http://hgbook.red-bean.com/read/mercurial-in-daily-use.html#id364064

+0

teşekkürler - Çift adlandırma (en azından ben/kaydedilmesini iter sürü yapmak zorunda değilsiniz) yapabileceğim en iyi olduğunu düşünüyorum. Hala biraz can sıkıcı, ama sanırım hayat bu ... – amaidment

+3

Bunu yaparken dikkatli ol. Bunu yaptım (aralarında bir taahhüt olmadan) ve şimdi bu şubeyi eski vakayı olan başka bir dalla birleştiremem ... :(Hala üzerinde çalışıyorum ama durduğu gibi düzeltmek için bir yol bulamadım Bu sorunu yeniden adlandırmayı denedim (hangi noktada birleştirebilirim) ve sonra yeni duruma geri dönün (tekrar büstün). Yani sadece herhangi bir yere basmadan ÖNCE başka bir dalla birleşebildiğinden emin olun!) – GazB

+0

Yeniden adlandırdıktan sonra Visual Studio (csproj güncellemeleri), TortoiseHg (2.11.1) içinde, sağ tıkladım ve yeniden adlandırmayı seçtim. Bu işe yaramış görünüyordu. İşledim, başarılı bir şekilde başka bir şube ile birleşti ve itti. –