Se, e solo se, questo repository non è sfuggito in libertà, è possibile rimuovere un file dalla storia essenzialmente clonazione per un nuovo repository durante il filtraggio del file sensibili nel processo, utilizzando hg convertHg Convert Extension doc here
Comunemente, troviamo qualcosa quando abbiamo audit della repository prima della pubblicazione o consegna ad un cliente, come ad esempio un web.config o un file ini con una password.
L'estensione non è abilitata per impostazione predefinita, ma è inclusa con tutti i client che utilizzo, è necessario abilitarlo prima che Mercurial riconosca il comando di conversione.
Se si utilizza Tortoise Hg o forno, ad esempio:
- Aperto Tortoise Hg -> Impostazioni globali -> Estensioni
- Seleziona la casella accanto a "Convertire"
- Fare clic su Ok
oppure modifica direttamente Mercurial.ini:
[extensions]
convert =
Passare alla directory sopra il repository (nel mio esempio, il mio pronti contro termine è HelloApp):
Creare un file denominato filemap.txt
Aggiungere una riga con il percorso completo per il nome del file voglio escludere.
exclude HelloApp/sensitive.config
Aprire un prompt dei comandi, cd nella stessa directory, che contiene la filemap.txt, ed eseguire il hg convertire
cd C:\projects
hg convert --filemap filemap.txt HelloApp HelloApp_clean
Quindi ottenere ultima copia di lavoro:
cd HelloApp_clean
hg update
Sarà necessario creare un nuovo clone sul server con la copia pulita.
dupe: http://stackoverflow.com/questions/1029480/is-there-a-way-to-remove-the-history-for-a-single-file-in-mercurial –
La risposta fornita è non molto utile. È tecnicamente corretto in un certo senso. Ma se sei disposto a dire a tutte le persone che potrebbero aver clonato il tuo repository per rimuovere una modifica, puoi rimuovere il changeset che introduce la modifica, quindi usare qualcosa come trapianto per spostare tutte le modifiche dopo di ciò e darle nuovi hash di commit. – Omnifarious
La risposta di Martin Geisler è molto migliore, ed è un altro metodo in aggiunta a quello che ho suggerito. – Omnifarious