Tengo una tarea de programación que entregaré en mi Universidad para el final de esta semana y tienen reglas estrictas sobre el anonimato de las tareas para mantener la imparcialidad, por lo tanto, si aparece mi nombre (o cualquier otra información de identificación obvia) en el trabajo puede ser automáticamente descalificado.¿Cómo anonimizo un repositorio mercurial?
Mientras me preparaba para grabar todo en un disco, acabo de notar/recordar que mi repositorio HG es completo de copias de mi nombre. El código está limpio, pero el autor de cada conjunto de cambios es mi nombre completo y mi correo electrónico, o mi ID de inicio de sesión de la universidad y el nombre de host de una computadora de laboratorio (depende de dónde esté trabajando).
Necesito crear una versión anónima del repositorio (o cambiar todos los nombres para el número de identificación de mi estudiante) sin perder ninguna de la otra información que contiene.
Entonces, como dice el titular, ¿cómo puedo anonimizar un repositorio mercurial?
Gracias, esto hizo el trabajo muy bien. Algunos puntos de advertencia para otros: (1) parece que necesita enumerar todos los nombres de usuario por separado y con precisión (por lo que necesita un poco de trabajo por adelantado para cotejar) (2) las ID de muchos conjuntos de cambios se modificaron (3) presumiblemente debido a 2, se creó un conjunto de cambios adicional para corregir las etiquetas en el repositorio. – DMA57361
@ DMA57361: 1) Use 'hg log --template '{author} \ n' | ordenar -u' para obtener una lista de nombres de usuario únicos, 2) ID de conjuntos de cambios se forman utilizando una función de hash criptográfica (SHA-1) que (entre otras cosas) toma los nombres de usuario como entrada, 3) Exactamente a la derecha! –
@MartinGeisler (1) habría ayudado ayer :), pero afortunadamente solo tuve que recopilar 4 nombres de usuario en este caso. (2) Yo estaba al tanto, pero pensé en agregarlo como una advertencia para futuros lectores, ya que presumiblemente impedirá que el repositorio convertido sea empujado/fusionado/etc de nuevo al original. – DMA57361