Mercurial: Wie listet man das zusammengefügte Changeset auf, wenn das zweite Elternteil aus einem bestimmten Zweig stammt?

8

Ich würde gerne alle Changesets finden, die eine Zusammenführung von branchX nach default sind.

Das erste Elternelement eines solchen Changesets ist standardmäßig aktiviert, und das zweite übergeordnete Element eines solchen Changesets befindet sich auf branchX.

Unter Verwendung von hg log -r 'branch("default") & merge() haben wir alle zusammengesetzten Changesets standardmäßig aktiviert, unabhängig davon, ob das zweite übergeordnete Element branchX ist oder nicht.

Wie kann ich das obige Revset ändern, um zusammengesetzte Changesets herauszufiltern, in denen sich das zweite Elternteil nur auf branchX befindet?

    
Long Vu 14.05.2012, 17:31
quelle

1 Antwort

8

Das macht es in meinen Tests:

%Vor%

Erklärt:

p2(branch(default)) & branch(branchX) ruft die Änderungssets für branchX ab, die das zweite übergeordnete Element eines Änderungssets im Zweig default sind.

children() ruft die untergeordneten Elemente dieser Änderungsmengen ab

& merge() begrenzt diese untergeordneten Elemente auf diejenigen, die Mischänderungsgruppen sind. Ohne diese Bedingung erhalten Sie auch das Kind, das branchX

fortsetzt

Bearbeite das besser, denke ich:

%Vor%

Die erste Version würde Änderungen an branchX enthalten, die aus anderen Zweigen unmittelbar nach einer Zusammenführung von branchX nach default zusammengeführt wurden.

    
Steve Kaye 14.05.2012, 21:35
quelle

Tags und Links