mercurial - Änderungen in der Verzweigung werden ignoriert, alle Merge-Commits werden ignoriert

8

Ich habe einen Zweig, der für eine lange Zeit entwickelt wurde. Während der Entwicklung wurde der Standardzweig mehrmals in diesen Zweig eingebunden. Ich möchte jetzt alle Änderungen in diesem Zweig überprüfen, die Zusammenführungen ignorieren, um zu entscheiden, ob es sicher ist, sie in den Standard zusammenzuführen.

Ich habe es versucht

hg diff -r "branch('myBranch') - merge()"

aber es zeigt immer noch Änderungen durch Zusammenführungen. Auch versucht, diese Wie man das zeigt diff spezifisch für einen benannten Zweig in mercurial aber

hg diff -r "branch('myBranch') - branch('default')"

bringt noch Änderungen, die durch Zusammenführungen eingeführt wurden.

    
Swiety 21.12.2012, 14:30
quelle

4 Antworten

6

Das Problem mit Ihren Befehlen besteht darin, dass Sie, wenn Sie hg diff ausführen und mehrere Änderungsmengen übergeben, tatsächlich einen Unterschied zwischen diesen Änderungsmengen durchführen, daher sehen Sie das Ergebnis der Zusammenführung.

Wenn Sie nur die von den Changesets vorgenommenen Änderungen sehen möchten, können Sie export :

verwenden %Vor%

Für eine einfachere Überprüfung können Sie diese in Dateien mit Namen ausgeben, die auf der Revisions- / Änderungssatz-ID basieren:

%Vor%

... erstellt eine Datei für jedes nicht zusammenzuführende Änderungsset in mybranch und gibt es in eine Datei mit dem Namen "40-stelliges Änderungsset id.patch" aus. Wenn Sie die Revisionsnummer bevorzugen (nur nützlich für Ihr lokales Repository, da die Revisions-IDs lokal sind), verwenden Sie "%R.patch" .

    
icabod 02.01.2013 10:58
quelle
5
___ qstntxt ___

Ich habe einen Zweig, der für eine lange Zeit entwickelt wurde. Während der Entwicklung wurde der Standardzweig mehrmals in diesen Zweig eingebunden. Ich möchte jetzt alle Änderungen in diesem Zweig überprüfen, die Zusammenführungen ignorieren, um zu entscheiden, ob es sicher ist, sie in den Standard zusammenzuführen.

Ich habe es versucht

hg log -r "branch('myBranch') and ! merge()"

aber es zeigt immer noch Änderungen durch Zusammenführungen. Auch versucht, diese Wie man das zeigt diff spezifisch für einen benannten Zweig in mercurial aber

%code%

bringt noch Änderungen, die durch Zusammenführungen eingeführt wurden.

    
___ answer14120848 ___

Das Problem mit Ihren Befehlen besteht darin, dass Sie, wenn Sie %code% ausführen und mehrere Änderungsmengen übergeben, tatsächlich einen Unterschied zwischen diesen Änderungsmengen durchführen, daher sehen Sie das Ergebnis der Zusammenführung.

Wenn Sie nur die von den Changesets vorgenommenen Änderungen sehen möchten, können Sie %code% :

verwenden %Vor%

Für eine einfachere Überprüfung können Sie diese in Dateien mit Namen ausgeben, die auf der Revisions- / Änderungssatz-ID basieren:

%Vor%

... erstellt eine Datei für jedes nicht zusammenzuführende Änderungsset in %code% und gibt es in eine Datei mit dem Namen "40-stelliges Änderungsset id.patch" aus. Wenn Sie die Revisionsnummer bevorzugen (nur nützlich für Ihr lokales Repository, da die Revisions-IDs lokal sind), verwenden Sie %code% .

    
___ qstnhdr ___ mercurial - Änderungen in der Verzweigung werden ignoriert, alle Merge-Commits werden ignoriert ___ tag123mercurial ___ Mercurial ist ein schnelles, quelloffenes DVCS (Distributed Versions Control System). ___ tag123branch ___ Ein "Zweig" ist ein Begriff, der in Versionskontrollsystemen verwendet wird, um eine unabhängige Entwicklungslinie darzustellen. Je nach System kann ein Repository einen oder mehrere Zweige enthalten. Verzweigungen werden zusammengeführt, wenn Änderungen von einem Zweig in einen anderen verzweigen müssen. ___ tag123diff ___ Das Identifizieren von Unterschieden zwischen zwei oder mehr Dateien, um verschiedene Softwareentwicklungsaktivitäten zu unterstützen (Bug-Tracking, Patch-Erstellung, ...) ___ tag123branchingandmerging ___ Bei der Versionskontrolle sind Zweige parallele Entwicklungslinien. Zusammenführen ist die Aktion, die Änderungen in verschiedenen Zweigen integriert. ___ answer48568400 ___

Das ist eine sehr gute Frage, die ich seit langem versuche, eine gute Antwort zu finden, und trotzdem keine gute gefunden habe. OK, eine Sache, die 100% funktioniert, ist dies:

%Vor%

Ich benutze diesen Arbeitsablauf die ganze Zeit, aber er befriedigt mich nicht vollständig, weil er Verzweigungen wechseln muss (wenn ich tatsächlich nicht genau in diesem Moment eine echte Zusammenführung machen möchte, überprüfe ich einfach was dort ist)

Ich habe hier schon ewig nach einer guten Lösung gesucht, aber bisher wurden keine gefunden. Versuchte diese:

%Vor%

Dieses Problem wurde auch in:

diskutiert
___ antwort13992500 ___

Sie haben über die revsets -Syntax

zu lesen

Ihr Fall

%code%

    
___ answer33938597 ___

Der folgende Befehl verwendet den Befehl %code% , aber mit dem Parameter %code% kann er auch die geänderten Zeilen anzeigen:

%Vor%

Kurzform:

%Vor%     
___
Lazy Badger 21.12.2012 15:09
quelle
1

Der folgende Befehl verwendet den Befehl log , aber mit dem Parameter --patch kann er auch die geänderten Zeilen anzeigen:

%Vor%

Kurzform:

%Vor%     
palacsint 26.11.2015 12:21
quelle
0

Das ist eine sehr gute Frage, die ich seit langem versuche, eine gute Antwort zu finden, und trotzdem keine gute gefunden habe. OK, eine Sache, die 100% funktioniert, ist dies:

%Vor%

Ich benutze diesen Arbeitsablauf die ganze Zeit, aber er befriedigt mich nicht vollständig, weil er Verzweigungen wechseln muss (wenn ich tatsächlich nicht genau in diesem Moment eine echte Zusammenführung machen möchte, überprüfe ich einfach was dort ist)

Ich habe hier schon ewig nach einer guten Lösung gesucht, aber bisher wurden keine gefunden. Versuchte diese:

%Vor%

Dieses Problem wurde auch in:

diskutiert
alex_koval 01.02.2018 17:21
quelle