2011-04-12 19 views
10

Bu sorunu giderdim. Ama hala neden çalıştığımı bilmiyorum.gizemli git davranış

İşyerinde kodumuz için bir svn depomuz var. Yerel bir git-svn deposum var çünkü < 3 Git. :) Windows kullanıyoruz, ben de Cygwin kullanıyoruz. Cygwin'deki son versiyonun Git 1.7.0.4 olduğunu düşünüyorum. Cuma günü, kodumu problemsiz bıraktım, eve gittim. Pazartesi sabahı geri döndüm ve 'svn rebase'e gitmeye çalıştım çünkü birileri haftasonu (overachievers) üzerinde kod yazmıştı. Normal olarak başladı ve aniden gövdeyi bulamadığı belirlendi. Ne yazık ki, tam hata mesajını kaybettim, ama/refs/remotes/trunk bulmak için değil hakkında bağırıyordu ... ve çok korktum. Neyse ki, ben, hiç kodsuz bir kod yoktu. Kaybedecek bir şey yok. Yine de, bundan sonra 'git svn rebase' çalıştı her zaman, sonsuza kadar askıda olacağını ve sonra aşağıdaki hatayı alacağı:

Unable to determine upstream SVN information from working tree history

ben bir gün boyunca bunu araştırdı. Svn-uzak url'yi https://xxx.xxx.xxx/xxx/xxx'dan https://xxx.xxx.xxx/xxx/xxx/'a göre göründüğü kadar komik değiştirmeyi denedim. Daha sonra bir 'git svn getirme' yaptım ... ve tüm gövdeyi yeniden getirdim (tüm 1682 taahhütleri). Fakat isyan hala işe yaramayacaktı. Bu yüzden gün için vazgeçtim ve ertesi gün yeni bir depo oluşturacağına ve baştan başlayacağına karar verdim (bir gün sürecek). Bu sabah, depomu temizlemeksizin silmeden önce soruyu sormaya gittim. Ben bu rastladı:

git-svn rebase gone horribly wrong

değil tam benim sorunum oldu, ama denemek ne istediğini çünkü 'git --hard gövdesini sıfırlamak' için karar hangi. Ve çalıştı. Şimdi her şey yolunda. Bununla birlikte,

.

Neden bunu ilk etapta yaptı? Ben hafta sonu işte olmadığı için, 'u bildiğim kadarıyla değiştirmedim. Bu hataya nasıl bir şey sebep olurdu? Sanırım bencilce korkunç bir şey yaptım, ama ne yapmam gerektiğini tekrar bilmem gerekiyor. :)

Önceden teşekkürler.

cevap

2

Bu hata:

Unable to determine upstream SVN information from working tree history 

Mevcut git geçmişi hiç svn geçmişine dayalı değildi gibi geliyor ve böylece ortak bir atası bulamadık rebase.

URL'yi değiştirerek, tüm taahhütlerin SLIGHTLY farklı işlem mesajlarına ve dolayısıyla farklı sha1 karmalarına sahip olduğunu düşünüyorum ve bu nedenle eski atalarınız yenileriyle eşleşmiyor ve başarısızlığın başarısız olmasına neden oluyor.

Bagajın neden kaybolduğuna/arızalandığına ilişkin olarak, hata mesajı olmadan ne olduğunu anlamak oldukça zor olacaktır.