2010-05-06 16 views
16

Ekibimiz Mercurial ile yeni başlıyor. Oynamaya başladığımız ilk şeylerden biri hg shelve. Yerel olarak, rafta değişiklik yapıyorum. Her şey söyleyebildiğim kadar mükemmel çalışıyor. Ancak, dengesizlik yapmaya çalıştığımda, restoring backup files iletisini alıyorum, ancak hg diff çalıştırdığımda, hiçbir değişiklik yok ve benim değişikliklerin koddan eksik. hg unshelve -i yaparsam, farkı görebiliyorum ama yine de, sadakatsiz olmaya çalışmanın etkisiz olduğu görülüyor.hg unshelve çalışmıyor

Bunu, örneğin, çakışmalar açısından bir sorun olmaması gereken bazı çok basit değişikliklerle denemeye çalışıyorum. bir test yorumu ekleyerek. hg unshelve -f'u denedikten sonra unshelve completed yazdığını, ancak değişikliklerimin geri yüklenmediğini not etmeliyim.

Herhangi bir fikrim yanlış yaptığım şey nedir? Bu konularda

: Mercurial Dağıtılmış SCM (sürüm 1.5.1 + 20100405)

+1

Sadece bu bulundu? Bu doğru görünüyor mu? – shanebonham

+2

'hg shelve'nın mücellenin bir parçası olmadığını, bir başkasının üçüncü taraf uzantısı olduğunu belirtmeye değer. Şüpheliyim ki, bir rafın bir parçası olmamak, rafinenin bir anlamda mücellit zihniyetine uymamasıdır. Meşgul hale getirmenin meşakkat yolu, sadece bir düzeltme yapmak ve ardından bir revizyona geri dönmek veya repo'yu hızlı bir şekilde klonlamaktır. Bir klon aniden oluşur, neredeyse hiç yer kaplamaz (modern dosya sistemlerinde sabit bağlantılar) ve sizin kabul edilmeyen değişiklikleriniz olmaz. Takımınız rafı kullanarak bitse bile, onları vanilya mercurial ile başlatmalısınız, böylece deyimi öğrenirler. –

+5

Ayrıca Bryan O 'Sullivan, hgshelve ve Mercurial için bir çekirdek geliştirici yazarlarından biridir, bu yüzden sadece bazı rastgele üçüncü taraf uzantısı değil. Her şeyden önce, ilk olarak no-frills yolunu öğrenin, ancak insanların Mercurial'ı kullanmasına engel yok, ancak onlar için uygun. –

cevap

7

o çatal çalıştı ve çalışıyor: https://bitbucket.org/astiob/hgshelve/

Yani cevap gibi görünüyor, evet, bu bozuldu ve evet Çatal bunu düzeltir.

+1

"Astiob" çatalı "tksoh" ana hattına çekildi. Mecurial 1.7.1'i kullanarak hala sorun yaşıyorum. – jwhitlock

+0

Bu çatal da benim için çalışmıyor, ama @ Nick'in yorumunu çalıştı: 'hg shelve -i | yama -p1' – Pascal

0

Bir güncelleştirme olarak şu anda Mercurial Distributed SCM (version 2.9.1) numaralı sürümde yaşıyorum ve sorun yaşıyorum. Eğer hala korumasız sorunlarla karşılaşıyorsanız, en yeni Mercurial versiyonunu güncellemenizi tavsiye ederim. https://bitbucket.org/tksoh/hgshelve/issue/11/unshelve-is-not-restoring-file-changes Soooo, hg unshelve sadece bozuldu: