Depósitos de Mercurial corrompidos por files ocultos como .hgignore y .hgtags

Más de uno de los repositorys HG que utilizamos tienen problemas recurrentes de corrupción y siempre están relacionados con files ocultos (comenzando con "."), Como .hgignore y .hgtags. Ambos repositorys se comparten entre usuarios de Linux y usuarios de Windows, si eso es importante.

De repente, durante el trabajo con el repository, las operaciones se pueden detener con posts como:

hg stat abort: data/.hgtags.i@fa5433cf149c: no match found! 

Rendimiento de verificación:

 hg verify repository uses revlog format 1 checking changesets checking manifests crosschecking files in changesets and manifests checking files data/.hgignore.i@1: missing revlog! 1: empty or missing .hgignore .hgignore@1: ac9811f0a619 in manifests not found data/.hgtags.i@17: missing revlog! 17: empty or missing .hgtags .hgtags@17: fa5433cf149c in manifests not found 1129 files, 18 changesets, 1179 total revisions 6 integrity errors encountenetworking! (first damaged changeset appears to be 1) 

En este repository, acabo de agregar .hgtags, y el repository localmente se corrompió inmediatamente. Siempre puedo solucionar el problema temporalmente volviendo a clonar desde un repository central, pero el problema siempre resurge una y otra vez.

¿Que esta pasando aqui? Supongo que si realizo una recontrucción / recuperación, como se sugiere en https://www.mercurial-scm.org/wiki/RepositoryCorruption , puedo get un nuevo repository sin .hgignore y .hgtags, pero supongo que solo volverse a corromper si agrego nuevas versiones.

Parece que alguna secuencia de commands de limpieza para eliminar files que comienzan con "~" se estaba convirtiendo en .hg de vez en cuando. Dado que la nueva característica "dotencode" de HG codifica "." como "~ 2e", los files de revlog se estaban eliminando … Misterio resuelto.