Sto cercando una controparte di git commit --amend
Mercurial, ovvero un modo per modificare il commit a cui è collegata la mia copia di lavoro. Sono interessato solo all'ultimo commit, non a un commit precedente arbitrario.
I requisiti per questa procedura di modifica sono:
se possibile, non dovrebbe richiedere alcuna estensione. Non deve richiedere estensioni non predefinite , ovvero estensioni non fornite con un'installazione Mercurial ufficiale.
se l'impegno di modificare è un capo del mio ramo attuale, non dovrebbe essere creato alcun nuovo capo . Se il commit non è head, è possibile creare un nuovo head.
la procedura dovrebbe essere sicura in modo tale che se per qualsiasi motivo la modifica fallisce, voglio avere lo stesso stato di copia e di repository di lavoro ripristinato come prima della modifica. In altre parole, se la modifica stessa può fallire, dovrebbe esserci una procedura fail-safe per ripristinare lo stato della copia di lavoro e del repository. Mi riferisco a "guasti" che si trovano nella natura della procedura di modifica (come ad esempio conflitti), non a problemi relativi al file system (come restrizioni di accesso, non essere in grado di bloccare un file per la scrittura, ... )
Aggiornamento (1):
- la procedura deve essere automatizzabile , quindi può essere eseguita da un client GUI senza alcuna interazione da parte dell'utente.
Aggiornamento (2):
- i file nella directory di lavoro non devono essere toccati (potrebbero esserci blocchi del file system su alcuni file modificati). Ciò significa in particolare che un possibile approccio non può mai richiedere una directory di lavoro pulita.