Ho un incarico di programmazione che devo consegnare alla mia università per la fine di questa settimana e hanno regole severe sull'anonimato degli incarichi per mantenere l'imparzialità, quindi se il mio nome (o qualsiasi altra informazione identificativa evidente) appare ovunque nel lavoro può essere squalificato automaticamente.Come posso anonimizzare un repository mercuriale?
Mentre mi preparavo a masterizzare tutto su disco, ho appena notato/ricordato che il mio repository HG è completo di di copie del mio nome. Il codice è tutto pulito, ma l'autore di ogni changeset è il mio nome e cognome e-mail o il mio ID di accesso all'università e il nome host di un computer da laboratorio (dipende da dove stavo lavorando).
Ho bisogno di creare una versione anonima del repository (o di scambiare tutti i nomi per il mio numero ID studente) senza perdere nessuna delle altre informazioni in suo possesso.
Quindi, come dice il titolo, come posso anonimizzare un repository mercuriale?
Grazie, questo ha fatto il lavoro bene. Alcuni punti di avvertimento per gli altri però: (1) sembra che sia necessario elencare tutti i nomi utente separatamente e con precisione (quindi è necessario un po 'di lavoro in anticipo per fascicolare) (2) presumibilmente gli ID di molti changeset sono stati modificati (3) a causa di 2, è stato creato un changeset aggiuntivo per correggere i tag nel repository. – DMA57361
@ DMA57361: 1) Usa 'hg log --template '{author} \ n' | sort -u' per ottenere una lista di nomi utente univoci, 2) gli ID changeset sono formati usando una funzione hash crittografica (SHA-1) che (tra le altre cose) prende i nomi utente come input, 3) Esattamente! –
@MartinGeisler (1) avrebbe aiutato ieri :), ma per fortuna ho dovuto raccogliere solo 4 nomi utente in questo caso. (2) Ne ero al corrente, ma ho pensato di aggiungerlo come un avvertimento ai futuri lettori, poiché presumibilmente fermerebbe il repository convertito che viene mai spinto/fuso/etc di nuovo nell'originale? – DMA57361