Wednesday 1 February 2017

Svn Diff Force Binary Optionen

Für den Hintergrund auf meine Frage svn gewonnen t diff eine Datei, die es denkt, ist binary. A jüngsten Stack Überlauf Antwort svn diff Datei als Binär-Typ markiert zeigte Sie können eine Mime-Typ. Note, dass vorherige Antwort ist unvollständig Sie haben auch. Now meine neue Frage ist, kann ich eine Voreinstellung setzen, also werden alle zukünftigen Dateien als Text von svn behandelt. Das Redbook erscheint stumm auf dieses Thema, das nur sagt. Welche Ausnahmen Sind diese Ausnahmen in den svn-Code gebacken oder zugänglich. Die Antwort hängt vom svn-Client ab Sie verwenden Im offiziellen svn-Client verwenden Sie die Option, die Sie suchen, ist die automatische Eigenschaftseinstellung Die Tldr-Version muss Sie Ihre Benutzer - oder Systemkonfiguration aktualisieren, um die Aktivierungs-Auto-Requisiten-Einstellung auf Ja im Abschnitt "Verschiedene" zu setzen und eine zu erstellen Neuer Abschnitt namens Auto-Requisiten, die die Muster definiert, die Sie anpassen möchten und die Eigenschaften, die Sie suchen, um zu setzen. Für Ihr Beispiel von kml files. This wird dafür sorgen, dass, wenn Sie eine Datei zu Ihrem Repository hinzufügen, wird es einen Mime-Typ haben Von text plain und wird verwenden l Ine endings native auf der Plattform des Clients. Display die Unterschiede zwischen zwei Pfaden Sie können svn diff auf die folgenden Weisen verwenden. Use nur svn diff, um lokale Änderungen in einer Arbeitskopie anzuzeigen. Display die Änderungen an TARGET s gemacht, wie sie gesehen werden In REV zwischen zwei Revisionen TARGET s kann alle kopieren Pfade oder alle URLs Wenn TARGET s arbeiten Kopierpfade, N standardmäßig auf BASE und M auf die Arbeitskopie, wenn TARGET s URLs sind, muss N angegeben werden und M defaults auf HEAD Die Option - c M ist äquivalent zu - r NM, wobei N M-1 mit - c - M den umgekehrten - r MN verwendet, wobei N M-1. die Unterschiede zwischen OLD-TGT anzeigen, wie es in OLDREV und NEW - TGT, wie es in NEWREV PATHs gesehen wurde, wenn es gegeben ist, sind relativ zu OLD-TGT und NEW-TGT und beschränken die Ausgabe auf Unterschiede für diese Pfade OLD-TGT und NEW-TGT können Kopierpfade oder URL REV NEW-TGT arbeiten Voreinstellung auf OLD-TGT wenn nicht angegeben - r N macht OLDREV standardmäßig auf N-r NM setzt OLDREV standardmäßig auf N und NEWREV default auf M. svn diff OLD-UR L OLDREV NEU-URL NEWREV ist Kurzschrift für svn diff - OLD-URL OLDREV - neu NEU-URL NEWREV. svn diff-r NM URL ist Kurzschrift für svn diff - r NM - URL - Neuer URL. svn Diff-r NM URL1 N URL2 M ist eine Kurzschrift für svn diff - r NM --ebene URL1 --neue URL2.Wenn TARGET eine URL ist, können dann revs N und M entweder über die Option --revision - r oder durch gegeben werden Verwenden Sie die Notation wie zuvor beschrieben. Wenn TARGET ein Arbeitskopiepfad ist, ist das Standardverhalten, wenn keine --revision - r Option vorgesehen ist, die Unterschiede zwischen der Basis und den Arbeitskopien von TARGET anzuzeigen. Wenn eine Option --revision - r vorliegt In diesem Szenario angegeben. Der Server vergleicht TARGET N und TARGET M. Der Client vergleicht TARGET N mit der Arbeitskopie. Wenn die alternative Syntax verwendet wird, vergleicht der Server URL1 und URL2 bei Revisionen N bzw. M N oder M wird weggelassen, ein Wert von HEAD wird angenommen. Mit dem Standard ignoriert svn diff die Abstammung von Dateien und vergleicht nur den Inhalt der beiden verglichenen Dateien Wenn du - notice-ancestry nährst, wird die Abstammung der fraglichen Pfade beim Vergleich von Revisionen berücksichtigt, dh wenn du svn diff auf zwei Dateien mit identischen Inhalten, sondern unterschiedlichen Abständen ausführt, wirst du den gesamten Inhalt der Datei sehen Wurde entfernt und erneut hinzugefügt. svn Subversion Command-Line Client. svn ist der offizielle Kommandozeilen-Client von Subversion Seine Funktionalität wird über eine Sammlung von aufgabenbezogenen Unterbefehlen angeboten, von denen die meisten eine Anzahl von Optionen für eine feinkörnige Steuerung akzeptieren Das Programm s Verhalten. Wenn die Verwendung des svn-Programms, Unterbefehle und andere Nicht-Option-Argumente müssen in einer bestimmten Reihenfolge auf der Befehlszeile angezeigt werden Optionen, auf der anderen Seite, kann überall auf der Kommandozeile nach dem Programmnamen erscheinen, natürlich, Und im Allgemeinen ist ihre Reihenfolge irrelevant. Zum Beispiel sind alle nachfolgenden gültigen Möglichkeiten, den svn-Status zu verwenden und werden in genau der gleichen Weise interpretiert. Die folgenden Abschnitte beschreiben jeden der verschiedenen Unterbefehle und Optionen, die vom svn-Befehlszeilen-Client-Programm bereitgestellt werden, einschließlich einiger Beispiele für jeden Unterbefehl s typische use. svn Options. While Subversion hat verschiedene Optionen für seine Unterbefehle, alle Optionen existieren in einem einzigen Namespace, der ist, jede Option ist garantiert, um die zu bedeuten Etwas das Gleiche, unabhängig von dem Unterbefehl, mit dem du es benutzt hast. Zum Beispiel - Verbose - v bedeutet immer eine ausführliche Ausgabe, unabhängig von dem Unterbefehl, mit dem du ihn benutzt hast. Der Befehlszeilen-Client beendet normalerweise schnell mit einem Fehler, wenn du ihn übergibst Option, die nicht für den angegebenen Unterbefehl gilt, aber ab Subversion 1 5 wurden einige der Optionen, die für alle oder fast alle Unterbefehle gelten, von allen Unterbefehlen als akzeptabel angesehen, auch wenn sie keinen Einfluss auf einige von ihnen haben. Diese Änderung Wurde in erster Linie zur Verbesserung der Client-Fähigkeit, von benutzerdefinierten Wrapping-Skripte aufgerufen werden Diese Optionen erscheinen gruppiert zusammen in der Kommandozeilen-Client s Nutzung Nachrichten als globale Optionen, wie in den folgenden gesehen werden kann An Bit von output. svn subcommands erkennt die folgenden globalen options. Instructs Subversion zum Lesen von Konfigurationsinformationen aus dem angegebenen Verzeichnis anstelle des Standardsorts im Benutzer-Home-Verzeichnis. Sets für die Dauer des Befehls den Wert einer Laufzeitkonfiguration Option CONFSPEC ist eine Zeichenfolge, die die Konfigurationsoption Namespace, den Namen und den Wert angibt, den Sie zuordnen möchten, formatiert als FILE SECTION OPTION VALUE In dieser Syntax sind FILE und SECTION die Runtime-Konfigurationsdatei entweder config oder Server bzw. deren Abschnitt , Die die Option enthalten, deren Wert Sie ändern möchten, ist natürlich die Option selbst und VALUE den Wert, wenn Sie der Option zuzuordnen möchten. Zum Beispiel, um die Verwendung der Komprimierung im Protokoll vorübergehend zu deaktivieren, verwenden Sie Sie können diese Option mehrmals verwenden, um mehrere Optionswerte gleichzeitig zu ändern. Verhindert das Zwischenspeichern von Authentifizierungsinformationen wie zB Benutzername und Passwort im Sub Versions-Laufzeitkonfigurationsverzeichnisse. Disables alle interaktive Aufforderung Einige Beispiele für interaktive Aufforderung beinhalten Anfragen für Authentifizierungsanmeldeinformationen und Konfliktlösungsentscheidungen Dies ist nützlich, wenn Sie Subversion in einem automatisierten Skript ausführen und es ist besser, dass Subversion fehlschlägt, als um weitere Informationen zu erhalten. Specifiziert das Kennwort, das bei der Authentifizierung mit einem Subversion-Server verwendet werden soll Wenn es nicht bereitgestellt wird oder wenn es falsch ist, wird Subversion Sie nach dieser Information auffordern. Wenn Sie mit --non-interactive verwendet haben, weist Sie Subversion an, SSL-Serverzertifikate zu akzeptieren, die von unbekannten Zertifizierungsstellen ausgestellt wurden Ohne vorher den Benutzer aufzufordern Um die Sicherheit zu nutzen, sollten Sie diese Option nur verwenden, wenn die Integrität des Remote-Servers und der Netzwerkpfad zwischen ihm und Ihrem Client bekanntermaßen vertrauenswürdig ist. Spezifiziert den Benutzernamen, der bei der Authentifizierung mit einem Subversion-Server verwendet werden soll Nicht bereitgestellt, oder wenn falsch, wird Subversion Sie für t auffordern Seine Informationen nach Bedarf. Die restlichen Optionen gelten und werden nur von einer Untermenge des Unterbefehls akzeptiert. Sie sind wie folgt. Spezifiziert eine Aktion für automatische Konfliktlösung und deaktiviert die interaktiven Aufforderungen, die den Benutzer fragen, wie man jeden Konflikt so behandeln kann wie er ist Bemerkt Obwohl die von den spezifischen Aktionen anwendbar sind, je nachdem, welcher Unterbefehl verwendet wird, unterstützt Subversion die folgenden langen und kurzen Werte für ACTION. Take keine Auflösung Aktion überhaupt und stattdessen erlauben die Konflikte für zukünftige Auflösung aufgezeichnet werden. Öffnen Sie jeden Konflikt Datei in einem Texteditor für die manuelle Auflösung von linienbasierten Konflikten. Launch ein interaktives Zusammenführungs-Konflikt-Auflösung-Tool für jede Konfliktdatei. Wählen Sie die Datei, die die unveränderte BASE-Revision war, bevor Sie versucht, Änderungen vom Server in Ihre Arbeitskopie zu integrieren. Assuming Dass Sie manuell die Konfliktlösung behandelt haben, wählen Sie die Version der Datei, wie es derzeit steht in Ihrer Arbeitskopie. Resolve Konflikt Um alle lokalen Modifikationen zu bewahren und alle Änderungen zu beheben, die während des Vorgangs, der den Konflikt verursacht hat, von dem Server abgerufen werden. Resolve Konfliktdateien durch Verwerfen aller lokalen Änderungen und die Integration aller Änderungen, die während des Vorgangs, der den Konflikt verursacht hat, von dem Server abgerufen werden. Resolve Konfliktdateien Indem Sie lokale Änderungen über die vom Server in entgegengesetzten Regionen des jeweiligen Inhalts der Datei abgeholten Änderungen vorziehen. Konflikte Dateien durchführen, indem Sie die vom Server geholten Änderungen über lokale Änderungen in gegensätzlichen Regionen der einzelnen Dateien s Inhalt vornehmen. Bei der Ausgabe von svn help SUBCOMMAND Um genau zu sehen, welche Aktionen von dem spezifischen Unterbefehl von Interesse unterstützt werden. Disables die Verifizierung, die standardmäßig durch svn zusammengeführt wird, wie aus Subversion 1 7, dass das Ziel eines Zusammenführungsvorgangs und all seiner Kinder auf einer einheitlichen Revision sind Während der Verschmelzung in einer einzigen - revision Arbeitskopie Ziel ist die empfohlene Best Practice, diese Option kann Verwendet werden, um Verschmelzungen in gemischte Revision Arbeitskopien wie nötig zu ermöglichen. Enables automatische Eigenschaftszuweisung pro Laufzeit-Konfigurationsregeln, Überschreiben der enable-auto-props Laufzeitkonfiguration directive. Performieren Sie die angeforderte Operation mit einer bestimmten Änderung Im Allgemeinen ist diese Option syntaktischen Zucker Für - r ARG-1 ARG Einige Unterbefehle erlauben eine durch Kommas getrennte Liste von Revisionsnummer-Argumenten zB - c ARG1, ARG2, ARG3 Alternativ können Sie zwei Argumente, die durch einen Bindestrich getrennt sind, wie in - c ARG1 - ARG2, um den Bereich von zu identifizieren Revisionen zwischen ARG1 und ARG2 inklusive Schließlich wird, wenn das Revisionsargument negiert wird, der implizite Revisionsbereich umgekehrt - c -45 entspricht - r 45 44. Informiert Subversion, um nur auf Mitglieder der Änderungsliste mit dem Namen ARG zu arbeiten Sie können diese Option verwenden Mehrmals, um Sätze von changelists anzugeben. Instructs Subversion, um den Umfang einer Operation auf eine bestimmte Baumtiefe zu beschränken ARG ist eine von leeren nur das Ziel selbst, Dateien das Ziel Und jede unmittelbare Datei Kinder davon, sofort das Ziel und alle unmittelbaren Kinder davon, oder unendlich das Ziel und alle seine Nachkommen volle Rekursion. Enables einen speziellen Ausgabemodus für svn log, die eine Differenz berichtet a la svn diff als Teil jeder Revision enthält S information. Specified ein externes Programm zu verwenden, um Unterschiede zwischen den Dateien zu zeigen Wenn svn diff ohne diese Option aufgerufen wird, verwendet es Subversion s interne differencing-Engine, die einheitliche diffs standardmäßig bietet Wenn Sie ein externes differencing Programm verwenden möchten, verwenden Sie - Diff-cmd Sie können dann mit der Option --extensions - x optionale Optionen an das angegebene Programm übergeben. Spezifiziert ein externes 3-Wege-Differenzierungsprogramm, das verwendet wird, um zeilenbasierte Änderungen in Dateien zu verschmelzen. Goes durch alle Bewegungen des Ausführens eines Befehls, aber Macht keine tatsächlichen Änderungen entweder auf der Festplatte oder im Repository. Specifiziert ein externes Programm zu verwenden, um eine Log-Nachricht oder einen Eigenschaftswert bearbeiten Siehe den Editor-cmd Abschnitt im Abschnitt mit dem Namen Config Für die Möglichkeit, einen Standard-Editor anzugeben. Tritt Subversion, dass Ihre Commit-Nachricht mit der Zeichen-Codierung zusammengestellt wird Die Standard-Zeichen-Codierung wird aus Ihrem Betriebssystem s native Gebietsschema abgeleitet wird diese Option, wenn Ihre Commit-Nachricht mit einer anderen Codierung zusammengesetzt ist. Specifiziert Anpassungen Welche Subversion bei der Durchführung von Differenzberechnungen durchführen soll. Gültige Erweiterungen beinhalten. Ignorieren Sie Änderungen in der Menge des Leerraums. Ignorieren Sie alle Leerzeichen. Ignorieren Sie Änderungen in EOL-End-of-line-Stil. Zeigen Sie C-Funktionsnamen in der diff-Ausgabe. Zeigen Sie drei Zeilen von Unified diff Kontext. Der Standardwert von ARG ist - u Wenn Sie mehrere Argumente übergeben möchten, müssen Sie alle in Anführungszeichen einschließen. Hinweis, dass, wenn Subversion konfiguriert ist, um einen externen diff Befehl aufzurufen, der Wert der --Erweiterung - X-Option ist nicht auf die zuvor erwähnten Optionen beschränkt, sondern kann auch weitere Argumente sein, die Subversion an diesen Befehl übergeben soll. Verwendet den Inhalt der benannten Datei für th E angegebenen Unterbefehl Verschiedene Unterbefehle machen verschiedene Dinge mit diesem Inhalt Zum Beispiel verwendet svn commit den Inhalt als Commit-Log-Nachricht, während svn propset es als Eigenschaftswert verwendet. Forces einen bestimmten Befehl oder eine Operation zum Ausführen von Subversion verhindert, dass Sie einige ausführen Operationen im normalen Gebrauch, aber du kannst diese Option übergeben, um Subversion zu sagen, ich weiß, was ich tue, sowie die möglichen Rückwirkungen, es zu tun, also lass mich bei em Diese Option ist das programmatische Äquivalent, deine eigene elektrische Arbeit mit der Macht zu machen Wenn du nicht weißt, was du tust, wirst du wahrscheinlich einen bösen Schock bekommen. Forces einen verdächtigen Parameter an die --message - m oder - file - F Option, um als gültig akzeptiert zu werden. Standardmäßig wird Subversion produzieren Ein Fehler, wenn Parameter auf diese Optionen aussehen, als könnten sie stattdessen Ziele des Unterbefehls sein. Wenn Sie beispielsweise einen Pfad der Version der Datei mit der Option - file - F übergeben, wird Subversion davon ausgehen, dass Sie einen Fehler gemacht haben, dass der Pfad war Stattdessen als Ziel der Operation gedacht, und dass du einfach versäumt hast, eine andere unversionierte Datei als Quelle deiner Log-Nachricht bereitzustellen. Um deine Absicht zu behaupten und diese Arten von Fehlern zu überschreiben, gib die Option --force-log auf Unterbefehle, die akzeptieren Log-Meldungen. Entstellt einen speziellen Ausgabemodus für svn diff, der für die Kompatibilität mit dem beliebten Git-verteilten Versionskontrollsystem ausgelegt ist. Wenn Sie mit einem oder mehreren Unterbefehlen verwendet werden, wird der integrierte Hilfetext für jeden angezeigt. Wenn er alleine verwendet wird, wird der General angezeigt Client-Hilfe Text. Tells Subversion zu ignorieren Abstammung bei der Berechnung von Unterschieden verlassen sich auf Pfadinhalt alleine Auch deaktiviert Merge Tracking, wenn mit dem Svn Merge Unterbefehl verwendet. Tells Subversion zu ignorieren externe Definitionen und die externen Arbeitskopien von ihnen verwaltet. Disables Keyword-Erweiterung. Instructs svn Patch, um Whitespace zu ignorieren, wenn versucht wird, Patch-Kontext zu identifizieren. Prints Ausgabe in einem Format, das für die Verkettung auf vorherige ähnliche Ausgabe geeignet ist. Instructs Subv Ersion, um seine eingebaute differenzierende Maschine trotz irgendeines externen differenzierenden Mechanismus zu verwenden, der für die Verwendung in der Laufzeitkonfiguration des Benutzers spezifiziert werden kann. Tritt Subversion, um die Änderungslistenanweisungen von den Arbeitskopieeinzelteilen nach dem Commiting nicht zu entfernen. Hält die lokale Kopie einer Datei oder Verzeichnis, das mit dem Befehl svn delete verwendet wird. Zeigt nur die ersten NUM-Protokollmeldungen an. Zeigt an, dass du entweder eine Protokollnachricht oder einen Sperrkommentar auf der Befehlszeile nach dieser Option spezifiziert. Zum Beispiel. Schleitete svn export, um ein bestimmtes Ende zu verwenden - Line-Sequenz, als ob es die native Sequenz für die Client-Plattform ARG könnte eine von CR LF oder CRLF. Uses ARG als das neuere Ziel für die Verwendung mit svn diff. Disables automatische Eigenschaft Einstellung, über die Aktivierung-Auto-Requisiten Laufzeit-Konfiguration Directive. Prevents Subversion von Druckunterschieden für gelöschte Dateien Das Standardverhalten, wenn Sie eine Datei entfernen, ist für svn diff, um die gleichen Unterschiede zu drucken, die Sie sehen würden, wenn Sie die Datei gehalten hätten, aber rem Oved all seine content. Shows Dateien in der Status-Auflistung, die normalerweise weggelassen würde, da sie ein Muster in der global-ignoriert Konfigurationsoption oder die svn ignore-Eigenschaft entsprechen Siehe den Abschnitt mit dem Namen Config und den Abschnitt mit dem Namen Ignoring Unversioned Items für weitere Informationen. Zeigt Subversion an, um Dateien nicht automatisch zu entsperren. Das Standard-Commit-Verhalten besteht darin, alle Dateien, die als Teil des Commits aufgelistet sind, zu entsperren. Siehe den Abschnitt "Sperren für weitere Informationen". Verweigert Stoppt einen Unterbefehl aus dem Wiederholen in Unterverzeichnisse Die meisten Unterbefehle wiederholen standardmäßig, aber einige nicht Benutzer Sollte diese Option vermeiden und die präzisere - Tiefenoption verwenden. Für die meisten Unterbefehle gibt es an, dass --non-rekursive Verhaltensweisen erzeugt, die genauso sind wie wenn Sie d spezifiziert haben - Tiefen-Dateien, aber es gibt Ausnahmen, die nicht rekursiver svn-Status betrieben werden Die unmittelbare Tiefe, und die nicht-rekursiven Formen von svn revert svn add und svn Commit betreiben in einer leeren Tiefe. Pays Aufmerksamkeit auf Abstammung, wenn calcu Lating Unterschiede. Uses ARG als das ältere Ziel für die Verwendung mit svn diff. Creates und fügt nicht vorhandene oder nicht ausgetauschte übergeordnete Unterverzeichnisse an die Arbeitskopie oder Repository als Teil einer Operation Dies ist nützlich für die automatische Erstellung mehrerer Unterverzeichnisse, wo noch keine vorhanden ist URL, werden alle Verzeichnisse in einem einzigen Commit erstellt. Erfordert, dass der Client nur wichtige Informationen ausdruckt, während er eine Operation ausführt. Ermöglicht einen speziellen Modus von svn merge, in dem der angegebene Merge-Vorgang in den lokalen Merge-Tracking-Informationen aufgezeichnet wird, ist aber Nicht tatsächlich durchgeführt. Makes a subcommand recurse in Unterverzeichnisse Die meisten Unterbefehle recurse standardmäßig. Used mit dem Svn Merge Unterbefehl, um alle Quell-URLs zu verknüpfen s Änderungen in die Arbeitskopie Siehe den Abschnitt namens Keeping a Branch in Sync für Details. Deprecated Wenn verwendet Mit dem Unterbefehl svn switch, ändert den Standort des Repositorys, das deine Arbeitskopie verweist. Die bevorzugte Genehmigung H wie von Subversion 1 7, ist jedoch zu verwenden, die svn relocate subcommand Siehe svn relocate für weitere Details und ein example. Used mit svn changelist zu disassociate anstatt assoziieren, die die Standard-Operation der Ziel s aus einer changelist. Causes svn Patch Um die Eingabe-Patch-Anweisungen in umgekehrter Behandlung von hinzugefügten Zeilen als entfernten und umgekehrt zu interpretieren. Spezifiziert eine Revision oder einen Bereich von Revisionen, mit denen Sie arbeiten können Sie können Revisionsnummern, Schlüsselwörter oder Daten in geschweiften Klammern als Argumente für die Revisionsoption bereitstellen Wenn Sie eine Reihe von Revisionen anbieten möchten, können Sie zwei Revisionen, die durch einen Doppelpunkt getrennt sind, zum Beispiel. Operates auf einer Revisionseigenschaft anstelle einer Eigenschaft, die spezifisch für eine Datei oder ein Verzeichnis ist. Diese Option erfordert, dass Sie auch eine Revision mit dem - Revision - r Option. Set die klebrige Tiefe in einem Verzeichnis in einer Arbeitskopie zu einem der ausschließen leere Dateien sofort oder unendlich Für detaillierte Abdeckung dessen, was diese bedeuten und wie diese Option verwenden, siehe die s Ection genannt Sparse Directories. Enables einen speziellen Ausgabemodus für svn diff, in dem die Inhaltsunterschied für eine Datei, die über einen Kopiervorgang erstellt wurde, wie es für eine brandneue Datei mit jeder Zeile darin erscheint, die als eine Ergänzung zu einer leeren Datei statt als angezeigt erscheint Ein Delta gegen die ursprüngliche Datei, aus der die Kopie erstellt wurde. Used, um svn mergeinfo anzuzeigen, geben Sie bestimmte Klassen von Merge-Tracking-Informationen an ARG kann entweder zusammengeführt oder förderfähig sein, um den Wunsch zu sehen, Revisionen zu sehen, die entweder bereits zusammengeführt oder für die zukünftige Zusammenführung von der angegebenen Quelle berechtigt sind URL, beziehungsweise. Veranlasst den Client, Informationen darüber anzuzeigen, welche Dateien in Ihrer Arbeitskopie veraltet sind. Dies ist nicht wirklich irgendwelche Ihrer Dateien zu aktualisieren, sondern zeigt Ihnen gerade, welche Dateien aktualisiert werden, wenn Sie dann svn update verwenden. Unterlegt einen Subversion-Unterbefehl Das die Geschichte einer versionierten Ressource durchquert, um die Ernte dieser historischen Information zu beenden, wenn eine Kopie, die ein Ort ist, in dem die Ressource kopiert wurde Ied von einem anderen Ort im Repository angetroffen wird. Unterstützt Subversion, um strenge Semantik zu verwenden, eine Vorstellung, die eher vage ist, wenn man nicht über bestimmte Unterbefehle spricht, nämlich svn propget. Used by svn Patch, um NUM führende Pfadkomponenten zu ignorieren, die auf Pfaden gefunden wurden, die im Patch angegeben wurden Eingabedatei. Zeigen Sie nur hochrangige Zusammenfassungsbenachrichtigungen über die Operation anstelle der detaillierten Ausgabe an. Zeigt Subversion an, um zusätzliche Zielpfade für die Operation von FILENAME zu lesen FILENAME sollte einen Pfad pro Zeile enthalten, wobei jeder Pfad die gleiche Kodierung und Formatierung verwenden soll Dass es wäre, wenn man es direkt als Argument auf der Kommandozeile angegeben hat. Uses oder zeigt zusätzliche Informationen aus Merge-History. Requests, dass der Client so viele Informationen ausdrucken kann, wie es kann, während Sie einen Unterbefehl ausführen Dies kann dazu führen, dass Subversion-Druck zusätzliche Felder, detaillierte Informationen über jede Datei oder zusätzliche Informationen zu ihren Aktionen. Prints der Client-Versions-Info T Seine Informationen beinhalten nicht nur die Versionsnummer des Clients, sondern auch eine Auflistung aller Repository-Zugriffsmodule, die der Client für den Zugriff auf ein Subversion-Repository verwenden kann. Mit - quiet - q druckt er nur die Versionsnummer in einer kompakten Form Die Option --xml to svn log weist an Subversion an, um alle Revisionseigenschaften abzurufen und anzuzeigen, wobei die standardmäßigen, die von Subversion intern verwendet werden, sowie alle benutzerdefinierten in der Protokollausgabe. Die mit der Option --xml auf svn log angewiesene Datenbank gibt Unterversion an Lassen Sie alle Revisionseigenschaften einschließlich der Standardprotokollnachricht, des Autors und der Revision datestamp aus dem Protokollausgang aus. Wenn Sie mit einem beliebigen Befehl, der in das Repository schreibt, verwendet, setzt die Revisionseigenschaft mit dem NAME VALUE-Format NAME auf VALUE, wenn sie mit svn log verwendet wird In - xml-Modus, zeigt dies den Wert von ARG in der Log-Ausgabe an. Prints Ausgabe im XML-Format. Aktuell scheint es noch eine andere Option, die ich nur bemerkt, vor kurzem, wenn in das oben beschriebene Problem. If Du hast Git, um die du dich vielleicht schon benutzen kannst, dann kannst du es zum Vergleich verwenden, auch wenn die Dateien selbst nicht unter Versionskontrolle sind. Wenn du nicht standardmäßig für dich aktiviert bist, dann ist die Möglichkeit, die Farbunterstützung hier zu betrachten Einfacher als einige der zuvor erwähnten workarounds. answered 12. November 13 um 13 27.Und für jene Gelegenheiten, wenn ein yum installieren colordiff oder ein apt-get Install Colordiff ist keine Option aufgrund einer gewissen geistigen Einschränkung über Ihre unmittelbare Kontrolle, oder Sie re Nur das Gefühl verrückt können Sie das Rad mit einer Reihe von sed. Throw, dass in einem Shell-Skript und Rohr vereinheitlichten Diff Ausgabe durch it. It macht Hunk Marker blau und Highlights neue alte Dateinamen und hinzugefügt entfernten Linien in grün und rotem Hintergrund, 1 Und es wird nachlaufenden Raum 2 Veränderungen leichter offensichtlich als colordiff can.1 Im Übrigen ist der Grund für die Hervorhebung der Dateinamen die gleichen wie die modifizierten Linien ist, dass korrekt zwischen th unterscheiden E Dateinamen und die geänderten Zeilen erfordert das korrekte Analysieren des Diff-Formats, das ist nicht etwas, um mit einem Regex zu kämpfen Hervorhebung sie die gleichen Arbeiten gut genug visuell und macht das Problem trivial Das heißt, es gibt einige interessante Feinheiten.2 Aber nicht nachlaufende Tabs Anscheinend Tabs don t bekommen ihre Hintergrund-Set, zumindest in meinem xterm Es macht Tab vs Raumänderungen ausstehen ein bisschen though. answered Mai 31 13 bei 20 36. Matt Hier sa brute-force Ansatz für einen Mac sed s - Echo - e X1b 41m-s echo - e x1b 42m s echo - e x1b 34m s echo - e x1b 0m obwohl ich erwarte, dass es einen besseren Weg retracile ist. Aug 23 13 bei 14 34.Hmm, es Art von gearbeitet gab die 3 Bindestriche zwischen jedem Stück Ein rosa Hintergrund Matt Montag Aug 23 13 at 22 43.Nevermind - Ich habe die Diff - u-Option vergessen. Nizza Arbeit Matt Montag Aug 23 13 bei 22 44.Jetzt ist dies ein toller Weg zu gehen Das ist ein schöner sed Zauberer Fthinker Okt 17 13 at 0 44.sed s - x1b 31m - s x1b 32m s x1b 34m s x1b 0m sieht auch toll aus Yura Mai 7 15 bei 11 20.Sie können c Hange die Subversion-config zu verwenden colordiff. answered Sep 20 13 am 12 21.svn Kann t starten Prozess colordiff Ressource vorübergehend nicht verfügbar Nik Dez 7 16 at 16 29.Did Sie installieren Colordiff Azd325 Dez 7 16 bei 17 41.Yup, habe ich versucht Hardcoding Der Weg, der auch läuft in Cygwin Nik Dec 7 16 bei 18 28. Ich benutze grc Generic Colouriser, die Ihnen erlaubt, die Ausgabe einer Reihe von Befehlen einschließlich diff. It ist ein Python-Skript, die um jeden Befehl verpackt werden kann So stattdessen Des Aufrufs von diff file1 file2 Sie würden aufrufen grc diff file1 file2 zu sehen colourised Ausgabe Ich habe aliased diff zu grc diff, um es einfacher zu machen. Erweiterte Jan 10 12 bei 8 56.Für irgendeine Grund, dies nicht bunt die Ausgabe für mich daniel kullmann Jan 10 12 at 9 28.Coloured, Wort-Ebene diff ouput. Hier s, was Sie mit dem unten genannten Skript und diff-highlight. Woh Zweige verwendet werden, um separate Linien der Entwicklung zu halten, zu einem gewissen Zeitpunkt werden Sie wollen, um zu verschmelzen Die Änderungen an einem Zweig zurück in den Kofferraum oder Laster Versa Es ist wichtig zu verstehen, wie Verzweigung und Verschmelzung in Subversion funktioniert, bevor Sie es verwenden, da es sehr komplex werden kann Es wird dringend empfohlen, dass Sie das Kapitel Branching und Merging im Subversion Buch lesen, das eine vollständige Beschreibung und viele gibt Beispiele dafür, wie es verwendet wird. Der nächste Punkt zu beachten ist, dass das Zusammenführen immer in einer Arbeitskopie stattfindet Wenn Sie Änderungen in einen Zweig zusammenführen möchten, müssen Sie eine Arbeitskopie für diesen Zweig auschecken und den Merge-Assistenten aufrufen Von dieser Arbeitskopie mit TortoiseSVN Merge. Im Allgemeinen ist es eine gute Idee, eine Zusammenführung in eine unmodifizierte Arbeitskopie durchzuführen Wenn Sie andere Änderungen in Ihrem WC vorgenommen haben, begehen Sie diese zuerst Wenn der Merge nicht so geht, wie Sie erwarten, können Sie Um die Änderungen zurückzusetzen, und der Revert-Befehl wird alle Änderungen verwerfen, einschließlich aller, die du vor dem Zusammenführen gemacht hast. Es gibt drei häufige Anwendungsfälle für das Zusammenführen, die auf etwas andere Weise behandelt werden, wie unten beschrieben. Die erste Seite von th Der Merge-Assistent fordert Sie auf, die Methode auszuwählen, die Sie benötigen. Mischen Sie eine Reihe von Revisionen. Diese Methode umfasst den Fall, wenn Sie eine oder mehrere Revisionen zu einem Zweig oder zum Trunk gemacht haben und Sie diese Änderungen an einen anderen Zweig portieren möchten. Was fragst du Subversion zu tun ist dies Berechnen Sie die notwendigen Änderungen, um von Revision 1 von Zweig A zu revision 7 von Zweig A zu erhalten, und wenden Sie diese Änderungen an meine Arbeitskopie von Stamm oder Zweig B. Wenn Sie den Revisionsbereich leer lassen , Verwendet Subversion die Merge-Tracking-Funktionen, um den korrekten Revisionsbereich zu berechnen, um zu verwenden. Dies ist bekannt als eine reintegrate oder automatische Merge. Merge zwei verschiedene Bäume. Dies ist ein allgemeiner Fall der Reintegrate-Methode Was Sie fragen Subversion zu tun ist Berechnen Die Änderungen notwendig, um aus der Kopf-Revision der Trunk TO die Kopf-Revision der Zweig zu bekommen, und wenden Sie diese Änderungen an meine Arbeitskopie der Trunk Das Nettoergebnis ist, dass Stamm jetzt sieht genau wie die Filiale. Wenn Ihr Server-Repository Unterstützt nicht Merge-Tracking, dann ist dies der einzige Weg, um einen Zweig zurück zu Trunk zusammenführen Ein weiterer Anwendungsfall tritt auf, wenn Sie Vendor Filialen verwenden und Sie müssen die Änderungen nach einem neuen Lieferanten-Drop in Ihren Trunk-Code zusammenführen Für weitere Informationen lesen Sie die Kapitel über Vendor-Filialen im Subversion-Buch. Mischen eines Bereichs von Revisionen. Figure 4 54 Der Merge-Assistent - Wählen Sie Revision Range. In der From-Feld geben Sie die vollständige Ordner-URL des Zweigs oder Tag mit den Änderungen, die Sie in Ihre Arbeit portieren möchten Kopieren Sie können auch klicken, um das Repository zu durchsuchen und den gewünschten Zweig zu finden Wenn Sie von diesem Zweig vorher verschmolzen haben, dann verwenden Sie einfach die Dropdown-Liste, die einen Verlauf der zuvor verwendeten URLs anzeigt. Wenn Sie von einem umbenannten oder gelöschten Zweig dann verschmelzen Du musst zu einer Revision zurückkehren, in der dieser Zweig noch existiert In diesem Fall musst du auch diese Revision als Peg-Revision im Bereich der Revisionen angeben, die zusammengeführt werden, siehe unten, sonst wird der Zusammenschluss fai L Wenn es diesen Pfad bei HEAD finden kann. Im Revisionsbereich zum Zusammenführen von Feld geben Sie die Liste der Revisionen ein, die Sie zusammenführen möchten. Dies kann eine einzige Revision sein, eine Liste von spezifischen Revisionen, die durch Kommas getrennt sind, oder eine Reihe von Revisionen, die durch getrennt sind Ein Bindestrich oder eine Kombination von diesen. Wenn Sie eine Peg-Revision für den Merge angeben müssen, fügen Sie die Peg-Revision am Ende der Revisionen, z. B. 5-7, E-Mail-geschützt Im obigen Beispiel die Revisionen 5,6, 7 und 10 würde zusammengeführt werden, wobei 3 die Peg-Revision ist. Es gibt einen wichtigen Unterschied in der Art und Weise, wie ein Revisionsbereich mit TortoiseSVN im Vergleich zum Kommandozeilen-Client angegeben ist. Der einfachste Weg, es zu visualisieren, ist, an einen Zaun mit Pfosten zu denken und Zaunpanels. Mit dem Kommandozeilen-Client legen Sie die Änderungen fest, die mit zwei Zaunpfosten-Revisionen zusammengeführt werden, die die Vor - und Nach-Punkte angeben. Mit TortoiseSVN geben Sie den Änderungssatz an, der mit Zaunpanels zusammengeführt wird. Der Grund dafür wird klar, wenn Sie den Protokolldialog verwenden Revisionen angeben t O merge, wo jede Revision erscheint als changeet. If Sie verschmelzen Revisionen in Chunks, die Methode in der Subversion Buch gezeigt werden Sie fusionieren 100-200 dieses Mal und 200-300 nächsten Mal Mit TortoiseSVN würden Sie 100-200 dies verschmelzen Zeit und 201-300 nächstes Mal. This Unterschied hat eine Menge Hitze auf die Mailing-Listen Wir erkennen an, dass es einen Unterschied von der Kommandozeilen-Client, aber wir glauben, dass für die Mehrheit der GUI-Nutzer ist es einfacher, die Methode zu verstehen Wir haben implementiert. Der einfachste Weg, um die Palette von Revisionen, die Sie benötigen, ist, klicken Sie auf Log anzeigen, da dies die letzten Änderungen mit ihren Log-Kommentare Liste Wenn Sie die Änderungen aus einer einzigen Revision zusammenführen möchten, wählen Sie einfach diese Revision Wenn Sie möchten Um Änderungen aus mehreren Revisionen zusammenzuführen, dann wähle diesen Bereich mit dem üblichen Shift-Modifier aus Klicken Sie auf OK und die Liste der Revisionsnummern, die zusammengeführt werden sollen, wird für Sie ausgefüllt. Wenn Sie Änderungen aus Ihrer Arbeitskopie zusammenführen möchten, um sie zurückzusetzen Eine Veränderung w Wer bereits begangen wurde, wähle die Revisionen aus und stelle sicher, dass das Reverse-Merge-Box überprüft ist. Wenn du bereits einige Änderungen von diesem Zweig zusammengeführt hast, wirst du hoffentlich die letzte Revision in der Log-Nachricht gemeldet haben, wenn du Verpflichtet die Änderung In diesem Fall können Sie Show Log für die Working Copy verwenden, um diese Log-Nachricht zu verfolgen. Erinnern Sie sich daran, dass wir an Revisionen als Changeets denken, sollten Sie die Revision nach dem Endpunkt des letzten Merge als Startpunkt für diese verwenden Merge Wenn Sie zum Beispiel die Revisionen 37 bis 39 zusammengeführt haben, dann sollte der Startpunkt für diesen Zusammenschluss Revision 40 sein. Wenn Sie die Merge-Tracking-Funktionen von Subversion verwenden, müssen Sie sich nicht erinnern, welche Revisionen bereits zusammengeführt wurden - Subversion wird das für Sie aufzeichnen Wenn Sie den Revisionsbereich leer lassen, werden alle Revisionen, die noch nicht zusammengeführt wurden, enthalten. Lesen Sie den Abschnitt Merge Tracking, um mehr zu erfahren. Wenn das Tracking verwendet wird, E-Protokolldialog zeigt zuvor zusammengesetzte Revisionen und Revisionen, die den gemeinsamen Ahnenpunkt vorab datieren, dh bevor der Zweig kopiert wurde, als grau aus Das Kontrollkästchen Nicht-Mergeable Revisionen ausblenden ermöglicht es Ihnen, diese Revisionen vollständig zu filtern, so dass Sie nur die Revisionen sehen Die zusammengeführt werden können. Wenn andere Leute können Änderungen begehen dann seien Sie vorsichtig über die Verwendung der HEAD Revision Es kann nicht auf die Revision, die Sie denken, es tut, wenn jemand anderes ein Commit nach Ihrem letzten Update. Wenn Sie verlassen die Reichweite von Revisionen leer Oder haben die Radio-Taste alle Revisionen überprüft, dann Subversion fusioniert alle noch nicht zusammengesetzte Revisionen Dies ist bekannt als eine reintegrate oder automatische Merge. Es gibt einige Bedingungen, die für eine Wiedereingliederung zusammenführen Zuerst muss der Server Merge-Tracking unterstützen Die Arbeitskopie muss be of depth infinite no sparse checkouts , and it must not have any local modifications, switched items or items that have been updated to revisions other than HEAD All changes to trunk mad e during branch development must have been merged across to the branch or marked as having been merged The range of revisions to merge will be calculated automatically. Merging Two Different Trees.


No comments:

Post a Comment