En git, que puede hacer lo siguiente:¿Cuál es el equivalente de Mercurial para mostrar confirmaciones en una rama pero no en otra?
git log foo ^bar
para mostrar los conjuntos de cambios en la rama foo
pero no en la rama bar
. ¿Hay alguna manera de hacer eso en Mercurial?
Editar: Para explicar un poco más el caso de uso. Supongamos que tengo una sucursal en Mercurial (llámese foo
) que se deriva de default
. Lo que quiero saber es qué confirmaciones están en la rama foo
y, por lo tanto, no se han combinado con default
. Tal vez estoy pensando en esto de la manera incorrecta, pero en git, podría comenzar a trabajar en foo
, fusionarme a master
y luego trabajar un poco más en foo
y usar el comando de arriba para ver qué commits aún no se han fusionado.
Por lo tanto, un caso de uso específico es saber si una rama se ha completado se fusionó en el valor predeterminado. Desde el uso de Mercurial, si comienzo una rama foo
fuera de default
para trabajar en una función, déjala allí para fusionarla y bifurcarla de foo
para crear bar
, que contiene otra característica incorporada en foo
, foo
termina estar inactivo porque bar
contiene todos los conjuntos de cambios en foo, pero es posible que desee fusionar solo los conjuntos de cambios en foo
porque sé que son buenos mientras que bar
aún está en desarrollo. Espero que sea útil.
Así que básicamente quiere ver todos los antepasados de 'foo' que no forman parte de los antepasados de' default'. Eso es lo que hace la segunda mitad de mi respuesta. –
Si solo desea ver las confirmaciones en una sola rama, simplemente use 'hg log -b'. Si '' es su sucursal actual, puede usar 'hg log -b .'. –
weberc2