2010-05-06 18 views
16

Nuestro equipo acaba de comenzar con Mercurial. Una de las primeras cosas con las que hemos empezado a jugar es hg shelve. A nivel local, no tengo problemas para dejar de lado los cambios. Todo funciona perfectamente a partir de lo que puedo decir. Sin embargo, cuando trato de unshelve, obtengo el mensaje restoring backup files, pero cuando ejecuto hg diff, no hay cambios, y mis cambios faltan en el código. Si lo hago hg unshelve -i puedo ver el diff, pero una vez más, tratar de unshelve parece no tener ningún efecto.hg unshelve no funciona

He intentado probarlo con algunos cambios muy simples que no deberían ser un problema en términos de conflictos, p. agregando un comentario de prueba. Debo señalar que he intentado hg unshelve -f después de lo cual dice unshelve completed pero de nuevo, mis cambios no se restauran.

¿Alguna idea de lo que estoy haciendo mal?

Si es importante: mercurial distribuido SMC (versión 1.5.1 + 20100405)

+1

acaba de encontrar esto: https://bitbucket.org/tksoh/hgshelve/issue/11/unshelve-is-not-restoring-file-changes Muchíiiiiiiiiisimo, hg unshelve se acaba de romper? ¿Eso parece correcto? – shanebonham

+2

Vale la pena mencionar que 'hg shelve' no es parte de mercurial, es la extensión de terceros de otra persona. Sospecho que una de las razones por las cuales 'shelve' no es parte de mercurial es que realmente no se ajusta a la mentalidad mercurial. La manera mercurial de archivar es simplemente comprometerse y luego actualizar a una revisión o clonar rápidamente su repositorio. Un clon es instantáneo, ocupa casi ningún espacio (enlaces duros en los sistemas de archivos modernos) y no tiene sus cambios no confirmados. Incluso si su equipo termina usando el estante, debe comenzar con vainilla mercurial para que aprendan el idioma. –

+5

También vale la pena mencionar que Bryan O 'Sullivan es uno de los autores de hgshelve y un desarrollador principal de Mercurial, por lo que no es solo una extensión aleatoria de terceros. Por supuesto, aprenda primero de manera sencilla, pero no desanime a las personas a usar Mercurial como les resulte conveniente. –

Respuesta

7

intentado que el tenedor y funciona: https://bitbucket.org/astiob/hgshelve/

Así que la respuesta parece ser, sí, es roto, y sí , ese tenedor lo arregla.

+1

La horquilla "astiob" se ha introducido en la línea principal "tksoh". Todavía estoy teniendo problemas, usando Mecurial 1.7.1. – jwhitlock

+0

Ese tenedor tampoco funciona para mí, pero el comentario de @ Nick funcionó: 'hg shelve -i | parche -p1' – Pascal

0

Como una actualización, actualmente estoy en la versión Mercurial Distributed SCM (version 2.9.1) y no tengo problemas. Si todavía tiene problemas con unshelve, le recomiendo que actualice a la versión más nueva de Mercurial.