2011-02-07 14 views

Respuesta

13

se puede hacer una nueva operación con hg clone:.

hg clone -r last_good_changeset localrepo newlocalrepo 
+0

Esta es mi respuesta favorita porque no requiere ninguna extensión. uno puede clonar fácilmente un subconjunto de un repos y es casi instantáneo. –

+0

@ Ry4an ... me acabo de dar cuenta de que realmente ya respondiste a esa: http://stackoverflow.com/questions/4172753/how-to-get-rid-of-some-changeset-in-hg/4173512#4173512! +1 en su respuesta original;) ​​ – VonC

+0

je, no se preocupe. Era mejor acerca de estas cosas que hubiera intentado hacer las preguntas como un duplicado. –

22

Usted puede utilizar el comando hg strip, parte de la extensión mq:

hg strip REV 

Esto eliminará esa revisión + todos sus descendientes.

Antes de intentar esto, hacer una copia/clon del depósito de experimentar en

+1

Creo que esta debería ser la respuesta real a la pregunta. El otro es un clon del repositorio que se solicitó específicamente NO ser una opción en la pregunta original ("sin tener que volver a clonar"). Como estaba buscando la misma solución que la publicación original, esta responde mi pregunta y la otra NO debido al clon ... Si la otra es la respuesta que quería el cartel original, la pregunta debe actualizarse para reflejar eso y ayudarme. gente mientras busca – GazB

+0

Estoy de acuerdo contigo GazB –

+0

Las instrucciones sobre cómo habilitar la extensión 'Strip' están disponibles en [Hg Wiki for Strip] (https://www.mercurial-scm.org/wiki/StripExtension). –

0

Si está utilizando Eclipse mercurial, que pueda revertir una vez, luego archivar esos cambios, luego exportar los commits secuenciales múltiples como parches, quitar esos commits, luego importar esos parches en el mismo orden, por lo que en caso de que haya parches en conflicto, se sobreescribirán entre sí de la manera deseada.

Finalmente puede cancelar su primera reversión. Esto logra el mismo efecto que si retrocedieras más de una vez.

Cuestiones relacionadas