Bir süre önce Subversion'dan dönüştürülmüş bir Mercurial deponuz var ve bugün depoda no tarihine sahip olan bir dosya olduğunu fark ettik. Klonlamadan sonra depoda dosya yok, ancak tarih yok
> hg clone [repo]
> hg st -c FileWithMissingHistory.cs
C FileWithMissingHistory.cs
> hg blame FileWithMissingHistory.cs
FileWithMissingHistory.cs: no such file in rev [...]
> hg log FileWithMissingHistory.cs
> hg log FileWithMissingHistory.cs -f
abort: cannot follow nonexistent file: "FileWithMissingHistory.cs"
> hg log -v | grep FileWithMissingHistory.cs
[gives output, there arechangesets mentioning the file]
Açıkçası dosya adları örnekte değiştirildi: Bu davranışın sympomts ait
biri hg aynı dosya için raporlara göz hiçbir changesets log ederken hg durum, temiz bir dosya rapor olmasıdır. Hg doğrulama kullanarak denedim, ancak bu komut repo'nun iyi olduğunu bildiriyor. Bunu deneyimleyen var mı ve geçmişi "hayata döndürmek" için yapabileceğimiz bir şey var mı? Söz konusu dosyalara kukla tarihin yerleştirilmesi kabul edilebilir, ancak suboptimal olabilir.
DÜZENLEME: Biraz daha araştırma yaptıysanız ve ben hg -r238 güncelleyebilirim ve oturum hg "Eğer FileWithMissingHistory.cs" revizyon 238. yılında (+ delete hg kopyası) Başka bir dosya adı yeniden adlandırıldı olduğunu fark ettik dosya bu revizyonda hiçbir tarih almıyorum. Özgün dosyada oturum açma günlüğü, geçmişi beklendiği gibi bildirir, bu nedenle geçmişin kopya sırasında bir şekilde kaybolduğu görülür (dosya yeniden hg kopyası kullanılarak yeniden adlandırılır ve değişiklik kümesi dosyanın kopyalandığını açıkça belirtir).
Aşağıdaki komutların çıkışı nedir? hg sürümü, hg kimlik, hg özeti ve hg doğrulaması? Ve bu dosyayı listeliyor mu? –
hg sürüm = 1.7.3, hg, geçerli değişikliklerin kimliğini (başka hiçbir şey değil) yazdırır, hg özeti, w/mesajını ve üstteki iletiyi (yalnızca bir üst öğe) yazdırır. hg manifest söz konusu dosyayı listeler. – larsmoa
"hg verification" konusunda ne var? –