Abbiamo un repository Mercurial convertito da Subversion qualche tempo fa e oggi ho notato che ci sono file nel repository che hanno no storia.File nel repository dopo clone, ma nessuna cronologia
Uno dei sympomts di questo comportamento è che hg status riporta il file come pulito, mentre hg log report non di modifiche per lo stesso file:
> 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]
Ovviamente i nomi di file sono stati modificati nell'esempio. Ho provato a utilizzare hg verify, ma questo comando segnala che il repository è a posto. Qualcuno ha vissuto questo e c'è qualcosa che potremmo fare per riportare la storia "alla vita"? Posizionare la cronologia fittizia sui file in questione sarebbe accettabile, ma non ottimale.
EDIT: ho fatto un po 'di indagine e ho notato che "FileWithMissingHistory.cs" è stato rinominato da un altro nome di file (copia Hg + canc) nella revisione 238. Se io hg update -r238 e hg accedo il file in questa revisione non ha alcuna storia. Fare hg logg sul file originale riporta la cronologia come previsto, quindi sembra che la cronologia sia in qualche modo persa durante la copia (di nuovo, il file viene rinominato usando hg copy, e il changeset indica chiaramente che il file è stato copiato).
Qual è l'output dei seguenti comandi? 'versione hg',' hg identifica', 'hg riassunto' e' hg verifica'? E 'hg manifest' elenca il file? –
versione hg = 1.7.3, hg identifica l'id del changeset corrente (nient'altro), il riepilogo hg stampa il commit w/message e il genitore (un solo genitore). hg manifest elenca il file in questione. – larsmoa
che dire di 'hg verify'? –