(Mercurial / tortoisehg) Compromisos perdidos: cómo solucionar problemas

Un colega mío estaba trabajando en un proyecto de VS esta mañana, que según él estaba en una carpeta clonada de nuestro repository central. Construyó una versión de lanzamiento de la aplicación que todavía está allí con el sello de date / hora correcto.

Luego dijo que se había comprometido varias veces durante este time, pero en algún momento, intentó sacar los cambios del repository central y fusionarlos con sus cambios. Realmente no puede recordar qué pasos dio, pero el resultado final es que todos los cambios que hizo a la fuente se perdieron. ahora, estoy tratando de ayudarlo a ver si podemos recuperar alguno de esos cambios.

Él me dijo después de haber cometido sus cambios (varias confirmaciones), se fue al banco de trabajo de tortoisehg, tiró, y vio que había muchos cambios en el repository central. Decidió "Combinar con local" o "Actualizar" con la sugerencia retirada: no puede recordar cuál. Le mostré los dos dialogs, y le pregunté si descartaba los cambios, los archivadores o cualquier otra cosa. No podía recordar, en realidad, pero recordó que tuvo que retroceder porque a Tortoisehg no le gustaba lo que estaba haciendo. Eventualmente, parecía ser capaz de actualizar al consejo del repository.

Estoy pensando que a less que borre físicamente la carpeta en la que estaba trabajando, y luego obtenga la última, los commits que afirmó haber hecho se habrían grabado en alguna parte. ¿Cuáles son los errores comunes que las personas hacen al tirar del repository remoto? ¿Hay algún file de logging o historial que pueda verificar para ver si puedo rescatar o, al less, decir dónde estaba trabajando en este asunto?

cualquier sugerencia para solucionar esto sería muy apreciada.

En primer lugar, haga una copy de security del tree en algún lugar, incluyendo .hg y todo lo que está debajo. Entonces…

hg heads 

… para ver si acaba de perder la pista de sus compromisos. Si está allí, es solo una cuestión de actualizar y hacer una fusión adecuada.

 hg log -u 'His Username' 

… para ver si los commits están en algún lugar del repository. Si están ahí, entonces puedes trabajar con ellos.

 hg shelve --list 

… para ver si ha logrado dejar las cosas en un lugar

Eche un vistazo en .hg/strip-backups , para ver si ha logrado eliminar sus cambios de alguna manera. Cualquier otra cosa destructiva debería haber dejado copys de security en .hg también.

Eso debería ser un buen comienzo. Si ninguno de ellos da pistas, entonces otros pueden sugerir algunas cosas.

No sé sobre TortoiseHG, pero generalmente lo primero sería verificarlo.