From svnbook at googlecode.com Tue Feb 3 06:29:43 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 03 Feb 2015 12:29:43 +0000 Subject: [svnbook] r4969 committed - German translation. Message-ID: <089e0158b460bfe05c050e2e39a4@google.com> Revision: 4969 Author: jmfelderhoff at gmx.eu Date: Tue Feb 3 12:29:28 2015 UTC Log: German translation. https://code.google.com/p/svnbook/source/detail?r=4969 Modified: /branches/1.8/de/book/ch05-repository-admin.xml ======================================= --- /branches/1.8/de/book/ch05-repository-admin.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 3 12:29:28 2015 UTC @@ -1,3 +1,5 @@ + + - Mit den Augen eines typischen Dateibrowsers (wie Windows - Explorer) oder von kommandozeilenorientierten + Mit den Augen eines typischen Datei-Browsers (wie Windows + Explorer) oder von kommandozeilen-orientierten Dateisystem-Navigationswerkzeugen ist das Subversion-Projektarchiv blo? ein weiteres gew?hnliches Verzeichnis voller Zeugs. Es gibt einige Unterverzeichnisse mit Konfigurationsdateien, die f?r @@ -132,7 +134,7 @@ elsewhere in this and other chapters.) --> Hier ist ein schneller, oberfl?chlicher ?berblick ?ber das, - was Sie in diesem Verzeichnislisting sehen. (Verzetteln Sie sich + was Sie in diesem Verzeichnisauflistung sehen. (Verzetteln Sie sich nicht mit den Fachausdr?cken – eine detaillierte Behandlung dieser Komponenten erfolgt an anderer Stelle in diesem und in anderen Kapiteln.) @@ -230,10 +232,15 @@ - Vor Subversion 1.5 besa? die Projektarchiv-Struktur auf + + + WebDAV + Aktivit?ten + Vor Subversion 1.5 besa? die Projektarchiv-Struktur auf der Festplatte ein Unterverzeichnis dav. mod_dav_svn verwendete dieses Verzeichnis, um Informationen ?ber WebDAV @@ -263,7 +273,7 @@ wurde nicht dergestalt konfiguriert, dass seine Aktivit?ten-Datenbank an einem anderen Ort abgelegt wird. Siehe - in f?r weitere Informationen. + f?r weitere Informationen. - Welche der verf?gbaren Datenspeicherungsarten m?chten + Welche der verf?gbaren Arten von Datenspeicherung m?chten Sie verwenden? @@ -438,7 +448,7 @@ und zum anschlie?enden Laden nach einer inkompatiblen neuen Version von Subversion gibt usw. Sie k?nnen Daten auch einfach zwischen Projekten verschieben, ohne historische - Versionierungsinformationen zu verlieren. + Versionierungs=Informationen zu verlieren. Nachdem Sie entschieden haben, wie Sie Ihre Projekte in Projektarchive aufteilen, m?chten Sie sich nun vielleicht - Gedanken dar?ber machen, welche Verzeichnishierarchien Sie im + Gedanken dar?ber machen, welche Verzeichnis=Hierarchien Sie im Projektarchiv anlegen wollen. Da Subversion zum Verzweigen und Etikettieren regul?re Verzeichniskopien verwendet (siehe ), empfiehlt die @@ -741,7 +751,7 @@ (Benutzer hinter Ihrer Firmen-Firewall oder die weite Welt im offenen Netz), welche zus?tzlichen Dienste Sie im Zusammenhang mit Subversion anbieten wollen (Schnittstellen zum St?bern im - Projektarchiv, ?bergabebenachrichtigungen per E-Mail usw.), Ihre + Projektarchiv, ?bergabe-Benachrichtigungen per E-Mail usw.), Ihre Sicherungsstrategie und vieles mehr. - Subversion unterst?tzt zwei Optionen f?r - das zugrunde liegende Datenspeicherungsverfahren – oft + + + FSFS + + + Berkeley DB + + + BDB + Berkeley DB + + + Projektarchive + Dateisystem + Subversion unterst?tzt zwei Optionen f?r + das zugrunde liegende Datenspeicherungs=Verfahren – oft bezeichnet als das Backend oder, etwas verwirrend, das (versionierte) Dateisystem — welches jedes Projektarchiv verwendet. Das eine Verfahren speichert alles in einer Berkeley-DB- (oder BDB-) - Datenbankumgebung; Projektarchive, die dieses Verfahren + Datenbank-Umgebung; Projektarchive, die dieses Verfahren verwenden, werden oft BDB-basiert genannt. Das andere Verfahren speichert die Daten in gew?hnlichen, flachen Dateien, die ein spezielles Format verwenden. Unter @@ -831,7 +869,7 @@ eff-ess-eff-ess denkt) eingeb?rgert – eine Implementierung eines versionierten Dateisystems, dass direkt das Dateisystem des Betriebssystems - verwendet – statt einer Datenbankbibliothek oder einer + verwendet – statt einer Datenbank-Bibliothek oder einer anderen Abstraktionsebene – um Daten zu speichern - In der anf?nglichen Entwurfsphase von Subversion + + + Berkeley DB + In der anf?nglichen Entwurfsphase von Subversion entschieden sich die Entwickler aus einer Reihe von Gr?nden, Berkeley DB zu verwenden. Hierzu z?hlen die quelloffene Lizenz, Transaktionsunterst?tzung, Zuverl?ssigkeit, @@ -1130,7 +1174,7 @@ --> Eine weitere gro?artige Funktion von Berkeley DB sind Hot Backups – die F?higkeit, - die Datenbankumgebung zu sichern, ohne sie vom + die Datenbank-Umgebung zu sichern, ohne sie vom Netz zu nehmen. Wir besprechen sp?ter in diesem Kapitel, wie Sie Ihr Projektarchiv sichern (in ), doch sollten die @@ -1154,7 +1198,7 @@ --> Bei Berkeley DB handelt es sich auch um ein sehr zuverl?ssiges Datenbanksystem, wenn es richtig verwendet - wird. Subversion benutzt das Protokollierungssystem von + wird. Subversion benutzt das Protokollierungs-System von Berkeley DB, was bedeutet, dass die Datenbank zun?chst eine Beschreibung der Ver?nderungen in Protokolldateien auf der Platte schreibt, bevor die Ver?nderungen selbst durchgef?hrt @@ -1188,7 +1232,7 @@ k?nnen nicht einfach ein unter Unix erzeugtes Subversion-Projektarchiv auf ein Windows-System kopieren und erwarten, dass es funktioniert. Obwohl ein Gro?teil des - Berkeley-DB-Datenbankformats architekturunabh?ngig ist, sind + Berkeley-DB-Datenbank-Formats architektur-unabh?ngig ist, sind es andere Teile der Umgebung nicht. Zweitens benutzt Subversion Berkeley DB auf eine Weise, die nicht auf Windows 95/98 funktioniert – falls Sie ein BDB-basiertes @@ -1281,10 +1325,10 @@ Verbindung und r?umt anschlie?end auf. Und da der Datenbank-D?mon der einzige Prozess ist, der auf die Tabellen zugreift, brauchen sich Anwendungsprogramme nicht - um Berechtigungskonflikte zu k?mmern. Das trifft allerdings + um Berechtigungs-Konflikte zu k?mmern. Das trifft allerdings nicht auf Berkeley DB zu. Subversion (und jedes Programm, das die Subversion-Bibliotheken verwendet) greift direkt auf - die Datenbanktabellen zu, was bedeutet, dass ein + die Datenbank-Tabellen zu, was bedeutet, dass ein Programmabsturz die Datenbank vor?bergehend in einem inkonsistenten, nicht zugreifbaren Zustand hinterlassen kann, so dass ein Administrator Berkeley DB dazu auffordern @@ -1355,7 +1399,10 @@ FSFS - Mitte 2004 entstand ein zweiter Typ eines + + + FSFS + Mitte 2004 entstand ein zweiter Typ eines Projektarchiv-Speichersystems – eins, das ?berhaupt keine Datenbank verwendet. Ein FSFS-Projektarchiv speichert die zu einer Revision geh?renden ?nderungen in einer einzelnen @@ -1384,10 +1434,13 @@ Betrieb gesichert werden, genauso wie ein BDB-basiertes Projektarchiv. - + Revisionsdateien und Scherben + - - Revisionsdateien und Scherben - FSFS Projektarchive beinhalten sowohl Dateien, die die in einer einzelnen Revision gemachten ?nderungen beschreiben als auch Dateien, die die @@ -1438,16 +1468,52 @@ dass es in bestimmten netzbasierten Dateisystemen zu Leistungsproblemen kommen kann. - Subversion 1.5 erstellt Projektarchive mit FSFS mit + + + + FSFS + in Scherben zerlegen + Subversion 1.5 erstellt Projektarchive mit FSFS mit einem etwas ver?nderten Layout, bei dem der Inhalt dieser - beiden Verzeichnisse in Scherben + beiden Verzeichnisse in Scherben zerlegt wird, oder ?ber mehrere Unterverzeichnisse verteilt wird. Das kann erheblich zur Verk?rzung der Zeit beitragen, die das System ben?tigt, um irgendeine dieser Dateien zu finden, und somit die Gesamtleistung von Subversion beim Lesen des Projektarchivs erh?hen. - Subversion 1.6 und sp?ter geht bei diesem + + + + FSFS + packen + Subversion 1.6 und sp?ter geht bei diesem Scherben-Design noch einen Schritt weiter und erlaubt Administratoren, optional jede dieser Projektarchiv-Scherben in eine einzelne @@ -1661,7 +1727,7 @@ Nach dem Ausf?hren dieses einfachen Befehls haben Sie ein Subversion-Projektarchiv. Abh?ngig davon, wie Anwender k?nftig auf dieses neue Projektarchiv zugreifen sollen, m?ssten Sie - gegebenenfalls an den Dateisystemberechtigungen feilen. Da + gegebenenfalls an den Dateisystem-Berechtigungen feilen. Da allerdings die grunds?tzliche Systemverwaltung nicht Gegenstand dieses Textes ist, betrachten wir die weitere Untersuchung dieses Themas als ?bung f?r den Leser. @@ -1764,12 +1830,24 @@ Erstellen von Projektarchiv-Hooks - Ein Hook (Haken) ist ein Programm, + + + Hook-Skripte + + + Hooks + Hook-Skripte + + + Projektarchive + Hooks + Hook-Skripte + Ein Hook (Haken) ist ein Programm, das durch einige Projektarchiv-Ereignisse gestartet wird, wie etwa die Erzeugung einer neuen Revision oder die Ver?nderung einer unversionierten Eigenschaft. Einige Hooks (die sogenannten @@ -1797,8 +1887,8 @@ Das Unterverzeichnis hooks beinhaltet standardm??ig Vorlagen f?r verschiedene @@ -1877,33 +1967,6 @@ Programme und .bat f?r Batch-Dateien. - - - Aus Sicherheitsgr?nden f?hrt Subversion Hook-Programme - in einer leeren Umgebung aus – d.h., es sind ?berhaupt - keine Umgebungsvariablen gesetzt, nicht einmal - $PATH (oder %PATH% - unter Windows). Deshalb sind viele Administratoren verwirrt, - wenn deren Hook-Programme normal starten, wenn sie manuell - aufgerufen werden, aber nicht laufen, wenn sie Subversion - startet. Stellen Sie sicher, dass Sie entweder alle - notwendigen Umgebungsvariablen in Ihren Hook-Programmen - ausdr?cklich setzen und/oder absolute Pfade zu Programmen - verwenden. - - Es gibt mehrere im Subversion-Projektarchiv implementierte Hooks; Details zu jedem k?nnen Sie in - in - nachlesen. Als + nachlesen. Als Projektarchiv-Administrator m?ssen Sie entscheiden, welche Hooks sie einrichten wollen (indem Sie ein entsprechend benanntes und mit den n?tigen Zugriffsrechten versehenes @@ -1963,69 +2024,573 @@ ?bergeben d?rfen, ben?tigen Sie f?r diese Zugriffskontrolle nicht das Hook-System. + + - Es gibt keinen Mangel an Subversion-Hook-Programmen und - Skripten, die frei verf?gbar sind, entweder von der - Subversion-Gemeinschaft oder von woanders her. Diese Skripte - decken ein breites Spektrum ab – grundlegende - Zugriffskontrolle, Kontrolle der Prozesstreue, - Fehlersystemanbindung, E-Mail-basierte oder syndizierte - Benachrichtigungen bei ?bergaben und noch viel mehr. Oder, - falls Sie Ihren eigenen schreiben wollen, siehe . + Konfiguration der Umgebung von Hook-Skripten - - Obwohl Hook-Skripte fast alles machen k?nnen, gibt es - eine Dimension, in der sich Hook-Skript-Autoren zur?ckhalten - sollten: ?ndern Sie keine - ?bergabe-Transaktion mithilfe von Hook-Skripten. Trotz der - Verlockung, Hook-Skripte zur automatischen Korrektur von - Fehlern, Unzul?nglichkeiten oder Prozessverletzungen - innerhalb der zu ?bergebenden Dateien einzusetzen, kann das - zu Problemen f?hren. Subversion h?lt bestimmte - Projektarchiv-Daten in client-seitigen Caches vor, und wenn Sie - auf diese Art eine ?bergabe-Transaktion ver?ndern, werden - die im Cache befindlichen Informationen ung?ltig, ohne dass - jemand etwas merkt. Diese Inkonsistenz kann zu - ?berraschendem und unerwartetem Verhalten f?hren. Statt die - Transaktion zu ver?ndern, sollten Sie sie einfach im - pre-commit-Hook auf - G?ltigkeit pr?fen und die ?bergabe - ablehnen, falls sie den Anforderungen nicht entspricht. Als - Nebeneffekt werden Ihre Benutzer lernen, wie wertvoll eine - sorgf?ltige, sich an den Vorgaben orientierende Arbeitsweise - ist. - + Standardm??ig f?hrt Subversion Hook-Skripte mit + einer leeren Umgebung aus – d.h., es sind ?berhaupt + keine Umgebungsvariablen gesetzt, nicht einmal + $PATH (oder %PATH% + unter Windows). Deshalb sind viele Administratoren verwirrt, + wenn deren Hook-Programme normal starten, wenn sie manuell + aufgerufen werden, aber nicht funktionieren, wenn sie Subversion + startet. Historisch haben Administratoren dem Problem damit + entgegengewirkt, dass sie manuell alle Umgebungsvariablen, + die ihre Hook-Skripte ben?tigen, im Skript selbst gesetzt + haben. + + Subversion 1.8 stellt eine neue Art vor, die Umgebung + von Hook-Skripten zu verwalten, die von Subversion + ausgef?hrt werden – die Konfigurationsdatei f?r die + Hook-Skript-Umgebung. Falls Subversion eine Datei namens + hooks-env im Unterverzeichnis + conf/ des Projektarchivs findet, parst + es diese Datei als Konfigurationsdatei im INI-Format und + wendet die darin gefundenen Optionsnamen und Variablen als + Umgebungsvariablen in der Ausf?hrungs-Umgebung f?r das + Hook-Skript an. + + + Die Syntax der Datei hooks-env ist + ziemlich einfach: jeder Abschnittsname ist der Name eines + Hook-Skriptes (etwa pre-commit + oder post-revprop-change), und die + Konfigurationseintr?ge in diesem Abschnitt werden als + Abbildungen von Umgebungsvariablen auf gew?nschte Werte + behandelt. Dar?ber hinaus gibt es noch einen besonderen + Abschnitt [default], der verwendet werden + kann, um Abbildungen von Umgebungsvariablen zu + konfigurieren, die auf alle + Hook-Skripte angewendet werden sollen (es sei denn, sie sind + ausdr?cklich durch eigene Hook-Skript Eintr?ge + ?berschrieben). Siehe + + f?r ein Beispiel einer hooks-env + Konfigurationsdatei. + + + + + hooks-env (ma?geschneiderte Umgebungskonfiguration + f?r Hook-Skripte) + + +# Alle Skripte sollten eine UTF-8 Locale verwenden und unser Hook-Skript +# das Werkzeugverzeichnis im Suchpfad haben. + +[default] +LANG = en_US.UTF-8 +PATH = /usr/local/svn/tools:/usr/bin + + +# Auch diee post-commit und post-revprop-change Skripte m?chten +# Programme aus unserer ma?geschneiderten Synctools-Replication-Software +# Sammlung verwenden. + +[post-commit] +PATH = /usr/local/synctools-1.1/bin:%(PATH)s + +[post-revprop-change] +PATH = /usr/local/synctools-1.1/bin:%(PATH)s + + + + + + zeigt auch die elegante Syntax zur Ersetzung von + Zeichenketten aus Subversions Konfigurationsdateien-Parser. + In diesem Beispiel wird der Wert der Option + PATH – aus dem Abschnitt + [default] der Datei gelesen – + anstelle des Platzhalters %(PATH)s in + den Hook-Abschnitten eingef?gt. Mehr zu dieser besonderen + Syntax finden Sie in der Datei + README.txt in Subversions Verzeichnis + f?r die Laufzeitkonfiguration. (Und f?r weitere + Informationen zu diesem Verzeichnis, siehe + .) + + + + Nat?rlich kann es l?stig werden, exakte Duplikate Ihrer + Hook-Skript-Umgebungs-Konfigurations-Dateien in jedem + conf/ Verzeichnis jedes einzelnen + Projektarchivs vorzuhalten, insbesondere, falls Sie + ?nderungen an allen machen m?ssen. Deshalb erlauben Ihnen + die Server von Subversion, einen alternativen (m?glicherweise + gemeinsam benutzten) Speicherort f?r diese Konfiguration + anzugeben. + + + + + + + + + H?ufige Anwendungen f?r Hook-Skripte + + + Projektarchiv-Hook-Skripte k?nnen einen breiten Nutzen + bieten, doch die meisten decken ein paar grunds?tzliche + Kategorien ab: Benachrichtigung, Validierung und + Replizierung. + + + Benachrichtigungs-Skripte sind diejenigen, die jemanden + mitteilen, dass etwas passiert ist. Die h?ufigsten hiervon, + die in einem Subversion-Dienst angetroffen werden k?nnen, + umfassen Programme, die E-Mails mit Benachrichtigungen zu + ?bertragungen und ?nderungen an Revisions-Eigenschaften an + Projektmitarbeiter versenden, und die von den post-commit + bzw. post-revprop-change Hooks ausgel?st werden. Es gibt + zahlreiche andere Ans?tze zu Benachrichtigungen, von + Integrationsskripten f?r Fehlerverfolgungs-Systeme bis zu + Skripten, die als IRC-Bots arbeiten, um zu verk?nden, dass + sich etwas im Projektarchiv ge?ndert hat. + + + Bei der Validierung ist die Verwendung der Hooks + start-commit und pre-commit weit verbreitet, um + ?bertragungen abh?ngig von verschiedenen Kriterien zu + erlauben oder zu verbieten: der Autor der ?bertragung, die + Formatierung und/oder der Inhalt der Protokollnachricht, die + die ?bertragung beschreibt, und sogar die Feinheiten der + an Dateien und Verzeichnissen vorgenommenen ?nderungen in + der ?bertragung. ?hnlich handelt der Hook + pre-revprop-change als Portal zu ?nderungen an + Revisions-Eigenschaften, was eine besonders n?tzliche Rolle + ist, angesichts der Tatsache, dass Revisions-Eigenschaften + an sich nicht versioniert sind und deshalb nur destruktiv + bearbeitet werden k?nnen. + + + Eine besondere Klasse von ?nderungsvalidierung, die seit + der Ver?ffentlichung Subversion 1.5 weit verbreitet ist, + stellt die Validierung des ?bertragenden Clients an sich + dar. Als die Merge-Tracking-Funktionalit?t von Subversion + (ausf?hrlich beschrieben in ) + mit dieser Ver?ffentlichung eingef?hrt wurde, ben?tigten + Subversion-Administratoren eine M?glichkeit, + sicherzustellen, dass, alle Merges von + Anwendern ihrer Projektarchive, die die neue + Funktionalit?t verwendeten, verfolgt werden. Um die + Wahrscheinlichkeit eines nicht verfolgten Merges zu + verringern, verwendeten sie start-commit-Hooks, um die von + Subversion-Clients bekanntgegebenen funktionalen F?higkeiten + zu untersuchen. Falls der ?bertragende Client nicht die + F?higkeit zur Unterst?tzung von Merge-Tracking meldete, + wurde die ?bertragung abgelehnt und eine Anleitung zum + aktualisieren des Clients an den Anwender gesendet. + stellt + ein Beispiel eines start-commit-Skripts bereit, was genau + das macht. + + + + start-commit Hook, um Merge-Tracking Unterst?tzung zu + erzwingen + + +#!/usr/bin/env python +import sys + +# sys.argv[3] is a colon-delimited capabilities list +if 'mergeinfo' not in sys.argv[3].split(':'): + sys.stderr.write("""\ +ERROR: Commits to this repository must be made using Subversion +clients which support the merge tracking feature. Please upgrade +your client to at least Subversion 1.5.0. +""") + sys.exit(1) + + + + + + + Eigenschaften + fl?chtige Transaktions-Eigenschaften + Beginnend mit Subversion 1.8, stellen Clients, + die an einen Subversion 1.8 Server ?bertragen immer noch die + Zeichenkette mit ihren funktionalen F?higkeiten zur + Verf?gung, geben dar?ber hinaus gehend jedoch zus?tzliche + Informationen ?ber sich preis durch fl?chtige + Transaktions-Eigenschaften. Fl?chtige + Transaktions-Eigenschaften sind im Grunde genommen + Revisions-Eigenschaften, die vom Client w?hrend der + ?bertragungs-Transaktion bei der fr?hesten Gelegenheit + gesetzt werden, die dann aber vom Server wieder entfernt + werden, unmittelbar, bevor die Transaktion eine + abgeschlossene Revision wird. Sie k?nnen diese Eigenschaften + mit denselben Werkzeugen untersuchen, mit denen Sie andere + bei ?bertragungs-Transaktionen im Zeitraum zwischen dem + Aufruf der start-commit und pre-commit Hooks gesetzte + unversionierte Eigenschaften untersuchen w?rden. + + + Die folgenden sind die fl?chtigen + Transaktions-Eigenschaften, die Subversion momentan + unterst?tzt und implementiert: + + + + + svn:txn-client-compat-version + + + Beinhaltet die Zeichenkette mit der Version der + Subversion-Bibliothek zu der der Client angibt, + kompatibel zu sein. Das ist n?tzlich, um zu + entscheiden, ob der Client die zur richtigen + Behandlung der Projektarchiv-Daten notwendige minimale + Funktionalit?t unterst?tzt. + + + + + svn:txn-user-agent + + + Beinhaltet die Zeichenkette user + agent, die das ?bertragende Client-Programm + beschreibt. Die Bibliotheken von Subversion definieren + der ersten Teil dieser Zeichenkette, doch k?nnen + Dritte, die dieses API verwenden (GUI-Clients, usw.) + eigene Informationen anh?ngen. + + + + + + + + + + +
  • Pr?fen Sie unseren Issue Tracker, um zu sehen, ob schon jemand anderes den Fehler gemeldet hat. Wenn das der Fall ist, dann ist nichts weiter zu tun, au?er Sie m?chten einen Patch beisteuern, der das Problem behebt.
  • From svnbook at googlecode.com Tue Feb 3 11:18:40 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 03 Feb 2015 17:18:40 +0000 Subject: [svnbook] r4971 committed - Fixes for the index. Message-ID: <089e01634eaa1890d7050e324345@google.com> Revision: 4971 Author: jmfelderhoff at gmx.eu Date: Tue Feb 3 17:18:07 2015 UTC Log: Fixes for the index. https://code.google.com/p/svnbook/source/detail?r=4971 Modified: /branches/1.8/de/book/appc-webdav.xml /branches/1.8/de/book/ch00-preface.xml /branches/1.8/de/book/ch01-fundamental-concepts.xml /branches/1.8/de/book/ch03-advanced-topics.xml /branches/1.8/de/book/ch04-branching-and-merging.xml /branches/1.8/de/book/ch05-repository-admin.xml /branches/1.8/de/book/ch06-server-configuration.xml /branches/1.8/de/book/ch08-embedding-svn.xml /branches/1.8/de/book/ch09-reference.xml /branches/1.8/de/book/foreword.xml /branches/1.8/de/book/ref-svn.xml ======================================= --- /branches/1.8/de/book/appc-webdav.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/appc-webdav.xml Tue Feb 3 17:18:07 2015 UTC @@ -147,7 +147,7 @@ Spezifikation zu komplex sei. Andere wiederum sagen, dass, w?hrend sich die M?glichkeiten von WebDAV an die Masse wenden (selbst minder technikaffine Benutzer wissen vernetzte - Dateisysteme zu sch?tzen), seine Versionskontrollf?higkeiten + Dateisysteme zu sch?tzen), seine Versions-Kontroll-F?higkeiten dagegen f?r die meisten Benutzer nicht interessant oder notwendig seien. Schlie?lich glauben manche, dass DeltaV unbeliebt bleibe, weil es noch kein quelloffenes Server-Produkt ======================================= --- /branches/1.8/de/book/ch00-preface.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/ch00-preface.xml Tue Feb 3 17:18:07 2015 UTC @@ -101,7 +101,7 @@ Apache™ Subversion®In diesem Buch werden wir es einfach Subversion nennen. Sie werden uns dankbar sein, sobald Sie feststellen, wie viel Platz das spart! - Versionskontrollsystems zu dokumentieren. Wir haben stets versucht, die + Versions-Kontroll-Systems zu dokumentieren. Wir haben stets versucht, die Themen gr?ndlich zu behandeln. Jedoch hat Subversion eine florierende und tatkr?ftige Entwicklergemeinde, so dass bereits eine Menge an Features und Verbesserungen f?r k?nftige Versionen von Subversion geplant sind, die @@ -142,18 +142,18 @@ Subversion - Versionskontrollsysteme + Versions-Kontroll-Systeme VCS - Versionskontrollsysteme + Versions-Kontroll-Systeme Subversion ist ein freies/Open-Source - Versionskontrollsystem (VCS). Das + Versions-Kontroll-System (VCS). Das bedeutet, Subversion verwaltet Dateien und Verzeichnisse und die ?nderungen an ihnen im Lauf der Zeit. Das erlaubt Ihnen, alte Versionen Ihrer Daten wiederherzustellen oder die Geschichte der ?nderungen zu verfolgen. Unter diesem Blickwinkel denken viele - Leute bei einem Versionskontrollsystem an eine Art + Leute bei einem Versions-Kontroll-System an eine Art Zeitmaschine.
    Mit der Verwendung von Versionskontrolle sind auch Kosten verbunden. Falls Sie die Verwaltung Ihres - Versionskontroll-Systems nicht an Dritte weitergeben k?nnen, + Versions-Kontroll-Systems nicht an Dritte weitergeben k?nnen, haben Sie offensichtlich die Kosten der Verwaltung selbst zu tragen. Wenn Sie t?glich mit den Daten arbeiten, werden Sie sie nicht auf die gleiche Art kopieren, verschieben, umbenennen oder l?schen k?nnen wie gewohnt. Stattdessen - m?ssen Sie daf?r das Versionskontroll-System verwenden. + m?ssen Sie daf?r das Versions-Kontroll-System verwenden.
    Selbst unter der Annahme, dass Sie mit dem - Kosten/Nutzen-Verh?ltnis des Versionskontroll-Systems + Kosten/Nutzen-Verh?ltnis des Versions-Kontroll-Systems einverstanden sind, sollten Sie keins verwenden, nur weil es das, was Sie m?chten, kann. Erw?gen Sie, ob andere Werkzeuge Ihnen eher entgegenkommen k?nnen. Zum @@ -359,7 +359,7 @@ --> - versionskontroll-Systeme + Versions-Kontroll-Systeme zentralisierte Sobald Sie sich sicher sind, eine L?sung in Form einer Versionskontrolle zu ben?tigen, werden Sie feststellen, dass @@ -373,7 +373,7 @@ setzte sich nach seiner urspr?nglichen Einf?hrung schnell an die Spitze in diesem Gebiet der Versionskontrolle, gewann weit verbreitete Akzeptanz und ersetzte Installationen vieler - ?lterer Versionskontroll-Systeme. Auch heute bleibt seine + ?lterer Versions-Kontroll-Systeme. Auch heute bleibt seine herausragende Stellung bestehen. - Versionskontroll-Systeme + Versions-Kontroll-Systeme verteilte DVCS - versionskontrollSysteme, verteilte + Versions-Kontroll-Systeme, verteilte Seitdem hat sich jedoch viel ge?ndert. In den Jahren seit der Geburt des Subversion Projektes hat eine neuere Methodik namens verteilte Versionskontrolle @@ -424,7 +424,7 @@ Werkzeuge wie Git () und Mercurial () stellten sich schnell an die Spitze n der Rangfolge der - verteilten Versionskontroll-Systeme (DVCS). Verteilte + verteilten Versions-Kontroll-Systeme (DVCS). Verteilte Versionskontrolle macht sich die wachsende Allgegenw?rtigkeit von Hochgeschwindigkeits-Netzverbindungen und geringen Speicherkosten zu Nutze, um einen Ansatz verf?gbar zu machen, @@ -472,7 +472,7 @@ weitaus bessere Unterst?tzung des Zusammenf?hrens zwischen Zweigen (da Zusammenf?hrungs-Algorithmen jedenfalls den eigentlichen Kern der Funktionalit?t von verteilten - Versionskontroll-Systemen bilden). Der Nachteil ist, dass + Versions-Kontroll-Systemen bilden). Der Nachteil ist, dass verteilte Versionskontrolle ein an sich komplizierteres Modell darstellt, das eine nicht zu vernachl?ssigende Herausforderung f?r eine bequeme Zusammenarbeit. Au?erdem verrichten @@ -503,7 +503,7 @@ Leider handelt dieses Buch von Subversion, so dass wir nicht versuchen werden, einen vollst?ndigen Vergleich zwischen Subversion und anderen Werkzeugen durchzuf?hren. Lesern, die - die ihr Versionskontroll-System w?hlen d?rfen, wird geraten, + die ihr Versions-Kontroll-System w?hlen d?rfen, wird geraten, die verf?gbaren Alternativen zu pr?fen und sich f?r diejenige zu entscheiden, die am besten f?r sie und ihre Mitarbeiter funktioniert. Falls schlie?lich Subversion das Werkzeug der @@ -561,7 +561,7 @@ ersetzt worden. eine Software-Suite namens CollabNet Enterprise Edition (CEE) f?r die Zusammenarbeit an, die auch eine Komponente f?r Versionskontrolle beinhaltete. - Obwohl CEE urspr?nglich CVS als Versionskontrollsystem + Obwohl CEE urspr?nglich CVS als Versions-Kontroll-System verwendete, waren die Einschr?nkungen von CVS von Anfang an offensichtlich, und CollabNet war sich bewusst, dass letztendlich etwas Besseres gefunden werden musste. @@ -569,7 +569,7 @@ Open-Source-Welt geworden, haupts?chlich deshalb, weil es nichts Besseres gab, zumindest nicht unter einer freien Lizenz. Also beschloss CollabNet, ein vollst?ndig neues - Versionskontrollsystem zu schreiben, welches die grundlegenden + Versions-Kontroll-System zu schreiben, welches die grundlegenden Ideen von CVS beibehalten, jedoch die Fehler und Fehlentwicklungen vermeiden sollte. @@ -604,7 +604,7 @@ Open Source Development with CVS (Coriolis, 1999), und fragten ihn, ob er an diesem neuen Projekt mitarbeiten wolle. Zuf?lligerweise besprach Karl - bereits einen Entwurf f?r ein neues Versionskontrollsystem mit + bereits einen Entwurf f?r ein neues Versions-Kontroll-System mit seinem Freund Jim Blandy. Im Jahr 1995 gr?ndeten die beiden Cyclic Software, eine CVS-Beraterfirma, und sie benutzten, obwohl sie die Firma sp?ter verkauften, bei ihrer t?glichen @@ -638,7 +638,7 @@ --> Das urspr?ngliche Designteam einigte sich auf einige einfache Ziele. Sie wollten kein Neuland in - Versionskontrollmethodik betreten, sondern einfach CVS + Versions-Kontroll-Methodik betreten, sondern einfach CVS reparieren. Sie beschlossen, dass Subversion dieselben Merkmale und dasselbe Entwicklungsmodell wie CVS haben solle, wobei die Fehler von CVS aber nicht noch einmal gemacht werden @@ -1048,7 +1048,7 @@ Dateien erzeugt und somit der Commit-Zugriff f?r bestimmte Ressourcen serialisiert werden. W?hrend Subversion immer noch grunds?tzlich ein gleichzeitiges - Versionskontrollsystem ist, k?nnen bestimmte Arten + Versions-Kontroll-System ist, k?nnen bestimmte Arten bin?rer Dateien (z.B. Kunstobjekte) nicht zusammengef?hrt werden. Die Sperrm?glichkeit stillt den Bedarf, solche Ressourcen zu versionieren und zu @@ -1317,11 +1317,11 @@ --> Obwohl dieses Buch unter der Annahme geschrieben worden ist, - dass der Leser noch nie ein Versionskontrollsystem benutzt hat, + dass der Leser noch nie ein Versions-Kontroll-System benutzt hat, haben wir auch versucht, f?r Anwender von CVS (und anderen Systemen) den Sprung zu Subversion so schmerzlos wie m?glich zu machen. Ab und zu werden in Randnotizen andere - Versionskontrollsysteme erw?hnt, und + Versions-Kontroll-Systeme erw?hnt, und fasst viele der Unterschiede zwischen CVS und Subversion zusammen. - Versionskontrollsysteme - Ein Versionskontrollsystem (oder + Versions-Kontroll-Systeme + Ein Versions-Kontroll-System (oder Revisionskontrollsystem) ist ein System, das inkrementelle Versionen (oder Revisionen) von Dateien und, in manchen F?llen, Verzeichnissen ?ber die Zeit hinweg verfolgt. Nat?rlich ist es f?r sich nicht sehr interessant, die verschiedenen Versionen eines Anwenders (oder einer Gruppe von Anwendern) zu verfolgen. - Was ein Versionskontrollsystem n?tzlich macht, ist die Tatsache, + Was ein Versions-Kontroll-System n?tzlich macht, ist die Tatsache, dass es Ihnen erlaubt, die ?nderungen zu untersuchen, die zu jeder dieser Versionen gef?hrt haben und es erm?glicht, erstere jederzeit wieder aufzurufen. @@ -78,10 +78,10 @@ operate across wide-area networks. --> In diesem Abschnitt werden wir einige Komponenten und - Konzepte von Versionskontrollsystemen auf ziemlich hohem Niveau - vorstellen. Wir werden uns auf moderne Versionskontrollsysteme + Konzepte von Versions-Kontroll-Systemen auf ziemlich hohem Niveau + vorstellen. Wir werden uns auf moderne Versions-Kontroll-Systeme beschr?nken – in der heutigen vernetzten Welt hat es wenig - Sinn, Versionskontrollsystemen eine Berechtigung einzur?umen, + Sinn, Versions-Kontroll-Systemen eine Berechtigung einzur?umen, die nicht ?ber Netze hinweg arbeiten k?nnen. @@ -124,9 +124,9 @@ Dateisystem-Baum - Versionskontrollsysteme + Versions-Kontroll-Systeme Clients - Im Kern eines Versionskontrollsystems ist ein + Im Kern eines Versions-Kontroll-Systems ist ein Projektarchiv, das der zentrale Speicher der Daten dieses Systems ist. Das Projektarchiv speichert Informationen gew?hnlicherweise in Form eines @@ -180,15 +180,15 @@ Wenn ein Client Daten aus dem Projektarchiv liest, bekommt der Client ?blicherweise nur die letzte Version des - Dateisystem-Baumes zu sehen. Was ein Versionskontrollsystem + Dateisystem-Baumes zu sehen. Was ein Versions-Kontroll-System aber interessant macht, ist dar?ber hinaus die F?higkeit, vorherige Zust?nde des Dateibaums aus dem Projektarchiv - abzurufen. Ein Versionskontrollsystem kann historische Fragen + abzurufen. Ein Versions-Kontroll-System kann historische Fragen stellen, wie Was beinhaltete das Verzeichnis am letzten Mittwoch? und Wer war die Person, die als letztes die Datei ge?ndert hat und welche ?nderungen hat sie gemacht?. Diese Art von Fragen sind die Grundlage - eines Versionskontrollsystems. + eines Versions-Kontroll-Systems. @@ -221,21 +221,21 @@ Arbeitskopien - Der Wert eines Versionskontrollsystems r?hrt von + Der Wert eines Versions-Kontroll-Systems r?hrt von der Tatsache her, dass es Versionen von Dateien und Verzeichnissen verfolgt, doch der Rest des Software-Universums arbeitet nicht auf Versionen von Dateien und Verzeichnissen. Die meisten Programme wissen, wie mit einer einzelnen Version eines bestimmten Dateityps umgegangen wird. Wie arbeitet also ein Anwender - eines Versionskontrollsystems konkret mit einem abstrakten + eines Versions-Kontroll-Systems konkret mit einem abstrakten – und oft entfernten – Projektarchiv voll mit mehreren Versionen verschiedener Dateien? Wie schaffen es seine oder ihre Textbearbeitungs-Software, Pr?sentations-Software, Quelltexteditoren, Web-Design-Software oder sonstigen Programme, die alle nur mit einfachen Dateien umgehen k?nnen, Zugriff auf solche Dateien zu bekommen? Die - Antwort findet sich im Versionskontroll-Konstrukt, das als + Antwort findet sich im Versions-Kontroll-Konstrukt, das als Arbeitskopie bekannt ist. - Wenn die prim?re Mission eines Versionskontrollsystems + Wenn die prim?re Mission eines Versions-Kontroll-Systems darin besteht, die unterschiedlichen Versionen digitaler Informationen ?ber die Zeit hinweg zu verfolgen, liegt eine sehr nahe sekund?re Mission darin, das kollaborative @@ -302,7 +302,7 @@ verwenden unterschiedliche Systeme auch unterschiedliche Strategien, um dies zu bewerkstelligen. Aus einer Reihe von Gr?nden ist es wichtig, diese Unterschiede zu verstehen. - Zun?chst hilft es dabei, bestehende Versionskontrollsysteme zu + Zun?chst hilft es dabei, bestehende Versions-Kontroll-Systeme zu vergleichen und gegen?berzustellen, falls Ihnen andere Systeme begegnen, die Subversion ?hneln. Dar?ber hinaus wird es Ihnen helfen, Subversion effektiver zu benutzen, da Subversion @@ -324,7 +324,7 @@ to accidentally overwrite each other's changes in the repository. --> - Alle Versionskontrollsysteme haben das gleiche + Alle Versions-Kontroll-Systeme haben das gleiche fundamentale Problem zu l?sen: Wie soll es Anwendern erlaubt werden, Informationen zu teilen, aber sie davor zu bewahren, sich gegenseitig auf die F??e zu treten? Es ist allzu @@ -410,7 +410,7 @@ Versionskontrolle Modelle Sperren-?ndern-Entsperren - Viele Versionskontrollsysteme verwenden ein + Viele Versions-Kontroll-Systeme verwenden ein Sperren-?ndern-Entsperren-Modell um zu verhindern, dass verschiedene Autoren sich gegenseitig die ?nderungen l?schen. Bei diesem Modell erlaubt das Projektarchiv nur jeweils @@ -564,7 +564,7 @@ Modelle kopieren-?ndern-zusammenf?hren Subversion, CVS und viele andere - Versionskontrollsysteme benutzen ein + Versions-Kontroll-Systeme benutzen ein Kopieren??ndern?Zusammenfassen-Modell als Alternative zum Sperren. In diesem Modell verbindet sich jeder Client der Anwender mit dem Projektarchiv und erzeugt @@ -572,7 +572,7 @@ gleichzeitig und unabh?ngig voneinander an ihren privaten Kopien. Am Ende werden dann alle Einzelkopien zu einer neuen, aktuellen Version zusammengef?hrt. Das - Versionskontrollsystem hilft oft bei dieser Zusammenf?hrung, + Versions-Kontroll-System hilft oft bei dieser Zusammenf?hrung, aber letztlich ist der Mensch daf?r verantwortlich, das es korrekt abl?uft. @@ -599,7 +599,7 @@ --> - out of date + veraltet Hier ist ein Beispiel: Harry und Sally haben sich jeweils eine eigene Arbeitskopie des im Projektarchiv vorhandenen Projektes geschaffen. Beide arbeiten nun an der @@ -794,9 +794,9 @@ version control. --> Wir haben bereits erw?hnt, dass Subversion ein modernes, - netzbewusstes Versionskontrollsystem. Wie wir in + netzbewusstes Versions-Kontroll-System. Wie wir in beschrieben - haben (unser Versionskontroll-?berblick auf hoher Ebene), dient + haben (unser Versions-Kontroll-?berblick auf hoher Ebene), dient ein Projektarchiv als Kern-Speichermechanismus f?r die versionierten Daten von Subversion, und ?ber Arbeitskopien kommunizieren Anwender und ihre Software mit diesen Daten. In @@ -826,7 +826,7 @@ --> Subversion implementiert das Konzept eines Projektarchivs f?r Versionskontrolle so, wie es jedes andere moderne - Versionskontrollsystem auch machen w?rde. Im Gegensatz zu + Versions-Kontroll-System auch machen w?rde. Im Gegensatz zu einer Arbeitskopie ist ein Subversion-Projektarchiv ein abstraktes Gebilde, das sich fast ausschlie?lich ?ber die eigenen Subversion-Bibliotheken und -Werkzeuge manipulieren @@ -855,7 +855,7 @@ versionierten Dateien zusammen mit Metadaten, die dem System erlauben, erstere zu ?berwachen und mit dem Server zu kommunizieren – eine Arbeitskopie - genannt. Obwohl andere Versionskontrollsysteme den Begriff + genannt. Obwohl andere Versions-Kontroll-Systeme den Begriff Projektarchiv (Repository) f?r das client-seitige Objekt verwenden, ist es sowohl falsch als auch eine verbreitete Quelle f?r Missverst?ndnisse, @@ -977,7 +977,7 @@ Revisionen globale - Anders als die meisten Versionskontrollsysteme + Anders als die meisten Versions-Kontroll-Systeme werden die Revisionsnummern von Subversion auf den kompletten Projektarchiv-Baum anstatt auf einzelne Dateien angewendet. Jede Revisionsnummer w?hlt @@ -991,7 +991,7 @@ Revision 5 aussieht
    . Beachten Sie, dass sich im Allgemeinen die Revisionen N und M einer Datei nicht notwendigerweise unterscheiden! - Viele andere Versionskontrollsysteme verwenden dateibezogene + Viele andere Versions-Kontroll-Systeme verwenden dateibezogene Revisionsnummern, so dass dieses Konzept zun?chst ungew?hnlich aussieht. (Ehemalige CVS-Benutzer sollten sich f?r weitergehende Informationen @@ -1301,11 +1301,11 @@ projektarchiv-relative URL - Yirkumflex-Syntax + Zirkumflex-Syntax ^ - caret syntax + Zirkumflex-Syntax In Subversion 1.6 wurde eine neue Notation mit Zirkumflex (^) als Kurzschreibweise f?r der URL des Wurzelverzeichnisses des Projektarchivs @@ -1800,7 +1800,7 @@ einchecken - ?bertragen + ?bertragen Angenommen, Sie nehmen ?nderungen an button.c vor. Da sich das Verzeichnis .svn den urspr?nglichen @@ -1833,7 +1833,7 @@ commit - ?bertragen + ?bertragen Um Ihre ?nderungen anderen gegen?ber zu ver?ffentlichen, k?nnen Sie den Subversion-Befehl svn commit verwenden:
    @@ -1911,7 +1911,7 @@ update - altualisieren + aktualisieren Arbeitskopien @@ -2286,7 +2286,7 @@ m?chten herausbekommen, wann ein Fehler das erste Mal in einer Datei auftauchte. Dies ist der Zeitmaschinen-Aspekt eines - Versionskontrollsystems – die Eigenschaft, die es + Versions-Kontroll-Systems – die Eigenschaft, die es erm?glicht, irgendeinen Teil Ihrer Arbeitskopie zeitlich nach vorne oder nach hinten zu verschieben.
    ======================================= --- /branches/1.8/de/book/ch03-advanced-topics.xml Fri Jan 16 13:41:33 2015 UTC +++ /branches/1.8/de/book/ch03-advanced-topics.xml Tue Feb 3 17:18:07 2015 UTC @@ -22,7 +22,7 @@ Falls Sie dieses Buch kapitelweise von vorne nach hinten lesen, sollten Sie sich bis hierhin ausreichende Kenntnisse ?ber die Verwendung des Subversion-Clients angeeignet haben, um die - gebr?uchlichsten Versionskontrollt?tigkeiten ausf?hren zu k?nnen. + gebr?uchlichsten Versions-Kontroll-T?tigkeiten ausf?hren zu k?nnen. Sie wissen, wie eine Arbeitskopie aus einem Subversion-Projektarchiv ausgecheckt wird. Sie kommen gut damit zurecht, ?nderungen mittels svn commit und @@ -39,7 +39,7 @@ directory changes to and from a central repository. --> Subversions Funktionsumfang macht allerdings nicht bei - gew?hnlichen Versionskontrollt?tigkeiten halt. Es + gew?hnlichen Versions-Kontroll-T?tigkeiten halt. Es bietet mehr, als lediglich den Transport von Datei- und Verzeichnis?nderungen in ein und aus einem zentralen Projektarchiv zu erm?glichen. @@ -422,7 +422,7 @@ some examples.
    --> Revisionsnummern offenbaren nichts ?ber die Welt au?erhalb - des Versionskontrollsystems, doch manchmal m?ssen Sie einen + des Versions-Kontroll-Systems, doch manchmal m?ssen Sie einen Zeitpunkt mit einem Moment der Versionsgeschichte korrelieren. Um das zu erm?glichen, erlaubt die Option () auch @@ -609,7 +609,7 @@ --> Dateien und Verzeichnisse werden auf unseren Rechnern st?ndig kopiert, verschoben, umbenannt und vollst?ndig - ersetzt. Ihr Versionskontrollsystem sollte nicht im Weg stehen, + ersetzt. Ihr Versions-Kontroll-System sollte nicht im Weg stehen, wenn Sie diese Dinge auch mit Dateien und Verzeichnissen unter Versionskontrolle machen. Die Dateiverwaltungsunterst?tzung von Subversion ist sehr befreiend, indem sie beinahe die gleiche @@ -1319,7 +1319,7 @@ Projektarchiv ablegt und wieder herausholt. Ganze Kapitel haben sich dieser fundamentalen Funktionalit?t des Werkzeugs gewidmet. Falls die Versionierungsunterst?tzung an diesem Punkt aufh?rte, - w?re Subversion aus Versionskontrollperspektive immer noch + w?re Subversion aus Versions-Kontroll-Perspektive immer noch vollst?ndig. Falls auf einem Verzeichnis vorhanden, ist der Wert eine Liste unversionierter - Dateimuster, die von svn status und + Dateinamen-Muster, die von svn status und anderen Unterbefehlen ignoriert werden sollen. Anders als bei svn:ignore werden diese Muster auf alle unversionierten @@ -4826,15 +4826,15 @@ --> - file patterns + Dateinamen-Muster globs - file patterns + Dateinamen-Muster - shell wildcard patterns - file patterns + Shell-Wildcard-Muster + Dateinamen-Muster Also bietet Ihnen Subversion mehrere M?glichkeiten, wie Sie ihm mitteilen k?nnen, welche Dateien Sie lieber nicht beachten m?chten. Die eine M?glichkeit verwendet das @@ -4848,7 +4848,7 @@ und sind enger an den versionierten Baum gebunden, so dass hiervon jeder betroffen ist, der eine Arbeitskopie dieses Baumes besitzt. Alle dieser M?glichkeiten verwenden - Dateimuster (Ketten aus normalen Zeichen + Dateinamen-Muster (Ketten aus normalen Zeichen und solchen mit besonderer Bedeutung, die mit Dateinamen verglichen werden), um zu entscheiden, welche Dateien ignoriert werden k?nnen. @@ -4869,7 +4869,7 @@ --> Das Laufzeit-Konfigurationssystem von Subversion stellt eine Option global-ignores zur Verf?gung, dessen - Wert eine Sammlung von Dateimustern ist, die durch Leerraum + Wert eine Sammlung von Dateinamen-Mustern ist, die durch Leerraum getrennt sind. Der Subversion-Client vergleicht diese Muster sowohl mit den Dateinamen der unter Versionskontrolle zu bringenden Kandidaten als auch mit den Namen der @@ -4886,7 +4886,7 @@ - Dateimuster in Subversion + Dateinamen-Muster in Subversion - Dateimuster (auch Globs oder + Dateinamen-Muster (auch Globs oder Shell-Jokerzeichen genannt) sind Ketten aus Zeichen, die mit Dateinamen verglichen werden sollen, typischerweise f?r die schnelle Auswahl einer Teilmenge von @@ -4918,7 +4918,7 @@ function. It supports the following wildcards, described here simply for your convenience: --> - Es gibt verschiedene Typen von Dateimuster-Regeln, doch + Es gibt verschiedene Typen von Dateinamen-Muster-Regeln, doch verwendet Subversion die auf Unix-Systemen verbreitete Variante, wie sie dort in der Systemfunktion fnmatch implementiert ist. Sie @@ -4966,7 +4966,7 @@ shell prompt. The following are some examples of patterns being used for various things: --> - Das gleiche Verhalten beim Abgleich von Dateimustern + Das gleiche Verhalten beim Abgleich von Dateinamen-Mustern k?nnen Sie bei der Eingabeaufforderung einer Unix-Shell beobachten. Es folgen einige Beispiele von Mustern f?r verschiedene Dinge: @@ -5013,7 +5013,7 @@ we've described here, but this basic usage level tends to suit the majority of Subversion users. --> - Dateimuster-Abgleich ist zwar ein bisschen komplizierter + Dateinamen-Muster-Abgleich ist zwar ein bisschen komplizierter als hier beschrieben, jedoch ist Beschr?nkung auf diese grundlegende Ebene f?r die Mehrheit der Subversion-Benutzer ausreichend. @@ -5043,10 +5043,10 @@ --> Wenn die Eigenschaft svn:ignore an einem versionierten Verzeichnis auftritt, wird erwartet, dass der Wert - eine Liste von (durch Zeilenvorsch?be getrennten) Dateimustern + eine Liste von (durch Zeilenvorsch?be getrennten) Dateinamen-Mustern enth?lt, die Subversion benutzen soll, um ignorierbare Objekte in demselben Verzeichnis zu bestimmen. - Diese Dateimuster setzen nicht jene au?er Kraft, die in der + Diese Dateinamen-Muster setzen nicht jene au?er Kraft, die in der Laufzeit-Konfigurations-Option global-ignores gefunden werden, sondern werden an deren Liste angeh?ngt. An dieser Stelle lohnt es sich, noch einmal darauf hinzuweisen, @@ -5094,7 +5094,7 @@ Eigenschaft svn:global-ignores. So wie die Eigenschaft svn:ignore, kann svn:global-ignores nur auf einem Verzeichnis - gesetzt werden und enth?lt Dateimuster, die Subversion + gesetzt werden und enth?lt Dateinamen-Muster, die Subversion verwendet, um festzustellen, welche Objekte es ignorieren kann.Die zu ignorierenden Muster der Eigenschaft svn:global-ignores k?nnen durch Leerzeichen, @@ -5132,7 +5132,7 @@ --> - Die Unterst?tzung f?r ignorierbare Dateimuster in + Die Unterst?tzung f?r ignorierbare Dateinamen-Muster in Subversion erstreckt sich lediglich auf die einmalige Handlung, unversionierte Dateien und Verzeichnisse unter Versionskontrolle zu stellen. Sobald ein Objekt unter @@ -5434,7 +5434,7 @@ present. --> Wie bereits fr?her erw?hnt, wird die Liste der zu - ignorierenden Dateimuster auch von svn add + ignorierenden Dateinamen-Muster auch von svn add und svn import verwendet. Beide dieser Befehle haben zur Folge, dass Subversion damit beginnt, eine Menge von Dateien und Verzeichnissen zu verwalten. Statt den @@ -5444,7 +5444,7 @@ die verzeichnisgebundenen und die ererbten Listen – um festzustellen, welche Dateien nicht im Rahmen einer gr??eren rekursiven Hinzuf?ge- oder Importaktion in das - Versionskontrollsystem gebracht werden sollen. Auch hier k?nnen + Versions-Kontroll-System gebracht werden sollen. Auch hier k?nnen Sie wieder die Option verwenden, um Subversion mitzuteilen, die Ignorier-Listen zu ignorieren und auf allen vorhandenen Dateien und Verzeichnissen zu @@ -5546,7 +5546,7 @@ diese Information sich mit jeder ?nderung der Datei auch ?ndert, noch wichtiger, nachdem sich die Datei ?ndert, ist es f?r jeden Prozess au?er dem - Versionskontrollsystem ein ziemlicher Aufwand, die Daten + Versions-Kontroll-System ein ziemlicher Aufwand, die Daten vollst?ndig aktuell zu halten. W?rde das den Autoren ?berlassen, veralteten die Informationen unausweichlich. @@ -7432,7 +7432,7 @@ Kommunikation w?re insofern auch keine schlechte Medizin f?r die gleichnamigen Harry und Sally aus Hollywood gewesen. Aus der Tatsache, dass das eigene - Versionskontrollsystem eine Kommunikationsform darstellt, folgt, + Versions-Kontroll-System eine Kommunikationsform darstellt, folgt, dass es keine schlechte Sache w?re, wenn diese Software die Serialisierung von nicht parallel durchf?hrbaren ?nderungen erm?glichte. Hier ist der Zeitpunkt f?r die @@ -7440,7 +7440,7 @@ gekommen. Hier reden wir nun ?ber das Sperren in Subversion, das in etwa den Reserved Checkouts anderer - Versionskontrollsysteme entspricht. + Versions-Kontroll-Systeme entspricht. - Das Tolle an Versionskontrollsystemen ist, dass + Das Tolle an Versions-Kontroll-Systemen ist, dass Informationen nie verlorengehen. Selbst wenn Sie eine Datei oder ein Verzeichnis l?schen, ist es zwar nicht mehr in der HEAD-Revision vorhanden, jedoch noch in @@ -3464,7 +3464,7 @@ --> Genauso oft wie der Begriff ?nderungsmenge wird die Wendung die Rosinen - herauspicken in Versionskontrollsystemen + herauspicken in Versions-Kontroll-Systemen verwendet. Das bezieht sich darauf, eine bestimmte ?nderungsmenge von einem Zweig auszuw?hlen und sie auf einen anderen anzuwenden. Die Rosinen herauszupicken kann @@ -4922,7 +4922,7 @@ changesets that affected the file, but also exactly which user wrote which line of code, and when she did it. --> - Ein Hauptmerkmal jedes Versionskontrollsystems ist es, + Ein Hauptmerkmal jedes Versions-Kontroll-Systems ist es, dar?ber Buch zu f?hren, wer was wann ge?ndert hat. Die Unterbefehle svn log und svn blame sind die geeigneten Werkzeuge hierf?r: Wenn sie auf @@ -6836,7 +6836,7 @@ aufpassen, da es sich bei diesen Mustern um bew?hrte Vorgehensweisen handelt, die von erfahrenen Menschen empfohlen werden. Diese Prozesse sind nicht spezifisch f?r Subversion; sie - sind anwendbar auf alle Versionskontrollsysteme. Trotzdem + sind anwendbar auf alle Versions-Kontroll-Systeme. Trotzdem mag es hilfreich sein, wenn sie anhand von Subversion erkl?rt werden. @@ -7279,7 +7279,7 @@ --> Allerdings m?chten Sie von Zeit zu Zeit spezielle Anpassungen des Drittanbieter-Codes in Ihrem eigenen - Versionskontrollsystem verwalten. Um auf unser Beispiel aus der + Versions-Kontroll-System verwalten. Um auf unser Beispiel aus der Software=Entwicklung zur?ckzukommen, m?ssen Entwickler manchmal die Bibliothek der Drittanbieter f?r ihre Zwecke ver?ndern. Diese ?nderungen k?nnen neue Funktionalit?ten oder @@ -7321,7 +7321,7 @@ Die L?sung dieses Problems besteht in der Verwendung von Lieferanten-Zweigen. Ein Lieferanten-Zweig ist ein Verzeichnisbaum in Ihrem eigenen - Versionskontrollsystem, der Informationen enth?lt, die von einem + Versions-Kontroll-System, der Informationen enth?lt, die von einem Drittanbieter – oder Lieferanten – bereitgestellt wird. Jede Version der Lieferantendaten, die Sie in Ihr Projekt aufnehmen wollen, wird Zulieferung @@ -7340,7 +7340,7 @@ --> Lieferanten-Zweige bieten zwei Vorteile. Erstens, wird durch das Vorhalten der aktuellen Zulieferung in Ihrem eigenen - Versionskontrollsystem sichergestellt, dass f?r Ihre + Versions-Kontroll-System sichergestellt, dass f?r Ihre Projektmitarbeiter stets die richtige Version der Lieferantendaten verf?gbar ist. Sie erhalten die richtige Version automatisch beim Aktualisieren ihrer Arbeitskopien. ======================================= --- /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 3 12:29:28 2015 UTC +++ /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 3 17:18:07 2015 UTC @@ -424,7 +424,7 @@ two. --> Nehmen wir an, Sie seien als Projektarchiv-Administrator f?r - die Versionskontrollsysteme mehrerer Projekte zust?ndig. Ihre + die Versions-Kontroll-Systeme mehrerer Projekte zust?ndig. Ihre erste Entscheidung ist, ob Sie ein einzelnes Projektarchiv f?r mehrere Projekte verwenden, jedem Projekt sein eigenes Projektarchiv geben oder einen Kompromiss aus diesen beiden @@ -4760,7 +4760,7 @@ Das Auszugsformat eines Subversion Projektarchivs erlaubt ebenfalls die Umwandlung aus einem vollst?ndig unterschiedlichen Speichermechanismus oder - Versionskontrollsystem. Da das Format der Auszugsdatei + Versions-Kontroll-System. Da das Format der Auszugsdatei gr??tenteils menschenlesbar ist, sollte es relativ einfach sein, in diesem Dateiformat generische ?nderungsmengen zu beschreiben, wobei jede als neue Revision behandelt werden ======================================= --- /branches/1.8/de/book/ch06-server-configuration.xml Mon Jan 26 11:47:32 2015 UTC +++ /branches/1.8/de/book/ch06-server-configuration.xml Tue Feb 3 17:18:07 2015 UTC @@ -8123,7 +8123,7 @@ --> Vergessen Sie nicht, dass es sich hier um ein - Versionskontrollsystem handelt! Selbst falls jemand + Versions-Kontroll-System handelt! Selbst falls jemand versehentlich eine ?nderung dorthin ?bergibt, wo sie eigentlich nicht hin sollte, ist es einfach, die ?nderung r?ckg?ngig zu machen. Und sollte ein Anwender mit b?ser ======================================= --- /branches/1.8/de/book/ch08-embedding-svn.xml Tue Nov 25 16:56:50 2014 UTC +++ /branches/1.8/de/book/ch08-embedding-svn.xml Tue Feb 3 17:18:07 2015 UTC @@ -1126,7 +1126,7 @@ Verantwortlichkeit; ihre Aufgabe ist es, die Funktionen der Arbeitskopie-Bibliothek mit denen der RA-Schicht zu vermischen und eine API auf h?chster Ebene f?r Anwendungen zur Verf?gung - zu stellen, die allgemeine Versionskontrollaktionen + zu stellen, die allgemeine Versionskontroll-Aktionen durchf?hren wollen. Beispielsweise erwartet die Funktion svn_client_checkout() einen URL als Argument. Sie leitet diesen URL an die RA-Schicht weiter und @@ -2640,7 +2640,7 @@ interessante Verwendungen f?r die Subversion-API gefunden, von einfachen Projektarchiv-Hook-Skripten ?ber Integrationen zwischen Subversion und einer anderen Anwendung bis zu vollst?ndig - unterschiedlichen Versionskontrollsystemen. Womit wollen + unterschiedlichen Versions-Kontroll-Systemen. Womit wollen Sie es versuchen? ======================================= --- /branches/1.8/de/book/ch09-reference.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/ch09-reference.xml Tue Feb 3 17:18:07 2015 UTC @@ -636,133 +636,6 @@ - - - Anweisungen - - - Dies sind die - httpd.conf-Direktiven, die f?r - mod_authz_svn g?ltig sind: - - - - - AuthzForceUsernameCase Upper| Lower - - - - Entweder Upper - oder Lower, um die entsprechende - Umwandlung des authentifizierten Anwendernamens vor - der Autorisierungspr?fung in Klein- oder - Gro?schreibung vorzunehmen. W?hrend Anwendernamen - unter Beachtung der Klein- oder Gro?schreibung mit - denjenigen in der Autorisierungs-Regel-Datei - verglichen werden, kann diese Direktive zumindest - gemischt geschriebene Anwendernamen in irgendetwas - konsistentes normalisieren. - - - - - - AuthzSVNAccessFile - file-path - - - - F?r Zugriffsregeln, die Rechte auf Pfaden im - Subversion-Projektarchiv beschreiben, soll in - file-path nachgesehen - werden. - - - - - - AuthzSVNAnonymous On|Off - - - - Um zwei besondere Verhaltensweisen dieses Moduls - zu unterbinden, sollte diese Direktive auf - Off gesetzt werden: Die Interaktion - mit der Satisfy Any-Anweisung und - das Durchsetzen des Autorisierungsverfahrens auch - dann, wenn keine Require-Direktiven - vorhanden sind. Der Standardwert dieser Direktive ist - On. - - - - - - AuthzSVNAuthoritative On|Off - - - - Auf Off gesetzt, wird die - Weiterleitung der Zugriffskontrolle an tiefere Module - erlaubt. Der Standardwert dieser Direktive ist - On. - - - - - - AuthzSVNNoAuthWhenAnonymousAllowed On| Off - - - - Auf On setzen, um die - Authentifizierung und Autorisierung von Anfragen zu - unterbinden, die anonyme Benutzer durchf?hren d?rfen. - Der Standardwert dieser Direktive ist - On. - - - - - - ======================================= --- /branches/1.8/de/book/foreword.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/foreword.xml Tue Feb 3 17:18:07 2015 UTC @@ -110,7 +110,7 @@ Leute immer wieder die gleichen grundlegenden Fragen auf der Subversion-Mailingliste stellten: Was sind die Standard-Arbeitsabl?ufe mit Subversion? Funktionieren Branches - und Tags genau so wie in anderen Versionskontrollsystemen? Wie + und Tags genau so wie in anderen Versions-Kontroll-Systemen? Wie finde ich heraus, wer eine bestimmte ?nderung durchgef?hrt hat? ======================================= --- /branches/1.8/de/book/ref-svn.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/ref-svn.xml Tue Feb 3 17:18:07 2015 UTC @@ -836,7 +836,7 @@ Schaltet einen besonderen Ausgabemodus f?r svn diff ein, der f?r die Kompatibilit?t mit dem verbreiteten verteilten - Versionskontroll-System Git entworfen wurde. + Versions-Kontroll-System Git entworfen wurde. @@ -8318,7 +8318,7 @@ lediglich Metadaten der Arbeitskopie. Sie ?ndert keine Dateiinhalte versionierter oder unversionierter Dateien, f?hrt keinerlei - Versionskontroll-Operationen aus (etwa ?bergaben oder + Versions-Kontroll-Operationen aus (etwa ?bergaben oder Aktualisierungen) usw. From svnbook at googlecode.com Wed Feb 4 02:47:36 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 04 Feb 2015 08:47:36 +0000 Subject: [svnbook] r4972 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c1dfae362bbb050e3f3d71@google.com> Revision: 4972 Author: jmfelderhoff at gmx.eu Date: Wed Feb 4 08:47:26 2015 UTC Log: [de] Translation: Branching and Merging Sections: * What's a Branch? * Using Branches ** Creating a Branch ** Working with Your Branch ** The Key Concepts Behind Branching * Basic Merging ** Changesets ** Keeping a Branch in Sync ** Reintegrating a Branch ** Mergeinfo and Previews https://code.google.com/p/svnbook/source/detail?r=4972 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 4 08:47:26 2015 UTC @@ -1,3 +1,5 @@ + + Verzweigen (Branching) und Zusammenf?hren @@ -107,8 +109,7 @@ branches - - This is the basic concept of a branch—namely, + This is the basic concept of a branch—namely, a line of development that exists independently of another line, yet still shares a common history if you look far enough back in time. A branch always begins life as a copy of something, and @@ -118,6 +119,7 @@ Zweige + Branches Branches @@ -355,7 +357,6 @@ Auch diesmal ist der Name, den Sie w?hlen, f?r Subversion unwichtig – Sie k?nnen einen Namen verwenden, der am besten f?r Sie und Ihr Team geeignet ist. - - Sie haben vielleicht schon gesehen, wie mit svn + + + Kopieren + Kopien aus der Ferne + + + svn + Unterbefehle + copy + + + Branches + erzeugen + Sie haben vielleicht schon gesehen, wie mit svn copy innerhalb einer Arbeitskopie eine Datei auf eine andere kopiert wird. Es kann allerdings auch verwendet - werden, um eine entfernte Kopie + werden, um eine Kopie aus der Ferne durchzuf?hren: eine Kopie die unmittelbar eine neue Revision des Projektarchivs zur Folge hat, und f?r die ?berhaupt keine Arbeitskopie notwendig ist. Kopieren Sie einfach einen URL auf @@ -398,13 +426,12 @@ -$ svn copy http://svn.example.com/repos/calc/trunk \ - http://svn.example.com/repos/calc/branches/my-calc-branch \ - -m "Privaten Zweig von /calc/trunk angelegt." + -m "Privaten Zweig von /calc/trunk angelegt." Revision 341 ?bertragen. $ @@ -428,7 +455,12 @@ every file and subdirectory within that working copy directory on the local disk. Copying a directory on the server, however, is a constant-time operation, and it's the way most - people create branches. + people create branches. In addition, this practice raises the + possibility of copying mixed-revision working copies. This isn't + inherently dangerous, but can cause unnecessary complications later + during merging. If you do choose to create a branch by copying a + working copy path, you should be sure the source directory has no + local modifications and is not at mixed-revisions. --> Dieser Befehl bewirkt eine fast sofortige ?bergabe im Projektarchiv, wobei in Revision 341 ein neues Verzeichnis @@ -450,7 +482,15 @@ Platte dupliziert werden muss. Das Kopieren eines Verzeichnisses auf dem Server jedoch besitzt einen konstanten Zeitaufwand und ist die Art und Weise, auf die die meisten - Leute Zweige erstellen. + Leute Zweige erstellen. Zus?tzlich er?ffnet diese + Vorgehensweise die M?glichkeit, Arbeitskopien mit gemischten + Revisionen zu kopieren. Das ist nicht von Natur aus + gef?hrlich, kann jedoch sp?ter beim Zusammenf?hren zu + unn?tigen Komplikationen f?hren. Falls Sie sich entscheiden, + einen Zweig ?ber eine Kopie eines Pfades der Arbeitskopie zu + erstellen, sollten Sie sicherstellen, dass das + Quellverzeichnis weder lokale ?nderungen noch gemischte + Revisionen hat.
    Ausgecheckt, Revision 341. @@ -603,33 +649,33 @@ Sie machen eine ?nderung an - /calc/branches/my-calc-branch/button.c, + /calc/branches/my-calc-branch/src/button.c, die die Revision 342 erzeugt. Sie machen eine ?nderung an - /calc/branches/my-calc-branch/integer.c, + /calc/branches/my-calc-branch/src/integer.c, die die Revision 343 erzeugt. Sally macht eine ?nderung an - /calc/trunk/integer.c, die die Revision + /calc/trunk/src/integer.c, die die Revision 344 erzeugt. @@ -665,35 +711,45 @@ $ pwd /home/user/my-calc-branch -$ svn log -v integer.c +$ svn log -v src/integer.c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r343 | user | 2002-11-07 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines +r343 | user | 2013-02-15 14:11:09 -0500 (Fri, 15 Feb 2013) | 1 line Changed paths: - M /calc/branches/my-calc-branch/integer.c + M /calc/branches/my-calc-branch/src/integer.c * integer.c: frozzled the wazjub. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r341 | user | 2002-11-03 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines +r341 | user | 2013-02-15 07:41:25 -0500 (Fri, 15 Feb 2013) | 1 line Changed paths: A /calc/branches/my-calc-branch (from /calc/trunk:340) Creating a private branch of /calc/trunk. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r303 | sally | 2002-10-29 21:14:35 -0600 (Tue, 29 Oct 2002) | 2 lines +r154 | sally | 2013-01-30 04:20:03 -0500 (Wed, 30 Jan 2013) | 2 lines Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c * integer.c: changed a docstring. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines +… +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +r113 | sally | 2013-01-26 15:50:21 -0500 (Sat, 26 Jan 2013) | 2 lines Changed paths: - A /calc/trunk/integer.c + M /calc/trunk/src/integer.c -* integer.c: adding this file to the project. +* integer.c: Revise the fooplus API. +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +r8 | sally | 2013-01-17 16:55:36 -0500 (Thu, 17 Jan 2013) | 1 line +Changed paths: + A /calc/trunk/Makefile + A /calc/trunk/README + A /calc/trunk/doc/INSTALL + A /calc/trunk/src/button.c + A /calc/trunk/src/integer.c + A /calc/trunk/src/main.c + A /calc/trunk/src/real.c +Initial trunk code import for calc project. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -703,35 +759,43 @@ $ pwd /home/user/my-calc-branch -$ svn log -v integer.c +$ svn log -v src/integer.c ------------------------------------------------------------------------ -r343 | user | 2002-11-07 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen +r343 | user | 2013-02-15 14:11:09 -0500 (Fr, 15. Feb 2013) | 1 Zeile Ge?nderte Pfade: - M /calc/branches/my-calc-branch/integer.c + M /calc/branches/my-calc-branch/src/integer.c * integer.c: Wazjub gefrozzelt. - ------------------------------------------------------------------------ -r341 | user | 2002-11-03 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen +r341 | user | 2013-02-15 07:41:25 -0500 (Fr, 15. Feb 2013) | 1 Zeile Ge?nderte Pfade: A /calc/branches/my-calc-branch (from /calc/trunk:340) Privaten Zweig von /calc/trunk angelegt. - ------------------------------------------------------------------------ -r303 | sally | 2002-10-29 21:14:35 -0600 (Di, 29. Okt 2002) | 2 Zeilen +r154 | sally | 2013-01-30 04:20:03 -0500 (Mi, 30. Jan 2013) | 2 Zeilen Ge?nderte Pfade: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c * integer.c: Einen Docstring ge?ndert. +------------------------------------------------------------------------ +r113 | sally | 2013-01-26 15:50:21 -0500 (Sa, 26. Jan 2013) | 2 Zeilen +Ge?nderte Pfade: + A /calc/trunk/src/integer.c +* integer.c: Die fooplus API ?berarbeitet. ------------------------------------------------------------------------ -r98 | sally | 2002-02-22 15:35:29 -0600 (Fr, 22. Feb 2002) | 2 Zeilen +r8 | sally | 2013-01-17 16:55:36 -0500 (Do, 17. Jan 2013) | 1 Zeile Ge?nderte Pfade: - A /calc/trunk/integer.c + A /calc/trunk/Makefile + A /calc/trunk/README + A /calc/trunk/doc/INSTALL + A /calc/trunk/src/button.c + A /calc/trunk/src/integer.c + A /calc/trunk/src/main.c + A /calc/trunk/src/real.c -* integer.c: Diese Datei dem Projekt hinzugef?gt. - +Urspr?nglicher Calc Projekt Quelltext-Import von trunk. ------------------------------------------------------------------------ @@ -763,28 +827,39 @@ $ pwd /home/sally/calc -$ svn log -v integer.c +$ svn log -v src/integer.c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r344 | sally | 2002-11-07 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines +r344 | sally | 2013-02-15 16:44:44 -0500 (Fri, 15 Feb 2013) | 1 line Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c -* integer.c: fix a bunch of spelling errors. - +Refactor the bazzle functions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r303 | sally | 2002-10-29 21:14:35 -0600 (Tue, 29 Oct 2002) | 2 lines +r154 | sally | 2013-01-30 04:20:03 -0500 (Wed, 30 Jan 2013) | 2 lines Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c * integer.c: changed a docstring. +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +… +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +r113 | sally | 2013-01-26 15:50:21 -0500 (Sat, 26 Jan 2013) | 2 lines +Changed paths: + M /calc/trunk/src/integer.c +* integer.c: Revise the fooplus API. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines +r8 | sally | 2013-01-17 16:55:36 -0500 (Thu, 17 Jan 2013) | 1 line Changed paths: - A /calc/trunk/integer.c + A /calc/trunk/Makefile + A /calc/trunk/README + A /calc/trunk/doc/INSTALL + A /calc/trunk/src/button.c + A /calc/trunk/src/integer.c + A /calc/trunk/src/main.c + A /calc/trunk/src/real.c -* integer.c: adding this file to the project. - +Initial trunk code import for calc project. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -794,28 +869,38 @@ $ pwd /home/sally/calc -$ svn log -v integer.c +$ svn log -v src/integer.c ------------------------------------------------------------------------ -r344 | sally | 2002-11-07 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen +r344 | sally | 2013-02-15 16:44:44 -0500 (Fr, 15. Feb 2013) | 1 Zeile Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c -* integer.c: Ein paar Rechtschreibfehler behoben. - +Die bazzle Funktionen refaktoriert. ------------------------------------------------------------------------ -r303 | sally | 2002-10-29 21:14:35 -0600 (Di, 29. Okt 2002) | 2 Zeilen +r154 | sally | 2013-01-30 04:20:03 -0500 (Mi, 30. Jan 2013) | 2 Zeilen Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c * integer.c: Einen Docstring ge?ndert. - ------------------------------------------------------------------------ -r98 | sally | 2002-02-22 15:35:29 -0600 (Fr, 22. Feb 2002) | 2 Zeilen +r113 | sally | 2013-01-26 15:50:21 -0500 (Sa, 26. Jan 2013) | 2 Zeilen Changed paths: - A /calc/trunk/integer.c + A /calc/trunk/src/integer.c -* integer.c: Diese Datei dem Projekt hinzugef?gt. +* integer.c: Die fooplus API ?berarbeitet. +------------------------------------------------------------------------ +r8 | sally | 2013-01-17 16:55:36 -0500 (Do, 17. Jan 2013) | 1 line +Changed paths: + A /calc/trunk/Makefile + A /calc/trunk/README + A /calc/trunk/doc/INSTALL + A /calc/trunk/src/button.c + A /calc/trunk/src/integer.c + A /calc/trunk/src/main.c + A /calc/trunk/src/real.c + +Urspr?nglicher Calc Projekt Quelltext-Import von trunk. ------------------------------------------------------------------------ @@ -828,8 +913,8 @@ does show that the two files share a common history. Before the branch copy was made in revision 341, the files used to be the same file. That's why you and - Sally both see the changes made in revisions 303 and - 98. + Sally both see the changes made between revisions 8 and + 154. --> Sally sieht ihre eigene ?nderung in Revision 344, aber nicht die ?nderung, die Sie in Revision 343 gemacht haben. Was @@ -839,8 +924,8 @@ Subversion, dass die beiden Dateien einen Teil der Geschichte gemeinsam haben. Bevor die Kopie des Zweiges in Revision 341 gemacht wurde, waren die Dateien dieselbe Datei. Deshalb - sehen sowohl Sie als auch Sally die ?nderungen, die in den - Revisionen 303 und 98 gemacht wurden. + sehen sowohl Sie als auch Sally die ?nderungen, die zwischen + den Revisionen 8 und 154 gemacht wurden. @@ -957,7 +1042,10 @@ Konflikten auf den Stamm zur?ckzuf?hren. - Stattdessen k?nnten Sie und Sally fortfahren, w?hrend der + + + Merging + + + Zusammenf?hren + Merging + Stattdessen k?nnten Sie und Sally fortfahren, w?hrend der Arbeit ?nderungen gemeinsam zu verwenden. Es liegt an Ihnen, zu entscheiden, welche ?nderungen teilenswert sind; Subversion bietet Ihnen die F?higkeit, ?nderungen selektiv zwischen Zweigen @@ -984,7 +1079,7 @@ In den folgenden Beispielen gehen wir davon aus, dass sowohl auf Ihrem Subversion-Client als auch auf dem Server Subversion - 1.7 (oder neuer) l?uft. Falls einer von beiden ?lter als Version + 1.8 (oder neuer) l?uft. Falls einer von beiden ?lter als Version 1.5 ist, wird es komplizierter: Das System wird ?nderungen nicht automatisch mitverfolgen, so dass Sie schmerzhafte manuelle Methoden anwenden m?ssen, um ?hnliche Resultate zu erzielen. Dass hei?t, dass Sie stets die detaillierte Syntax beim Zusammenf?hren verwenden m?ssen, um bestimmte - Revisionsintervalle zu ?bertragen (siehe weiter unten - in diesem Kapitel), und besonders sorgf?ltig verfolgen m?ssen, - was bereits zusammengef?hrt ist und was nicht. Aus diesem Grund - empfehlen wir Ihnen dringend, + Revisionsintervalle zu ?bertragen (siehe + weiter + unten in diesem Kapitel), und besonders sorgf?ltig verfolgen + m?ssen, was bereits zusammengef?hrt ist und was nicht. Aus + diesem Grund empfehlen wir Ihnen dringend, sicherzustellen, dass Ihr Client und Server mindestens die Version 1.5 haben. @@ -1019,18 +1114,17 @@ merge tracking - - Subversion 1.5 introduced the + Subversion 1.5 introduced the merge tracking feature to Subversion. Prior to this feature keeping track of merges required cumbersome manual procedures or the use of external tools. Subsequent releases of Subversion introduced many enhancements and bug fixes to merge tracking, which is why we recommend using the - most recent versions on both your server and client. Keep in - mind that even if your server is running 1.5 or 1.6, you can still - use a 1.7 client. This is particularly important as regards merge - tracking, because the overwhelming majority of fixes to it are on - the client side. + most recent versions for both your server and client. Keep in + mind that even if your server is running 1.5-1.7, you can still + use a 1.8 client. This is particularly important with regard to merge + tracking, because the overwhelming majority of fixes and enhancements + to it are on the client side. --> @@ -1042,8 +1136,7 @@ Verfolgung von Zusammenf?hrungen Merge-Tracking - - Subversion 1.5 f?hrte die Funktionalit?t der + Subversion 1.5 f?hrte die Funktionalit?t der Verfolgung von Zusammenf?hrungen (merge tracking) in Subversion ein. Vor dieser Funktionalit?t erforderte das Verfolgen @@ -1053,11 +1146,11 @@ Merge-Tracking ein, weshalb wir empfehlen, die neuesten Versionen sowohl auf Ihrem Server als auch auf dem Client einzusetzen. Vergessen Sie nicht, dass Sie immer noch einen - 1.7 Client verwenden k?nnen, auch wenn auf Ihrem Server 1.5 - oder 1.6 laufen. Das ist besonders hinsichtlich des - Merge-Trackings wichtig, da eine ?berw?ltigende Mehrheit von - Fehlerbehebungen daran auf der Client-Seite statt gefunden - haben. + 1.8 Client verwenden k?nnen, auch wenn auf Ihrem Server + 1.5-1.7 laufen. Das ist besonders wichtig hinsichtlich des + Merge-Trackings, da die ?berw?ltigende Mehrheit der + Fehlerbehebungen und Verbesserungen auf der Client-Seite statt + gefunden hat. @@ -1068,7 +1161,10 @@ ?nderungsmengen - Bevor wir weitermachen, sollten wir Sie warnen, dass Sie + + + changesets + i + + ?nderungsmengen + changesets + Bevor wir weitermachen, sollten wir Sie warnen, dass Sie auf den kommenden Seiten viele Er?rterungen zum Thema ?nderungen erwarten. Viele mit Versions-Kontroll-Systemen erfahrene Leute benutzen die Begriffe @@ -1169,20 +1272,48 @@ Einen Zweig synchron halten - Machen wir mit unserem Beispiel weiter und nehmen an, dass + + + Merging + Synchronisierungs-Merge + + + svn + Unterbefehle + merge + Machen wir mit unserem Beispiel weiter und nehmen an, dass eine Woche vergangen ist seitdem Sie begonnen haben, auf Ihrem privaten Zweig zu arbeiten. Ihre Arbeit ist noch nicht beendet, jedoch wissen Sie, dass gleichzeitig andere Leute in @@ -1195,8 +1326,19 @@ erreicht – ein Merge zu dem Zweck, Ihren Zweig mit ?nderungen zu aktualisieren, die seit der Erstellung Ihres Zweigs auf dem Ursprungszweig - vorgenommen wurden. - + vorgenommen wurden. + + Merging + automatisch + Ein automatischer Merge ist ganz + einfach einer, bei dem Sie das absolute Minimum an ben?tigten + Informationen f?r einen Merge angeben (d.h., eine einzelne + Merge-Quelle und ein Arbeitskopie-Ziel) und Subversion + entscheiden lassen, welche ?nderungen zusammengef?hrt werden + m?ssen – bei einem automatischen Merge werden keine + ?nderungsmengen mit oder + an svn merge + ?bergeben. --- Zusammenf?hren von r345 bis r356 in ?.?: -U button.c -U integer.c --- Aufzeichnung der Informationen f?r Zusammenf?hrung von r345 in ?.?: +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r341 bis r356 in ?.?: U . $ - Diese einfache Syntax – svn merge + + + Eigenschaften + svn:mergeinfo + Diese einfache Syntax – svn merge URL – fordert Subversion auf, alle ?nderungen von dem URL, die vorher noch nicht zusammengef?hrt wurden, mit dem aktuellen @@ -1289,22 +1440,21 @@ mergeinfo - - In this book and elsewhere (Subversion mailing lists, articles - on merge tracking, etc.) you will frequently come across the - term mergeinfo. This is simply shorthand - for the svn:mergeinfo property. + In this book and elsewhere (Subversion mailing + lists, articles on merge tracking, etc.) you will frequently + come across the term mergeinfo. This + is simply shorthand for the svn:mergeinfo + property. --> Mergeinfo - - In diesem Buch und anderswo (Subversion Mailing-Listen, - Artikeln ?ber Merge-Tracking usw.) wird Ihnen oft der - Begriff Mergeinfo begegnen. Das ist - einfach die Abk?rzung f?r die Eigenschaft + In diesem Buch und anderswo (Subversion + Mailing-Listen, Artikeln ?ber Merge-Tracking usw.) wird + Ihnen oft der Begriff Mergeinfo + begegnen. Das ist einfach die Abk?rzung f?r die Eigenschaft svn:mergeinfo. @@ -1317,20 +1467,21 @@ - Es kann sein, dass Sie nicht immer die - Zusammenf?hrungs-Verfolgung von Subversion verwenden k?nnen, - vielleicht, weil auf Ihrem Server Subversion 1.4 oder ?lter - l?uft. In einem solchen Szenario, k?nnen Sie - selbstverst?ndlich immer noch zusammenf?hren, doch erwartet - Subversion von Ihnen, viele der historischen Berechnungen - selbst manuell vorzunehmen, die Ihnen das Merge-Tracking - abnehmen w?rde, wenn sie verf?gbar w?re. + Es kann sein, dass Sie nicht immer das Merge-Tracking + von Subversion verwenden k?nnen, vielleicht, weil auf Ihrem + Server Subversion 1.4 oder ?lter l?uft oder Sie einen + ?lteren Client verwenden. In einem solchen Szenario, k?nnen + Sie selbstverst?ndlich immer noch zusammenf?hren, doch + erwartet Subversion von Ihnen, viele der historischen + Berechnungen selbst manuell vorzunehmen, die Ihnen das + Merge-Tracking abnehmen w?rde, wenn sie verf?gbar + w?re. - Sagen wir einmal, Sie h?tten in Revision 400 - /branches/foo-feature von - /trunk abgezweigt: + Im laufenden Beispiel wissen Sie, dass Sie in Revision + 341 /calc/trunk nach + /calc/branches/my-calc-branch + abgezweigt haben: -$ svn log -v -r 400 ^/branches/foo-feature +$ svn log -v -r341 ------------------------------------------------------------------------ -r400 | carol | 2011-11-09 10:51:27 -0500 (Mi, 09. Nov 2011) | 1 Zeile +r341 | user | 2013-02-15 07:41:25 -0500 (Fr, 15. Feb 2013) | 1 Zeile Ge?nderte Pfade: -A /branch/b2 (von /trunk:399) + A /calc/branches/my-calc-branch (von /calc/trunk:340) -Create branch for the foo feature +Creating a private branch of /calc/trunk. ------------------------------------------------------------------------ Wenn Sie soweit sind, Ihren Zweig mit den fortlaufenden ?nderungen vom Stamm zu synchronisieren, geben Sie die Start-Revision al die Revision von - /trunk an, von wo aus Sie den Zweig - kopiert haben, und als End-Revision - HEAD: + /calc/trunk an, von wo aus Sie den + Zweig kopiert haben, und als End-Revision die letzte + ?nderung auf /calc/trunk. Letztere + k?nnen Sie finden, indem Sie den Befehl svn + log mit der Option und dem + Optionsargument HEAD aufrufen: -$ svn merge ^/trunk -r399:HEAD --- Zusammenf?hren von r400 bis r556 in ?.?: -A include/foo.h -U src/main.c -A src/foo.c -… +$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk +------------------------------------------------------------------------ +r351 | sally | 2013-02-16 08:04:22 -0500 (Sa, 16. Feb 2013) +------------------------------------------------------------------------ + +$ svn merge http://svn.example.com/repos/calc/trunk -r340:351 +U doc/INSTALL +U src/real.c +U src/button.c +U Makefile -$ svn ci -m "Den foo-Feature-Zweig mit ^/trunk bis r556 synchronisiert." -Sende include/foo.h -… -?bertrage Daten . -Revision 557 ?bertragen. Beim n?chsten Mal, wenn Sie - /branches/foo-branch mit - /trunk synchronisieren, wiederholen Sie - diesen Prozess, mit der Ausnahme, dass die Start-Revision - die j?ngste bereits vom Stamm - zusammengef?hrte Revision ist. Wenn Sie in Ihren + /calc/branches/my-calc-branch mit + /calc/trunk synchronisieren, + wiederholen Sie diesen Prozess, mit der Ausnahme, dass die + Start-Revision die j?ngste bereits vom + Stamm zusammengef?hrte Revision ist. Wenn Sie in Ihren Protokollnachrichten dar?ber gut Buch gef?hrt haben, sollten Sie in der Lage sein, festzustellen, welches diese j?ngste Revision war, indem Sie die Protokollnachrichten Ihres @@ -1460,7 +1611,13 @@ -$ svn merge ^/trunk -r556:HEAD +$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk +------------------------------------------------------------------------ +r959 | sally | 2013-03-5 7:30:21 -0500 (Di, 05. M?r 2013) +------------------------------------------------------------------------ + +$ svn merge http://svn.example.com/repos/calc/trunk -r351:959 … @@ -1482,9 +1639,10 @@ $ svn status M . -M button.c -M integer.c -$ +M Makefile +M doc/INSTALL +M src/button.c +M src/real.c @@ -1493,13 +1651,9 @@ carefully with svn diff, and then build and test your branch. Notice that the current working directory (.) has also been - modified; svn diff will show that - its svn:mergeinfo property has been either - created or modified. This is important merge-related metadata - that you should not touch, since it is - needed by future svn merge commands. - (We'll learn more about this metadata later in the - chapter.) + modified; svn diff shows that + its svn:mergeinfo property has been created. + --> Zu diesem Zeitpunkt ist es weise, sich die ?nderungen mithilfe von svn diff sorgf?ltig anzusehen, @@ -1507,9 +1661,48 @@ testen. Beachten Sie, dass auch das aktuelle Arbeitsverzeichnis (.) ver?ndert wurde; svn diff zeigt an, dass - seine Eigenschaft svn:mergeinfo entweder - angelegt oder modifiziert wurde. Das ist ein wichtiges - Metadatum in Zusammenhang mit Zusammenf?hrungen, das Sie + seine Eigenschaft svn:mergeinfo angelegt + wurde. + + + + +$ svn diff --depth empty . +Index: . +=================================================================== +--- . (Revision 351) ++++ . (Arbeitskopie) + +Eigenschafts?nderungen: . +___________________________________________________________________ ***The diff for this file has been truncated for email.*** From svnbook at googlecode.com Wed Feb 4 03:42:22 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 04 Feb 2015 09:42:22 +0000 Subject: [svnbook] r4973 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c1dfae146352050e40019a@google.com> Revision: 4973 Author: jmfelderhoff at gmx.eu Date: Wed Feb 4 09:42:09 2015 UTC Log: [de] Translation: Branching and Merging Sections: ** Undoing Changes https://code.google.com/p/svnbook/source/detail?r=4973 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 4 08:47:26 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 4 09:42:09 2015 UTC @@ -3301,8 +3301,8 @@ is to roll back a change that has already been committed. Suppose you're working away happily on a working copy of /calc/trunk, and you discover that the - change made way back in revision 303, which changed - integer.c, is completely wrong. It never + change made back in revision 392, which changed + several code files, is completely wrong. It never should have been committed. You can use svn merge to undo the change in your working copy, and then commit the local modification to the @@ -3316,33 +3316,38 @@ Projektarchiv ?bergeben worden war. Nehmen wir einmal an, Sie arbeiten fr?hlich in einer Arbeitskopie von /calc/trunk und entdecken, dass die - damalige ?nderung an integer.c in - Revision 303 v?llig falsch war. Sie h?tte nie ?bergeben werden - sollen. Sie k?nnen svn merge verwenden, um - die ?nderung in Ihrer Arbeitskopie + damalige ?nderungen an verschiedenen Quelltext-Dateien in + Revision 392 v?llig falsch waren. Sie h?tten nie ?bergeben + werden sollen. Sie k?nnen svn merge + verwenden, um die ?nderung in Ihrer Arbeitskopie zur?ckzunehmen, und dann die lokale ?nderung an - das Projektarchiv ?bergeben. Alles, was Sie hierf?r tun m?ssen, - ist, eine umgekehrte Differenz anzugeben. - (Sie machen das durch die Angabe von oder durch das ?quivalente .) + das Projektarchiv ?bergeben. Alles, was Sie hierf?r tun + m?ssen, ist, eine umgekehrte Differenz + anzugeben. (Sie machen das durch die Angabe von + oder durch das ?quivalente + .) -$ svn merge -c -303 ^/calc/trunk --- R?ckw?rtiges Zusammenf?hren von r303 in ?integer.c?: -U integer.c --- Aufzeichnung der Informationen f?r r?ckw?rtiges Zusammenf?hren von r303 in ?integer.c?: - U A-branch +-- Aufzeichnung der Informationen f?r r?ckw?rtiges Zusammenf?hren von r392 in ?.?: + U . -$ svn status - M . -M integer.c +$ svn st +M src/button.c +M src/integer.c +M src/main.c +M src/real.c $ svn diff … -$ svn commit -m "?nderung aus in r303 r?ckg?ngig machen." +$ svn commit -m "Fehlerhafte ?nderung aus r392 r?ckg?ngig machen." +Sending src/button.c +Sending src/integer.c +Sending src/main.c +Sending src/real.c Sende integer.c -?bertrage Daten . -Revision 350 ?bertragen. +?bertrage Daten .... +Revision 399 ?bertragen. @@ -3370,7 +3382,7 @@ merge to apply a changeset, or a whole range of changesets, to your working copy. In our case of undoing a change, we're asking svn merge to apply - changeset r303 to our working copy + changeset r392 to our working copy backward. --> Wie wir fr?her bereits erw?hnten, kann man eine @@ -3380,7 +3392,7 @@ oder ein ganzes Intervall von ?nderungsmengen auf Ihre Arbeitskopie anzuwenden. In unserem Fall, bei dem wir eine ?nderung zur?cknehmen, fordern wir svn - merge auf, die ?nderungsmenge r303 + merge auf, die ?nderungsmenge r392 r?ckw?rts auf unsere Arbeitskopie anzuwenden. @@ -3406,16 +3418,16 @@ Nun denken Sie vielleicht: Gut, aber das hat doch nicht wirklich die ?bergabe r?ckg?ngig gemacht, oder? Die ?nderung - besteht immer noch in Revision 303. Falls jemand eine Version + besteht immer noch in Revision 392. Falls jemand eine Version des Projektes calc zwischen den - Revisionen 303 und 349 auscheckt, wird doch trotzdem die + Revisionen 392 und 398 auscheckt, wird doch trotzdem die fehlerhafte ?nderung sichtbar, oder nicht? Zun?chst sollten Sie svn log benutzen, um das exakte Koordinatenpaar zu ermitteln, das Sie @@ -3551,28 +3554,50 @@ das Verzeichnis gel?scht haben. Sie k?nnen das visuell tun oder ein Werkzeug zur Untersuchung der Protokollausgaben einsetzen (mit grep oder vielleicht durch - eine inkrementelle Suche in einem Editor). + eine inkrementelle Suche in einem Editor). Falls Sie wissen, + dass das fragliche Objekt k?rzlich gel?scht wurde, k?nnen Sie + auch die Option verwenden, um die + Protokollausgabe f?r eine manuelle Untersuchung knapp genug zu + halten. -$ cd parent-dir -$ svn log -v -… +$ cd calc/trunk + +$ svn log -v --limit 3 ------------------------------------------------------------------------ -r808 | joe | 2003-12-26 14:29:40 -0600 (Fr, 26. Dez 2003) | 3 Zeilen +r401 | sally | 2013-02-18 23:15:44 -0500 (Di, 19. Feb 2013) | 1 Zeile Ge?nderte Pfade: - D /calc/trunk/real.c - M /calc/trunk/integer.c + M /calc/trunk/src/main.c + D /calc/trunk/src/real.c + -Schnelle Funktionen zur Fourier-Transformation zu integer.c hinzugef?gt. -real.c gel?scht, da Code jetzt in double.c. -… +* calc/trunk/src/main.c: Hilfetext aktualisiert. + +* calc/trunk/src/real.c: Datei entfernt, keine der hier implementierten + APIs werden noch irgendwo verwendet. +------------------------------------------------------------------------ +r399 | sally | 2013-02-19 20:05:14 -0500 (Di, 19. Feb 2013) | 1 Zeile +Ge?nderte Pfade: + M /calc/trunk/src/button.c + M /calc/trunk/src/integer.c + M /calc/trunk/src/main.c + M /calc/trunk/src/real.c + +Fehlerhafte ?nderung aus r392 r?ckg?ngig gemeacht. +------------------------------------------------------------------------ @@ -3580,20 +3605,20 @@ In the example, we're assuming that you're looking for a deleted file real.c. By looking through the logs of a parent directory, you've spotted that this file - was deleted in revision 808. Therefore, the last version of + was deleted in revision 400. Therefore, the last version of the file to exist was in the revision right before that. Conclusion: you want to resurrect the path /calc/trunk/real.c from revision - 807. + 399. --> In diesem Beispiel nehmen wir an, dass Sie nach der gel?schten Datei real.c suchen. Beim Durchsehen der Protokolle des Elternverzeichnisses haben Sie - entdeckt, dass diese Datei in Revision 808 gel?scht + entdeckt, dass diese Datei in Revision 400 gel?scht wurde. Daher war die letzte Revision in der die Datei noch vorhanden war die unmittelbare Vorg?nger-Revision. Die Schlussfolgerung: Sie m?chten den Pfad - /calc/trunk/real.c aus Revision 807 + /calc/trunk/real.c aus Revision 399 zur?ckholen. Die eine Option ist, svn merge zu - verwenden, um Revision 808 r?ckw?rts + verwenden, um Revision 400 r?ckw?rts anzuwenden. (Wir haben bereits in besprochen, wie ?nderungen r?ckg?ngig gemacht werden.) Das @@ -3628,27 +3653,27 @@ In diesem besonderen Beispiel ist das aber wahrscheinlich nicht die beste Strategie. Die R?ckw?rts-Anwendung von - Revision 808 w?rde nicht nur real.c zum + Revision 400 w?rde nicht nur real.c zum Hinzuf?gen markieren, sondern, wie aus den Protokollmeldungen hervorgeht, dass ebenso bestimmte ?nderungen an - integer.c zur?cknehmen, was Sie aber - nicht wollen. Sie k?nnen sicherlich Revision 808 r?ckw?rts + main.c zur?cknehmen, was Sie aber + nicht wollen. Sie k?nnen sicherlich Revision 400 r?ckw?rts anwenden und dann mit svn revert die - lokalen ?nderungen an integer.c + lokalen ?nderungen an main.c zur?cknehmen; allerdings ist diese Technik nicht sehr - effektiv. Was w?re, wenn 90 Dateien in Revision 808 ge?ndert + effektiv. Was w?re, wenn 90 Dateien in Revision 400 ge?ndert worden w?ren? -$ svn commit -m "real.c aus Revision 807 wiederhergestellt, /calc/trunk/real.c." -Hinzuf?gen real.c -?bertrage Daten . -Revision 1390 ?bertragen. +# ?bertragung der Wiederbelebung +… @@ -3691,7 +3712,7 @@ where it was copied from. In the future, running svn log on this file will traverse back through the file's resurrection and through all the history it had prior - to revision 807. In other words, this new + to revision 399. In other words, this new real.c isn't really new; it's a direct descendant of the original, deleted file. This is usually considered a good and useful thing. If, however, you wanted @@ -3705,7 +3726,7 @@ sich, woher es kopiert wurde. K?nftig wird beim Anwenden von svn log auf diese Datei die gesamte Geschichte, ?ber das Zur?ckholen hinweg, inklusive der - Geschichte vor Revision 807 durchlaufen. In anderen Worten, + Geschichte vor Revision 399 durchlaufen. In anderen Worten, dieses neue real.c ist nicht wirklich neu; es ist ein direkter Nachfahre der urspr?nglichen, gel?schten Datei. Dies ist normalerweise eine gute und @@ -3721,15 +3742,10 @@ $ svn add real.c A real.c -$ svn commit -m "real.c aus Revision 807 wiederhergestellt." -Hinzuf?gen real.c -?bertrage Daten . -Revision 1390 ?bertragen. +# ?bertragung der Wiederbelebung +… @@ -3750,19 +3766,19 @@ -$ svn copy ^/calc/trunk/real.c at 807 ^/calc/trunk/ \ - -m "real.c aus Revision 807 wiederhergestellt." -Revision 1390 ?bertragen. + -m "real.c aus Revision 399 wiederhergestellt." +Revision 402 ?bertragen. -$ svn update +$ svn up Updating '.': A real.c -Aktualisiert zu Revision 1390. +Aktualisiert zu Revision 402. From svnbook at googlecode.com Thu Feb 5 09:10:44 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 05 Feb 2015 15:10:44 +0000 Subject: [svnbook] r4975 committed - [de] Translation: Branching and Merging... Message-ID: <047d7b5d83913cca53050e58b538@google.com> Revision: 4975 Author: jmfelderhoff at gmx.eu Date: Thu Feb 5 15:10:27 2015 UTC Log: [de] Translation: Branching and Merging Sections: * Advanced Merging ** Cherrypicking ** Merge Syntax: Full Disclosure ** Merges Without Mergeinfo ** More on Merge Conflicts (started) https://code.google.com/p/svnbook/source/detail?r=4975 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 4 12:53:08 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 5 15:10:27 2015 UTC @@ -2328,7 +2328,7 @@ merge, um Ihre ?nderungen automatisch zur?ck auf den Stamm zu replizieren. Diese Art von Merge wird - Merge + Merging Reintegrations-Merges automatischer Reintegrations-Merge genannt. Sie ben?tigen eine Arbeitskopie von @@ -3823,7 +3823,11 @@ Die Rosinen herauspicken - Genauso oft wie der Begriff ?nderungsmenge + + + Merging + Rosinenpicken + Genauso oft wie der Begriff ?nderungsmenge wird die Wendung die Rosinen herauspicken in Versions-Kontroll-Systemen verwendet. Das bezieht sich darauf, eine @@ -3851,139 +3859,246 @@ + Warum sollte jemand nur eine einzelne ?nderung wollen? Das + kommt h?ufiger vor, als Sie denken. Gehen wir beispielsweise + einmal davon aus, dass Sie einen neuen Arbeitszweig + /calc/branches/my-calc-feature-branch durch + kopieren von /calc/trunk erstellt + haben: + + + +$ svn log ^/calc/branches/new-calc-feature-branch -v -r403 +------------------------------------------------------------------------ +r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile +Ge?nderte Pfade: + A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) + +Einen neuen Zweig calc f?r Arbeit an 'X' erzeugt. +------------------------------------------------------------------------ + + + + - Warum sollte jemand nur eine einzelne ?nderung wollen? Das - kommt h?ufiger vor, als Sie denken. Gehen wir beispielsweise - einmal zur?ck in die Vergangenheit und stellen uns vor, dass - Sie Ihren Zweig noch nicht wieder mit dem Stamm - zusammengef?hrt h?tten. In der Kaffeek?che bekommen Sie mit, - dass Sally eine interessante ?nderung an - integer.c auf dem Stamm gemacht hat. Als - Sie sich die Geschichte der ?bergaben auf dem Stamm ansehen, - entdecken Sie, dass sie in Revision 355 einen kritischen - Fehler beseitigt hat, der direkte Auswirkungen auf die - Funktion hat, an der Sie gerade arbeiten. Es kann sein, dass - Sie noch nicht bereit sind, alle ?nderungen vom Stamm zu - ?bernehmen, jedoch ben?tigen Sie diese bestimmte + In der Kaffeek?che bekommen Sie mit, dass Sally eine + interessante ?nderung an main.c auf dem + Stamm gemacht hat. Als Sie sich die Geschichte der ?bergaben + auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 + einen kritischen Fehler beseitigt hat, der direkte + Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. + Es kann sein, dass Sie noch nicht bereit sind, alle ?nderungen + vom Stamm zu ?bernehmen, jedoch ben?tigen Sie diese bestimmte Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu k?nnen. + + Ebenso wie Sie svn diff im vorigen + Beispiel benutzt haben, um sich Revision 355 anzusehen, k?nnen + Sie die gleiche Option an svn merge + ?bergeben: + -$ svn diff -c 355 ^/calc/trunk +$ svn log ^/calc/trunk -r413 -v +------------------------------------------------------------------------ +r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen +Ge?nderte Pfade: + M /calc/trunk/src/main.c + +Fehler #22 '?bergabe eines Null-Wertes im Argument foo von bar() +sollte erlaubt sein, aber ruft Schutzverletzung hervor'. +------------------------------------------------------------------------ -Index: integer.c +$ svn diff ^/calc/trunk -c413 +Index: src/main.c =================================================================== ---- integer.c (revision 354) -+++ integer.c (revision 355) -@@ -147,7 +147,7 @@ - case 6: sprintf(info->operating_system, "HPFS (OS/2 or NT)"); break; - case 7: sprintf(info->operating_system, "Macintosh"); break; - case 8: sprintf(info->operating_system, "Z-System"); break; -- case 9: sprintf(info->operating_system, "CP/MM"); -+ case 9: sprintf(info->operating_system, "CP/M"); break; - case 10: sprintf(info->operating_system, "TOPS-20"); break; - case 11: sprintf(info->operating_system, "NTFS (Windows NT)"); break; - case 12: sprintf(info->operating_system, "QDOS"); break; +--- src/main.c (revision 412) ++++ src/main.c (revision 413) +@@ -34,6 +34,7 @@ +… +# Details zur Fehlerbehebung +… - Ebenso wie Sie svn diff im vorigen - Beispiel benutzt haben, um sich Revision 355 anzusehen, k?nnen - Sie die gleiche Option an svn merge + So wie Sie svn diff im vorangegangenen + Beispiel verwendet haben, um Revision 413 zu untersuchen, + k?nnen Sie die gleiche Option an svn merge ?bergeben: -$ svn merge -c 355 ^/calc/trunk ---- Zusammenf?hren von r355 in ?.?: -U integer.c --- Aufzeichnung der Informationen f?r Zusammenf?hrung von r355 in ?.?: +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r413 in ?.?: U . -$ svn status -M integer.c +$ svn st + M . +M src/main.c Sie k?nnen nun Ihre ?blichen Tests durchf?hren, bevor Sie - diese ?nderung an den Zweig ?bergeben. Nach der ?bergabe merkt - sich Subversion, dass r355 mit dem Zweig zusammengef?hrt - wurde, so dass k?nftige magische - Merges, die Ihren Zweig mit dem Stamm synchronisieren, r355 - ?berspringen. (Das Mergen derselben ?nderung auf - denselben Zweig f?hrt fast immer zu einem Konflikt!) + diese ?nderung an den Zweig ?bergeben. Nach der ?bergabe + bringt Subversion das svn:mergeinfo ihres + Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit + dem Zweig zusammengef?hrt wurde. Das verhindert, dass k?nftige + automatische Synchronisierungs-Merges versuchen, r413 erneut + zusammenzuf?hren. (Das Mergen derselben ?nderung auf denselben + Zweig f?hrt fast immer zu einem Konflikt!) Beachten Sie auch + das Mergeinfo + /calc/branches/my-calc-branch:341-379, Das wurde bei + unserem in r380 gemachten Reintegrations-Merge nach + /calc/trunk vom Zweig + /calc/branches/my-calc-branch aufgezeichnet. Als + wir den Zweig my-calc-branch in r403 + erstellt haben, wurde diese Mergeinfo mit der Kopie + mitgenommen. -$ cd my-calc-branch +$ svn pg svn:mergeinfo -v +Eigenschaften von ?.?: + svn:mergeinfo + /calc/branches/my-calc-branch:341-379 + /calc/trunk:413 + + -$ svn propget svn:mergeinfo . -/trunk:341-349,355 -# Beachten Sie, dass r355 nicht als Merge-Kandidat aufgef?hrt wird, -# da es bereits zusammengef?hrt wurde. + Beachten Sie auch, dass mergeinfo r413 + nicht als Kandidaten f?r einen Merge anzeigt, da sie bereits + zusammengef?hrt wurde: + + + $ svn mergeinfo ^/calc/trunk --show-revs eligible -r350 -r351 -r352 -r353 -r354 -r356 -r357 -r358 -r359 -r360 +r404 +r405 +r406 +r407 +r409 +r410 +r411 +r412 +r414 +r415 +r416 +… +r455 +r456 +r457 + + + + Das oben stehende bedeutet, wenn schlie?lich die Zeit f?r + einen automatischen Synchronisierungs-Merge gekommen ist, dass + Subversion den Merge in zwei Teile aufspaltet. Zun?chst werden + alle in Frage kommenden Merges bis Revision 412 ausgef?hrt. + Dann werden alle in Frage kommenden Revisionen von Revision + 412 bis zur Revision HEAD ausgef?hrt. Da + wir uns bereits r413 herausgepickt haben, wird diese ?nderung + ?bersprungen change is skipped: + + + $ svn merge ^/calc/trunk ---- Zusammenf?hren von r350 bis r354 in ?.?: - U . -U integer.c -U Makefile ---- Zusammenf?hren von r356 bis r360 in ?.?: +--- Zusammenf?hren von r414 bis r458 in ?.?: +G doc/INSTALL +G src/main.c +G src/integer.c +G Makefile +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r403 bis r458 in ?.?:\n" U . -U integer.c -U button.c - Dieser Anwendungsfall des Abgleichens (oder + + + Merging + nachziehen + Dieser Anwendungsfall des Abgleichens (oder Nachziehens) von Fehlerbehebungen von einem Zweig zu einem anderen ist vielleicht der g?ngigste Grund f?r ?nderungen, die Rosinen herauszupicken; es kommt st?ndig @@ -4006,7 +4125,7 @@ invocation merged two distinct ranges? The svn merge command applied two independent patches to your working copy to skip over - changeset 355, which your branch already contained. There's + changeset 413, which your branch already contained. There's nothing inherently wrong with this, except that it has the potential to make conflict resolution trickier. If the first range of changes creates conflicts, @@ -4014,15 +4133,14 @@ the merge process to continue and apply the second range of changes. If you postpone a conflict from the first wave of changes, the whole merge command will bail out with an error - message.At least, this is true in Subversion - 1.7 at the time of this writing. This behavior may improve - in future versions of Subversion. + message and you must resolve the conflict before running the + merge a second time to get the remainder of the changes. --> Haben Sie bemerkt, wie im letzten Beispiel der Aufruf von svn merge zwei unterschiedliche Abgleichsintervalle zusammengef?hrt hat? Der Befehl f?hrte zwei unabh?ngige Patches auf Ihrer Arbeitskopie aus, um die - ?nderungsmenge 355 zu ?berspringen, die Ihr Zweig bereits + ?nderungsmenge 413 zu ?berspringen, die Ihr Zweig bereits beinhaltete. An und f?r sich ist daran nichts falsch, bis auf die Tatsache, dass die M?glichkeit besteht, eine Konfliktaufl?sung komplizierter zu machen. Falls das erste @@ -4031,17 +4149,16 @@ um den Merge fortzusetzen und das zweite ?nderungsintervall anzuwenden. Wenn Sie die Konfliktaufl?sung der ersten Phase aufschieben, wird der komplette Merge-Befehl mit einer - Fehlermeldung abbrechen.Zumindest trifft das - zur Zeit f?r Subversion 1.7 zu. Dieses Verhalten k?nnte - sich in k?nftigen Versionen von Subversion - verbessern. + Fehlermeldung abbrechen und Sie m?ssen den Konflikt + aufl?sen, bevor Sie den Merge erneut anwenden, um den Rest + der ?nderungen zu bekommen. Merge-Syntax: Die vollst?ndige Enth?llung @@ -4158,13 +4275,13 @@ Falls Sie svn merge benutzen, um einfache Kopien von ?nderungen zwischen Zweigen vorzunehmen, - wird es ?blicherweise automatisch das Richtige machen. + wird ein automatische Merge ?blicherweise das Richtige machen. Beispielsweise wird ein Befehl wie der folgende: @@ -4206,6 +4323,31 @@ Befehl drei Hauptargumente: + + + Merging + linke Seite + + + + Merging + rechte Seite + + + + Merging + Ziel + + @@ -4294,7 +4441,10 @@ bezeichnet und die Ziel-Arbeitskopie angegeben wird. Die zweite Syntax wird als Kurzform verwendet, wenn Sie zwei unterschiedliche Revisionen desselben URL vergleichen. - Die letzte Syntax zeigt, dass das Arbeitskopie-Argument + + Merging + 2-URL + Die letzte Syntax zeigt, dass das Arbeitskopie-Argument optional ist; entf?llt es, wird das aktuelle Verzeichnis genommen. @@ -4478,7 +4628,15 @@ Nat?rliche Historie und implizite Mergeinfo - Wie wir bei der Er?rterung von + + + Mergeinfo + implizit + + + nat?rliche Historie + Mergeinfo, implizit + Wie wir bei der Er?rterung von bereits erw?hnten, sagt man, dass ein Pfad mit der gesetzten Eigenschaft svn:mergeinfo @@ -4666,16 +4832,18 @@ -$ svn merge -r 1288:1351 http://svn.example.com/myrepos/branch --- Zusammenf?hren von r1289 bis r1361 in ?.?: - C bar.c - C foo.c - C docs --- Aufzeichnung der Informationen f?r Zusammenf?hrung von r1289 bis r1351 in ?.?: +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r105 bis r115 in ?.?: U . - > lokal fehlend, eingehend editiert bei Zusammenf?hrung -! C foo.c - > lokal fehlend, eingehend editiert bei Zusammenf?hrung -! C docs - > lokal fehlend, eingehend editiert bei Zusammenf?hrung + M . +! C doc + > lokal Verzeichnis fehlend, empfangen Verzeichnis editiert bei Zusammenf?hrung +! C src/button.c + > lokal Datei fehlend, empfangen Verzeichnis editiert bei Zusammenf?hrung +! C src/integer.c + > lokal Datei fehlend, empfangen Verzeichnis editiert bei Zusammenf?hrung +! C src/main.c + > lokal Datei fehlend, empfangen Verzeichnis editiert bei Zusammenf?hrung +! C src/real.c + > lokal Datei fehlend, empfangen Verzeichnis editiert bei Zusammenf?hrung +Konflikt?bersicht: + Baumkonflikte: 5 Im vorangegangenen Beispiel kann es der Fall gewesen sein, - dass bar.c, foo.c und - docs alle in beiden Momentaufnahmen des - Zweiges vorkommen, die verglichen werden. Das resultierende + dass doc und die vier + *.c-Dateien alle in beiden + Momentaufnahmen des Zweiges vorkommen, die verglichen werden. + Das resultierende Delta will den Inhalt der entsprechenden Pfade in Ihrer Arbeitskopie ver?ndern, doch sind diese Pfade in der Arbeitskopie aber nicht vorhanden. Wie auch immer, das ?berwiegen von Baumkonflikten bedeutet h?chstwahrscheinlich, dass der Benutzer die falschen B?ume miteinander - verglichen hat; es ist das klassische Zeichen f?r einen + verglichen hat oder Sie machen einen Merge auf das falsche + Ziel in der Arbeitskopie; beides sind klassische Zeichen f?r einen Anwenderfehler. Falls dies passiert, ist es einfach, alle durch das Zusammenf?hren hervorgerufenen ?nderungen rekursiv r?ckg?ngig zu machen (svn revert . @@ -4743,21 +4922,23 @@ -$ svn merge -c 1701 http://svn.example.com/myrepos/branchX --accept postpone +$ svn merge ^/paint/trunk -r289:291 --- Zusammenf?hren von r1701 in ?.?: -C glub.c -C sputter.c --- Aufzeichnung der Informationen f?r Zusammenf?hrung von r1701 in ?.?: +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r290 bis r291 in ?.?: U . Konflikt?bersicht: - Textkonflikte: 2 + Textkonflikte: 1 +Konflikt in Datei ?Makefile? entdeckt. C:\SVN\src-branch-1.7.x>svn st M . From svnbook at googlecode.com Fri Feb 6 09:58:56 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 06 Feb 2015 15:58:56 +0000 Subject: [svnbook] r4976 committed - [de] Translation: Branching and Merging... Message-ID: <001a11363b7e7ee0de050e6d7f8f@google.com> Revision: 4976 Author: jmfelderhoff at gmx.eu Date: Fri Feb 6 15:58:40 2015 UTC Log: [de] Translation: Branching and Merging Sections: ** More on Merge Conflicts (temporary version) https://code.google.com/p/svnbook/source/detail?r=4976 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 5 15:10:27 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 6 15:58:40 2015 UTC @@ -1263,7 +1263,6 @@ zusammenf?hren. - +Nachtrag zu r400: Tippfehler im Hifetext. +------------------------------------------------------------------------ +r400 | bill | 2013-02-19 20:55:08 -0500 (Di, 19. Feb 2013) | 4 Zeilen +Ge?nderte Pfade: + M /calc/trunk/src/main.c D /calc/trunk/src/real.c Konflikt?bersicht: Textkonflikte: 1 Konflikt in Datei ?Makefile? entdeckt. +Conflict discovered in file 'Makefile'. +Select: (p) postpone, (df) diff-full, (e) edit, (m) merge, + (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p -C:\SVN\src-branch-1.7.x>svn st +$ svn st M . -? glub.c.merge-left.r1700 -? glub.c.merge-right.r1701 -C glub.c -? glub.c.working -? sputter.c.merge-left.r1700 -? sputter.c.merge-right.r1701 -C sputter.c -? sputter.c.working From svnbook at googlecode.com Mon Feb 9 23:31:18 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 10 Feb 2015 05:31:18 +0000 Subject: [svnbook] r4977 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c1e7024116a2050eb53278@google.com> Revision: 4977 Author: jmfelderhoff at gmx.eu Date: Tue Feb 10 05:31:01 2015 UTC Log: [de] Translation: Branching and Merging ** More on Merge Conflicts ** Blocking Changes ** Merge-Sensitive Logs and Annotations https://code.google.com/p/svnbook/source/detail?r=4977 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 6 15:58:40 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 05:31:01 2015 UTC @@ -4905,14 +4905,13 @@ dass doc und die vier *.c-Dateien alle in beiden Momentaufnahmen des Zweiges vorkommen, die verglichen werden. - Das resultierende - Delta will den Inhalt der entsprechenden Pfade in Ihrer - Arbeitskopie ver?ndern, doch sind diese Pfade in der - Arbeitskopie aber nicht vorhanden. Wie auch immer, das + Das resultierende Delta will den Inhalt der entsprechenden + Pfade in Ihrer Arbeitskopie ver?ndern, doch sind diese Pfade + in der Arbeitskopie aber nicht vorhanden. Wie auch immer, das ?berwiegen von Baumkonflikten bedeutet h?chstwahrscheinlich, - dass der Benutzer die falschen B?ume miteinander - verglichen hat oder Sie machen einen Merge auf das falsche - Ziel in der Arbeitskopie; beides sind klassische Zeichen f?r einen + dass der Benutzer die falschen B?ume miteinander verglichen + hat oder Sie machen einen Merge auf das falsche Ziel in der + Arbeitskopie; beides sind klassische Zeichen f?r einen Anwenderfehler. Falls dies passiert, ist es einfach, alle durch das Zusammenf?hren hervorgerufenen ?nderungen rekursiv r?ckg?ngig zu machen (svn revert . @@ -4932,7 +4931,7 @@ $ svn st - + $ svn merge ^/paint/trunk -r289:291 @@ -4948,13 +4947,13 @@ Select: (p) postpone, (df) diff-full, (e) edit, (m) merge, (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p --> +Konflikt in Datei ?Makefile? entdeckt. +Auswahl: (p) sp?ter aufl?sen, (df) ?nderungen anzeigen, + (e) Dateibearbeiten, (m) Zusammenf?hrung, + (mc) eigene Seite des Konflikts, + (tc) fremde Seite des Konflikts, (s) alle Optionen anzeigen: p Konflikt?bersicht: Textkonflikte: 1 -Konflikt in Datei ?Makefile? entdeckt. -Conflict discovered in file 'Makefile'. -Select: (p) postpone, (df) diff-full, (e) edit, (m) merge, - (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p - $ svn st M . C Makefile @@ -5072,184 +5071,276 @@ automatisch in den Zweig eingebracht werden. - Die einzige M?glichkeit, ?ber Subversion 1.7 eine - ?nderungsmenge zu blockieren, besteht darin, dem System + Um eine + ?nderungsmenge zu blockieren m?ssen Sie Subversion vorzugaukeln, dass die ?nderung bereits eingearbeitet wurde. Dazu rufen Sie den Unterbefehl mit der Option - auf: + auf. Das veranlasst Subversion + dazu, Mergeinfo wie bei einem tats?chlichen Merge anzulegen, + obwohl kein Diff angewendet worden ist: $ cd my-calc-branch -$ svn propget svn:mergeinfo . -/trunk:1680-3305 - -# In den Metadaten r3328 als bereits zusammengef?hrt vermerken. -$ svn merge -c 3328 --record-only ^/calc/trunk -- Aufzeichnung der Informationen f?r Zusammenf?hrung von r3328 in ?.?: +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r387 bis r388 in ?.?: U . + +# Nur Mergeinfo wird ge?ndert. +$ svn st + M . -$ svn status -M . +$ svn pg svn:mergeinfo -vR +Eigenschaften von ?.?: + svn:mergeinfo + /calc/trunk:341-378,387-388 -$ svn propget svn:mergeinfo . -/trunk:1680-3305,3328 -$ svn commit -m "Das Zusammenf?hren von r3328 mit dem Zweig verhindern." -… +$ svn commit -m "Block r387-388 from being merged to my-calc-branch." +Sending . + +Committed revision 461.--> +$ svn commit -m "Das Zusammenf?hren von r387-388 mit my-calc-branch verhindern." +Sende . + +Revision 461 ?bertragen. - Beginnend mit Subversion 1.7 sind Zusammenf?hrungen mit + Seit Subversion 1.7 sind Zusammenf?hrungen mit transitiv. Das bedeutet, dass zus?tzlich zur Aufzeichnung der Mergeinfo die die blockierte(n) Revision(en) beschreiben, alle Unterschiede der Eigenschaft svn:mergeinfo der Quelle - ebenfalls angewendet werden. Sagen wir zum Beispiel mal, dass - wir die Zusammenf?hrung der "Frazzle"-Funktionalit?t von - ^/trunk mit unserem - ^/branches/proj-X Zweig f?r immer - blockieren m?chten. Wir wissen, dass die gesamte Arbeit an - "Frazzle" auf seinem eigenen Zweig gemacht wurde, der in - Revision 1055 wieder in trunk - eingegliedert wurde: + ebenfalls angewendet werden. Sagen wir mal zum Beispiel, dass + wir die Zusammenf?hrung der Funktionalit?t + "paint-python-wrapper" von ^/paint/trunk + mit unserem ^/paint/branches/paint-1.0.x + Zweig f?r immer blockieren m?chten. Wir wissen, dass die + gesamte Arbeit an dieser Funktionalit?t auf seinem eigenen + Zweig gemacht wurde, der in Revision 465 wieder in + /paint/trunk eingegliedert wurde: -$ svn log -v ^/trunk -r 1055 ------------------------------------------------------------------------- -r1055 | francesca | 2011-09-22 07:40:06 -0400 (Do, 22. Sep 2011) | 3 Zeilen +r465 | joe | 2013-02-25 14:05:12 -0500 (Mo, 25. Feb 2013) | 1 Zeile Ge?nderte Pfade: - M /trunk - M /trunk/src/frazzle.c - -Den Frazzle-Zweig wieder in trunk eingegliedert. + M /paint/trunk + A /paint/trunk/python (von /paint/branches/paint-python-wrapper/python:464) + +Paint Python Wrapper reintegriert. +------------------------------------------------------------------------ - Da Revision 1055 eine Zusammenf?hrung zur + Da Revision 465 eine Zusammenf?hrung zur Wiedereingliederung war, wissen wir, dass beschreibende Informationen aufgezeichnet wurden: -$ svn diff ^/trunk -c 1055 --depth empty +$ svn diff ^/paint/trunk --depth empty -c465 Index: . =================================================================== ---- . (revision 1054) -+++ . (revision 1055) +--- . (revision 464) ++++ . (revision 465) Eigenschafts?nderungen: . ___________________________________________________________________ -Modifiziert: svn:mergeinfo - Zusammengef?hrt /branches/frazzle-feature-branch:r997-1003 +Hinzugef?gt: svn:mergeinfo + Zusammengef?hrt /paint/branches/paint-python-wrapper:r463-464 Das einfache Blockieren der Zusammenf?hrungen der Revision - 1055 von ^/trunk ist nicht narrensicher, - da jemand r996:1003 direkt von - ^/branches/frazzle-feature-branch + 465 von /paint/trunk ist nicht + narrensicher, da jemand 462:464 direkt von + /paint/branches/paint-python-wrapper zusammenf?hren k?nnte. Gl?cklicherweise wird das durch die transitive Natur der Merges mit - in Subversion 1.7 verhindert: die Zusammenf?hrung mit + verhindert: die Zusammenf?hrung mit wendet den - svn:mergeinfo-Diff von Revision 1055 an, - und blockiert somit sowohl direkte Merges vom frazzle-Zweig - als auch, wie es vor Subversion 1.7 schon - immer war, Merges der Revision 1055 direkt von - ^/trunk: + svn:mergeinfo-Diff von Revision 465 an, und + blockiert somit sowohl direkte Merges dieser ?nderung von + /paint/trunk als + auch indirekte von + /paint/branches/paint-python-wrapper: + -$ cd branches/proj-X +$ cd paint/branches/paint-1.0.x -$ svn merge ^/trunk . -c 1055 --record-only --- Zusammenf?hren von r1055 in ?.?: - G . --- Aufzeichnung der Informationen f?r Zusammenf?hrung von r1055 in ?.?: +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r465 in ?.?: G . -$ svn diff --depth empty . +$ svn diff --depth empty Index: . -=================================================================== ---- . (Revision 1070) +--- . (Revision 462) +++ . (Arbeitskopie) Eigenschafts?nderungen: . ___________________________________________________________________ -Ge?ndert: svn:mergeinfo - Zusammengef?hrt /trunk:r1055 - Zusammengef?hrt /branches/frazzle-feature-branch:r997-1003 +Hinzugef?gt: svn:mergeinfo + Zusammengef?hrt /paint/branches/paint-python-wrapper:r463-464 + Zusammengef?hrt /paint/trunk:r465 + +$ svn ci -m "Die Python-Wrapper aus der ersten Release von Paint sperren." +Sende . + +Revision 466 ?bertragen. + + Nun sind alle k?nftigen Versuche, die Funktionalit?t mit + /paint/trunk zusammenzuf?hren, + inoperativ: + + + +$ svn merge ^/paint/trunk -c465 +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r456 in ?.?: + U . + +$ svn st # keine ?nderung + +$ svn merge ^/paint/branches/paint-python-wrapper -r462:464 +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r463 bis r464 in ?.?: + U . + +$ svn st # keine ?nderung +$ + + + + + Falls Sie sp?ter feststellen, dass Sie die blockierte + Funktionalit?t doch nach + /paint/trunk her?berbringen m?ssen, + haben Sie die Wahl. Sie k?nnen r466 (die Revision, in der die + Funktionalit?t blockiert wurde) r?ckw?rts patchen wie in + er?rtert. + Sobald Sie die ?nderung ?bertragen haben, k?nnen Sie r465 die + von /paint/trunk zusammenf?hren. + Alternativ k?nnen Sie einfach r465 von + /paint/trunk erneut zusammenf?hren, indem + Sie die Option verwenden, + die beim Zusammenf?hren jegliche Mergeinfo ignoriert und den + erw?nschten Diff einfach anwendet; siehe + . + + + +$ svn merge ^/paint/trunk -c465 --ignore-ancestry +-- Zusammenf?hren von r465 in ?.?: +A python +A python/paint.py + G . + + + - - - Einen reintegrierten Zweig am Leben erhalten - - - Es gibt einen anderen Weg, als einen Zweig nach der - Reintegration zu zerst?ren und erneut zu erzeugen. Zum - Verst?ndnis, warum das funktioniert, m?ssen Sie verstehen, - warum der Zweig unmittelbar nach dem Reintegrieren zun?chst - nicht weiterverwendbar ist. - - - Nehmen wir an, Sie haben den Zweig in Revision - A angelegt. Bei der Arbeit auf diesem - Zweig haben Sie eine oder mehrere Revisionen erzeugt, die - ?nderungen an dem Zweig beinhalten. Vor der Reintegration des - Zweigs zur?ck auf die Hauptentwicklungslinie haben Sie eine - abschlie?ende Zusammenf?hrung von dort auf Ihren Zweig - vollzogen und das Ergebnis dieser Merges als Revision - B ?bertragen. - - - Bei der Reintegration Ihres Zweigs auf die - Hauptentwicklungslinie erzeugen Sie eine neue Revision - X die jene ?ndert. Die ?nderungen an der - Hauptentwicklungslinie in dieser Revision - X sind semantisch ?quivalent zu den - ?nderungen, die Sie zwischen Revision A - und B auf Ihrem Zweig vorgenommen haben. - - - - Falls Sie jetzt versuchen, ausstehende ?nderungen von der - Hauptentwicklungslinie mit Ihrem Zweig zusammenzuf?hren, wird - Subversion die in Revision X - vorgenommenen ?nderungen als Kandidaten f?r die - Merges betrachten. Da Ihr Zweig jedoch bereits alle in - Revision X vorgenommenen ?nderungen - enth?lt, kann das Zusammenf?hren dieser ?nderungen - f?lschlicherweise zu Konflikten f?hren! Bei diesen Konflikten - handelt es sich oft um Baumkonflikte, besonders dann, wenn - w?hrend der Entwicklung auf dem Zweig dort oder auf der - Hauptentwicklungslinie Umbenennungen gemacht wurden. - - - Wie soll also damit umgegangen werden? Wir m?ssen - sicherstellen, dass Subversion nicht versucht, die Revision - X mit dem Zweig zusammenzuf?hren. Das - wird mit der Merge-Option - erreicht, die in - - vorgestellt wurde. - - - Um die nur vermerkte Zusammenf?hrung auszuf?hren, - erstellen Sie sich eine Arbeitskopie des Zweigs, der in - Revision X frisch reintegriert wurde, und - f?hren Sie lediglich die Revision X von - der Hauptentwicklungslinie mit Ihrem Zweig zusammen, indem Sie - sicherstellen, dass Sie die Option - verwenden. - - - Dieser Merge verwendet die Syntax zum Herauspicken der - Rosinen, wie sie in - vorgestellt - wurde. Um mit dem aktuellen Beispiel aus - - fortzufahren, in dem Revision X die - Revision 391 war: - - - - -$ cd my-calc-branch -$ svn update -Aktualisiert zu Revision 393. -$ svn merge --record-only -c 391 ^/calc/trunk -$ svn commit -m "Block revision 391 from being merged into my-calc-branch." -Sende . - -Revision 394 ?bertragen. - - - - - - - Nun ist Ihr Zweig wieder bereit, ?nderungen von der - Hauptentwicklungslinie aufzunehmen. Nach einer weiteren - Synchronisierung Ihres Zweigs auf die Hauptentwicklungslinie - k?nnen Sie sogar ein zweites Mal Ihren Zweig reintegrieren. - Falls notwendig, k?nnen Sie einen weiteren, nur vermerkten - Merge machen, um den Zweig am Leben zu erhalten. Sp?len und - wiederholen. - - - Nun sollte es auch offensichtlich sein, warum das L?schen - und Wiederherstellen des Zweigs den selben Effekt hat wie die - obige nur vermerkte Zusammenf?hrung. Da die Revision - X Teil der nat?rlichen Historie des - frisch erzeugten Zweigs ist (siehe Anmerkung - ), - wird Subversion niemals versuchen, die Revision - X mit dem Zweig zusammenzuf?hren, und - vermeidet dadurch f?lschliche Konflikte. - - - $ cd my-calc-branch + $ svn log -q ------------------------------------------------------------------------ -r390 | user | 2002-11-22 11:01:57 -0600 (Fr, 22. Nov 2002) | 1 Zeile +r461 | user | 2013-02-25 05:57:48 -0500 (Mo, 25. Feb 2013) ------------------------------------------------------------------------ -r388 | user | 2002-11-21 05:20:00 -0600 (Do, 21. Nov 2002) | 2 Zeilen +r379 | user | 2013-02-18 10:56:35 -0500 (Mo, 18. Feb 2013) ------------------------------------------------------------------------ -r381 | user | 2002-11-20 15:07:06 -0600 (Mi, 20. Nov 2002) | 2 Zeilen +r378 | user | 2013-02-18 09:48:28 -0500 (Mo, 18. Feb 2013) ------------------------------------------------------------------------ -r359 | user | 2002-11-19 19:19:20 -0600 (Di, 19. Nov 2002) | 2 Zeilen +… ------------------------------------------------------------------------ -r357 | user | 2002-11-15 14:29:52 -0600 (Fr, 15. Nov 2002) | 2 Zeilen +r8 | sally | 2013-01-17 16:55:36 -0500 (Do, 17. Jan 2013) ------------------------------------------------------------------------ -r343 | user | 2002-11-07 13:50:10 -0600 (Do, 07. Nov 2002) | 2 Zeilen +r7 | bill | 2013-01-17 16:49:36 -0500 (Do, 17. Jan 2013) ------------------------------------------------------------------------ -r341 | user | 2002-11-03 07:17:16 -0600 (So, 03. Nov 2002) | 2 Zeilen +r3 | bill | 2013-01-17 09:07:04 -0500 (Do, 17. Jan 2013) ------------------------------------------------------------------------ -r303 | sally | 2002-10-29 21:14:35 -0600 (Di, 29. Okt 2002) | 2 Zeilen ------------------------------------------------------------------------- -r98 | sally | 2002-02-22 15:35:29 -0600 (Fr, 22. Feb 2002) | 2 Zeilen ------------------------------------------------------------------------- Aber ist das wirklich eine genaue Wiedergabe aller ?nderungen, die auf dem Zweig stattgefunden haben? Was hier - ausgelassen wird, ist, dass die Revisionen 390, 381 und 357 - tats?chlich Ergebnisse des Zusammenf?hrens von ?nderungen aus - dem Stamm waren. Wenn Sie sich eins dieser Protokolle im - Detail anschauen, k?nnen Sie die verschiedenen - ?nderungsmengen vom Stamm, die die ?nderungen auf dem Zweig - ausmachen, nirgendwo sehen: + ausgelassen wird, ist, dass die Revisionen 352, 362, 372 und + 379 tats?chlich Ergebnisse des Zusammenf?hrens von ?nderungen + aus dem Stamm waren. Wenn Sie sich eins dieser Protokolle im + Detail anschauen, k?nnen Sie die verschiedenen ?nderungsmengen + vom Stamm, die die ?nderungen auf dem Zweig ausmachen, + nirgendwo sehen: -$ svn log -v -r 390 +$ svn log ^/calc/branches/my-calc-branch -r352 -v ------------------------------------------------------------------------ -r390 | user | 2002-11-22 11:01:57 -0600 (Fr, 22. Nov 2002) | 1 Zeile +r352 | user | 2013-02-16 09:35:18 -0500 (Sa, 16. Feb 2013) | 1 Zeile Ge?nderte Pfade: - M /branches/my-calc-branch/button.c - M /branches/my-calc-branch/README + M /calc/branches/my-calc-branch + M /calc/branches/my-calc-branch/Makefile + M /calc/branches/my-calc-branch/doc/INSTALL + M /calc/branches/my-calc-branch/src/button.c + M /calc/branches/my-calc-branch/src/real.c -Letzte Zusammenf?hrung der ?nderungen von trunk changes in my-calc-branch. +Synchronisierung der letzten ?nderungen von trunk mit my-calc-branch. @@ -5617,110 +5521,125 @@ -$ svn log -v -r 390 -g +$ svn log ^/calc/branches/my-calc-branch -r352 -v -g ------------------------------------------------------------------------ -r390 | user | 2002-11-22 11:01:57 -0600 (Fr, 22. Nov 2002) | 1 Zeile +r352 | user | 2013-02-16 09:35:18 -0500 (Sa, 16. Feb 2013) | 1 Zeile Ge?nderte Pfade: - M /branches/my-calc-branch/button.c - M /branches/my-calc-branch/README + M /calc/branches/my-calc-branch + M /calc/branches/my-calc-branch/Makefile + M /calc/branches/my-calc-branch/doc/INSTALL + M /calc/branches/my-calc-branch/src/button.c + M /calc/branches/my-calc-branch/src/real.c -Letzte Zusammenf?hrung der ?nderungen von trunk in my-calc-branch. +Synchronisierung der letzten ?nderungen von trunk mit my-calc-branch. ------------------------------------------------------------------------ -r383 | sally | 2002-11-21 03:19:00 -0600 (Do, 21. Nov 2002) | 2 Zeilen +r351 | sally | 2013-02-16 08:04:22 -0500 (Sa, 16. Feb 2013) | 2 Zeilen Ge?nderte Pfade: - M /branches/my-calc-branch/button.c -Zusammengef?hrt mittels: r390 + M /calc/trunk/src/real.c +Zusammengef?hrt mittels: r352 -Inverse Grafik auf Knopf behoben. +Arbeiten auf dem Stamm vom calc-Projekt. +------------------------------------------------------------------------ +… ------------------------------------------------------------------------ -r382 | sally | 2002-11-20 16:57:06 -0600 (Mi, 20. Nov 2002) | 2 Zeilen +Trunk work on calc project. +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +r344 | sally | 2013-02-15 16:44:44 -0500 (Fri, 15 Feb 2013) | 1 line +Changed paths: --> +------------------------------------------------------------------------ +r344 | sally | 2013-02-15 16:44:44 -0500 (Fr, 15. Feb 2013) | 1 Zeile Ge?nderte Pfade: - M /branches/my-calc-branch/README -Zusammengef?hrt mittels: r390 - -Meine letzte ?nderung in README dokumentiert. + M /calc/trunk/src/integer.c +Zusammengef?hrt mittels: r352 + +Die bazzle-Funktionen refaktoriert. Dadurch, dass wir die Protokoll-Operation aufgefordert haben, die Geschichte der Zusammenf?hrungen zu verwenden, sehen wir nicht nur die Revision, die wir abgefragt haben - (r390), sondern auch die zwei Revisionen, die hier mitkamen - – ein paar ?nderungen, die Sally auf dem Stamm gemacht - hat. Das ist ein wesentlich vollst?ndigeres Bild der - Geschichte! + (r352), sondern auch die anderen Revisionen, die hier mitkamen + – die Arbeit von Sally auf dem Stamm. Das ist ein + wesentlich vollst?ndigeres Bild der Geschichte! Auch der svn blame-Befehl versteht die Option (). Falls diese Option vergessen wird, k?nnte jemand, der sich die zeilenweisen Anmerkungen von - button.c ansieht, f?lschlicherweise davon - ausgehen, dass Sie f?r die Zeilen verantwortlich sind, die - einen bestimmten Fehler beseitigt haben: + Makefile ansieht, f?lschlicherweise davon + ausgehen, dass Sie f?r die Zeilen einer bestimmten ?nderung + verantwortlich sind: -$ svn blame button.c +$ svn blame src/button.c … - 390 user retval = inverse_func(button, path); - 390 user return retval; - 390 user } + 352 user retval = inverse_func(button, path); + 352 user return retval; + 352 user } … Obwohl es zutrifft, dass Sie diese drei Zeilen in Revision - 390 ?bergeben haben, sind zwei davon tats?chlich von Sally in - Revision 383 geschrieben worden: + 352 ?bergeben haben, sind zwei davon tats?chlich von Sally in + Revision 348 geschrieben worden und sind durch einen + Synchronisierungs-Merge in Ihren Zweig geraten: $ svn blame button.c -g … -G 383 sally retval = inverse_func(button, path); -G 383 sally return retval; - 390 user } +G 348 sally retval = inverse_func(button, path); +G 348 sally return retval; + 352 user } … From svnbook at googlecode.com Tue Feb 10 00:49:15 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 10 Feb 2015 06:49:15 +0000 Subject: [svnbook] r4978 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c2c3acfe2eb1050eb64817@google.com> Revision: 4978 Author: jmfelderhoff at gmx.eu Date: Tue Feb 10 06:47:15 2015 UTC Log: [de] Translation: Branching and Merging ** Noticing or Ignoring Ancestry ** Merges and Moves https://code.google.com/p/svnbook/source/detail?r=4978 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 05:31:01 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 06:47:15 2015 UTC @@ -5664,9 +5664,8 @@ ancestry - - When conversing with a Subversion developer, you might - very likely hear reference to the term + When conversing with a Subversion developer, you + might very likely hear reference to the term ancestry. This word is used to describe the relationship between two objects in a repository: if they're related to each other, one @@ -5675,9 +5674,8 @@ Abstammung - - Wenn Sie sich mit einem Subversion-Entwickler unterhalten, - wird wahrscheinlich auch der Begriff + Wenn Sie sich mit einem Subversion-Entwickler + unterhalten, wird wahrscheinlich auch der Begriff Abstammung erw?hnt. Dieses Wort wird verwendet, um die Beziehung zwischen zwei Objekten im Projektarchiv zu beschreiben: Wenn sie in Beziehung zueinander @@ -5792,7 +5790,12 @@ - Die Option + + + Merge-Tracking + unterbinden + + Die Option unterbindet auch . Das bedeutet, dass weder svn:mergeinfo @@ -5841,14 +5849,14 @@ Leider funktioniert dieses Szenario im Augenblick noch nicht so richtig und gilt als einer der Schwachpunkte von Subversion. Das Problem ist, das der Subversion-Befehl - svn update nicht so stabil ist, wie er sein + svn merge nicht so stabil ist, wie er sein sollte, besonders wenn es um Kopier- und Verschiebeoperationen geht. @@ -5860,8 +5868,9 @@ merge. Instead of telling the client, Copy that file you already have to this new location, it sends down an entirely new file. This can lead to - problems, especially because the same thing happens with - renamed files. A lesser-known fact about Subversion is that + problems, particularly tree conflicts in the case of renames, + which involve not only the new copy, but a deletion of the old + path—a lesser-known fact about Subversion is that it lacks true renames—the svn move command is nothing more than an aggregation of svn copy and svn @@ -5874,92 +5883,202 @@ merge ausf?hrt. Statt dem Client mitzuteilen: Kopiere die Datei, die du bereits hast an diesen neuen Ort, sendet es eine v?llig neue Datei. Das kann zu - Problemen f?hren, besonders, weil dasselbe mit umbenannten - Dateien passiert. Eine weniger bekannte Tatsache ?ber - Subversion ist, dass es keine echten - Umbenennungen hat – der Befehl svn - move ist weiter nichts als eine Verbindung von - svn copy und svn + Problemen f?hren, im Falle von Umbenennungen besonders zu + Baumkonflikten, die nicht nur die neue Kopie betreffen, + sondern die L?schung des alten Pfades ^ndash; eine weniger + bekannte Tatsache ?ber Subversion ist, dass es keine + echten Umbenennungen hat – der Befehl + svn move ist weiter nichts als eine + Verbindung von svn copy und svn delete. - Nehmen wir beispielsweise an, dass Sie w?hrend Ihrer - Arbeit auf Ihrem privaten Zweig integer.c - in whole.c umbenennen. Tats?chlich haben - Sie eine neue Datei auf Ihrem Zweig erzeugt, die eine Kopie - der urspr?nglichen Datei ist, und letztere gel?scht. - Zwischenzeitlich hat Sally einige Verbesserungen an - integer.c in trunk - ?bergeben. Nun entscheiden Sie sich, Ihren Zweig mit dem Stamm - zusammenzuf?hren: - + Nehmen wir beispielsweise an, dass Sie einige ?nderungen + an Ihrem privaten Zweig /calc/branch/my-calc-branch + machen m?chten. Zun?chst f?hren Sie einen + automatischen Synchronisierungs-Merge mit + /calc/trunk durch und ?bertragen das + Ergebnis in r470: $ cd calc/trunk -$ svn merge --reintegrate ^/calc/branches/my-calc-branch -- Zusammenf?hren der Unterschiede zwischen Projektarchiv-URLs in ?.?: -D integer.c -A whole.c -U . -- Aufzeichnung der Informationen f?r Zusammenf?hrung zwischen Projektarchiv-URLs in ?.?: U . + +$ svn ci -m "Synchronisierung aller ?nderungen von ^/calc/trunk bis r469." +Sende . +Sende Makefile +Sende README +Sende FAQ +Sende doc/INSTALL +Sende src/main.c +Sende src/button.c +Sende src/integer.c +?bertrage Daten .... +Revision 470 ?bertragen. + + Dann benennen Sie in r471 integer.c + in whole.c um und editieren dieselbe + Datei in r473. Tats?chlich haben Sie eine neue Datei auf Ihrem + Zweig erzeugt (die eine Kopie der urspr?nglichen Datei plus + einiger Bearbeitungen ist) und die urspr?ngliche Datei + gel?scht. Zwischenzeitlich hat Sally in r472 auf + /calc/trunk selber einige Verbesserungen + an integer.c ?bergeben: + + + +$ svn log -v -r472 ^/calc/trunk +------------------------------------------------------------------------ +r472 | sally | 2013-02-26 07:05:18 -0500 (Di, 26. Feb 2013) | 1 Zeile +Ge?nderte Pfade: + M /calc/trunk/src/integer.c + +Arbeit auf dem Stamm von integer.c. +------------------------------------------------------------------------ + + - Auf den ersten Blick sieht es gar nicht schlecht aus, - jedoch ist es nicht das, was Sie und Sally erwartet h?tten. - Die Zusammenf?hrung hat die letzte Version der Datei - integer.c gel?scht (diejenige, die Sallys - ?nderungen beinhaltet) und blindlings Ihre neue Datei - whole.c hinzugef?gt – die ein - Duplikat der ?lteren Version von - integer.c ist. Das Endergebnis ist, dass - durch die Zusammenf?hrung Ihrer Umbenennung auf - dem Zweig mit dem Stamm Sallys j?ngste ?nderungen aus der - letzten Revision entfernt wurden. + Nun entscheiden Sie sich, Ihren Zweig auf den Stamm + zur?ckzuf?hren. Wie wird Subversion Ihre Umbenennung und + Bearbeitung mit den Bearbeiungen durch Sally + kombinieren? + + + +$ svn merge ^/calc/branches/my-calc-branch +-- Zusammenf?hren der Unterschiede zwischen Projektarchiv-URLs in ?.?: + C src/integer.c + U src/real.c +A src/whole.c +-- Aufzeichnung der Informationen f?r Zusammenf?hrung zwischen Projektarchiv-URLs in ?.?: + U . +Konflikt?bersicht: + Baumkonflikte: 1 + +$ svn st + M . + C src/integer.c + > lokale Datei ge?ndert, eingehendes L?schen einer Datei bei Zusammenf?hrung + M src/real.c +A + src/whole.c +Konflikt?bersicht: + Baumkonflikte: 1 + + + Die Antwort ist, dass Subversion diese ?nderungen + keineswegs kombiniert, sondern + stattdessen einen Baumkonflikt erzeugtFalls + Sally ihre ?nderung in r472 nicht gemacht h?tte, dann w?re + Subversion aufgefallen, dass integer.c in + der Ziel-Arbeitskopie identisch zu integer.c + auf der linken Seite des Merge ist, und h?tte Ihnen die + Umbenennung ohne Baumkonflikt durchgehen lassen: + + +$ svn merge ^/calc/branches/my-calc-branch +-- Zusammenf?hren der Unterschiede zwischen Projektarchiv-URLs in ?.?: + U src/real.c +A src/whole.c +D src/integer.c +-- Aufzeichnung der Informationen f?r Zusammenf?hrung zwischen Projektarchiv-URLs in ?.?: + U . + + , da es Ihre Hilfe ben?tigt, um + herauszufinden, welche Teile Ihrer ?nderungen und welche Teile + von Sallys ?nderungen schlie?lich in + whole.c landen sollen, oder ob die + Umbenennung ?berhaupt stattfinden soll! + + - Es ist kein echter Datenverlust. Sallys ?nderungen - befinden sich noch immer in der Geschichte des Projektarchivs, - allerdings mag es nicht sofort ersichtlich sein, dass es - passiert ist. Die Lehre, die es aus dieser Geschichte zu - ziehen gilt, lautet, dass Sie sehr vorsichtig mit dem - Zusammenf?hren von Kopien und Umbenennungen zwischen Zweigen - sein sollten, solange sich Subversion an dieser Stelle nicht - verbessert hat. + Vor der ?bergabe werden Sie den Baumkonflikt aufl?sen + m?ssen, was einiger manueller Eingriffe Ihrerseits bedarf, + siehe . Die Moral der + Geschichte ist, dass Sie dabei vorsichtig sein sollten, wenn Sie + Kopien und Umbenennungen zwischen Zweigen zusammenf?hren, und + auf manuelle Eingriffe vorbereitet sind, + bis sich Subversion verbessert. From svnbook at googlecode.com Tue Feb 10 10:50:38 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 10 Feb 2015 16:50:38 +0000 Subject: [svnbook] r4979 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c2adccbcfeac050ebeaf59@google.com> Revision: 4979 Author: jmfelderhoff at gmx.eu Date: Tue Feb 10 16:50:23 2015 UTC Log: [de] Translation: Branching and Merging Sections: * Advanced Merging ** Blocking Merge Tracking Unaware Clients ** The Final Word on Merge Tracking * Traversing Branches * Tags * Branch Maintenance ** Repository Layout ** Data Lifetimes * Common Branching Patterns ** Release Branches ** Feature Branches * Vendor Branches (intro) https://code.google.com/p/svnbook/source/detail?r=4979 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 06:47:15 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 16:50:23 2015 UTC @@ -3798,2297 +3798,2297 @@ - - - Fortgeschrittenes Zusammenf?hren + + + Fortgeschrittenes Zusammenf?hren - - Hier endet die automatische Magie. Fr?her oder sp?ter, - sobald Sie den Dreh beim Verzweigen und Zusammenf?hren heraus - haben, werden Sie Subversion fragen m?ssen, - bestimmte ?nderungen von einem Ort zum - anderen zusammenzuf?hren. Um dies tun zu k?nnen, werden Sie - damit beginnen m?ssen, kompliziertere Argumente an svn - merge zu ?bergeben. Der n?chste Abschnitt beschreibt - die vollst?ndig erweiterte Syntax des Befehls und behandelt eine - Anzahl verbreiteter Szenarien, die diese ben?tigen. + + Hier endet die automatische Magie. Fr?her oder sp?ter, + sobald Sie den Dreh beim Verzweigen und Zusammenf?hren heraus + haben, werden Sie Subversion fragen m?ssen, + bestimmte ?nderungen von einem Ort zum + anderen zusammenzuf?hren. Um dies tun zu k?nnen, werden Sie + damit beginnen m?ssen, kompliziertere Argumente an svn + merge zu ?bergeben. Der n?chste Abschnitt beschreibt + die vollst?ndig erweiterte Syntax des Befehls und behandelt eine + Anzahl verbreiteter Szenarien, die diese ben?tigen. - - - - Die Rosinen herauspicken + + + + Die Rosinen herauspicken - - - - Merging - Rosinenpicken - Genauso oft wie der Begriff ?nderungsmenge - wird die Wendung die Rosinen - herauspicken in Versions-Kontroll-Systemen - verwendet. Das bezieht sich darauf, eine - bestimmte ?nderungsmenge von einem Zweig auszuw?hlen und sie - auf einen anderen anzuwenden. Die Rosinen herauszupicken kann - sich auch darauf beziehen, eine bestimmte Menge von (nicht - notwendigerweise angrenzenden) ?nderungsmengen von einem auf - einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu - den ?blicheren Merge-Szenarien, bei denen der - n?chste zusammenh?ngende Bereich von Revisionen - automatisch dupliziert wird. + + + + Merging + Rosinenpicken + Genauso oft wie der Begriff ?nderungsmenge + wird die Wendung die Rosinen + herauspicken in Versions-Kontroll-Systemen + verwendet. Das bezieht sich darauf, eine + bestimmte ?nderungsmenge von einem Zweig auszuw?hlen und sie + auf einen anderen anzuwenden. Die Rosinen herauszupicken kann + sich auch darauf beziehen, eine bestimmte Menge von (nicht + notwendigerweise angrenzenden) ?nderungsmengen von einem auf + einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu + den ?blicheren Merge-Szenarien, bei denen der + n?chste zusammenh?ngende Bereich von Revisionen + automatisch dupliziert wird. - - Warum sollte jemand nur eine einzelne ?nderung wollen? Das - kommt h?ufiger vor, als Sie denken. Gehen wir beispielsweise - einmal davon aus, dass Sie einen neuen Arbeitszweig - /calc/branches/my-calc-feature-branch durch - kopieren von /calc/trunk erstellt - haben: + + Warum sollte jemand nur eine einzelne ?nderung wollen? Das + kommt h?ufiger vor, als Sie denken. Gehen wir beispielsweise + einmal davon aus, dass Sie einen neuen Arbeitszweig + /calc/branches/my-calc-feature-branch durch + kopieren von /calc/trunk erstellt + haben: - - -$ svn log ^/calc/branches/new-calc-feature-branch -v -r403 ------------------------------------------------------------------------- -r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile -Ge?nderte Pfade: - A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) - -Einen neuen Zweig calc f?r Arbeit an 'X' erzeugt. ------------------------------------------------------------------------- - - + + + $ svn log ^/calc/branches/new-calc-feature-branch -v -r403 + ------------------------------------------------------------------------ + r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile + Ge?nderte Pfade: + A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) + + Einen neuen Zweig calc f?r Arbeit an 'X' erzeugt. + ------------------------------------------------------------------------ + + - - In der Kaffeek?che bekommen Sie mit, dass Sally eine - interessante ?nderung an main.c auf dem - Stamm gemacht hat. Als Sie sich die Geschichte der ?bergaben - auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 - einen kritischen Fehler beseitigt hat, der direkte - Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. - Es kann sein, dass Sie noch nicht bereit sind, alle ?nderungen - vom Stamm zu ?bernehmen, jedoch ben?tigen Sie diese bestimmte - Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu - k?nnen. + + In der Kaffeek?che bekommen Sie mit, dass Sally eine + interessante ?nderung an main.c auf dem + Stamm gemacht hat. Als Sie sich die Geschichte der ?bergaben + auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 + einen kritischen Fehler beseitigt hat, der direkte + Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. + Es kann sein, dass Sie noch nicht bereit sind, alle ?nderungen + vom Stamm zu ?bernehmen, jedoch ben?tigen Sie diese bestimmte + Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu + k?nnen. - - Ebenso wie Sie svn diff im vorigen - Beispiel benutzt haben, um sich Revision 355 anzusehen, k?nnen - Sie die gleiche Option an svn merge - ?bergeben: + + Ebenso wie Sie svn diff im vorigen + Beispiel benutzt haben, um sich Revision 355 anzusehen, k?nnen + Sie die gleiche Option an svn merge + ?bergeben: - - -$ svn log ^/calc/trunk -r413 -v ------------------------------------------------------------------------- -r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen -Ge?nderte Pfade: - M /calc/trunk/src/main.c - -Fehler #22 '?bergabe eines Null-Wertes im Argument foo von bar() -sollte erlaubt sein, aber ruft Schutzverletzung hervor'. ------------------------------------------------------------------------- + + + $ svn log ^/calc/trunk -r413 -v + ------------------------------------------------------------------------ + r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen + Ge?nderte Pfade: + M /calc/trunk/src/main.c + + Fehler #22 '?bergabe eines Null-Wertes im Argument foo von bar() + sollte erlaubt sein, aber ruft Schutzverletzung hervor'. + ------------------------------------------------------------------------ -$ svn diff ^/calc/trunk -c413 -Index: src/main.c -=================================================================== ---- src/main.c (revision 412) -+++ src/main.c (revision 413) -@@ -34,6 +34,7 @@ -… # Details zur Fehlerbehebung -… - - + … + + - - So wie Sie svn diff im vorangegangenen - Beispiel verwendet haben, um Revision 413 zu untersuchen, - k?nnen Sie die gleiche Option an svn merge - ?bergeben: + + So wie Sie svn diff im vorangegangenen + Beispiel verwendet haben, um Revision 413 zu untersuchen, + k?nnen Sie die gleiche Option an svn merge + ?bergeben: - - -$ cd new-calc-feature-branch + + + $ cd new-calc-feature-branch -$ svn merge ^/calc/trunk -c413 ---- Zusammenf?hren von r413 in ?.?: -U src/main.c --- Aufzeichnung der Informationen f?r Zusammenf?hrung von r413 in ?.?: - U . + $ svn merge ^/calc/trunk -c413 + --- Zusammenf?hren von r413 in ?.?: + U src/main.c + -- Aufzeichnung der Informationen f?r Zusammenf?hrung von r413 in ?.?: + U . -$ svn st - M . -M src/main.c - - + $ svn st + M . + M src/main.c + + - - Sie k?nnen nun Ihre ?blichen Tests durchf?hren, bevor Sie - diese ?nderung an den Zweig ?bergeben. Nach der ?bergabe - bringt Subversion das svn:mergeinfo ihres - Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit - dem Zweig zusammengef?hrt wurde. Das verhindert, dass k?nftige - automatische Synchronisierungs-Merges versuchen, r413 erneut - zusammenzuf?hren. (Das Mergen derselben ?nderung auf denselben - Zweig f?hrt fast immer zu einem Konflikt!) Beachten Sie auch - das Mergeinfo - /calc/branches/my-calc-branch:341-379, Das wurde bei - unserem in r380 gemachten Reintegrations-Merge nach - /calc/trunk vom Zweig - /calc/branches/my-calc-branch aufgezeichnet. Als - wir den Zweig my-calc-branch in r403 - erstellt haben, wurde diese Mergeinfo mit der Kopie - mitgenommen. + + Sie k?nnen nun Ihre ?blichen Tests durchf?hren, bevor Sie + diese ?nderung an den Zweig ?bergeben. Nach der ?bergabe + bringt Subversion das svn:mergeinfo ihres + Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit + dem Zweig zusammengef?hrt wurde. Das verhindert, dass k?nftige + automatische Synchronisierungs-Merges versuchen, r413 erneut + zusammenzuf?hren. (Das Mergen derselben ?nderung auf denselben + Zweig f?hrt fast immer zu einem Konflikt!) Beachten Sie auch + das Mergeinfo + /calc/branches/my-calc-branch:341-379, Das wurde bei + unserem in r380 gemachten Reintegrations-Merge nach + /calc/trunk vom Zweig + /calc/branches/my-calc-branch aufgezeichnet. Als + wir den Zweig my-calc-branch in r403 + erstellt haben, wurde diese Mergeinfo mit der Kopie + mitgenommen. - - -$ svn pg svn:mergeinfo -v -Eigenschaften von ?.?: - svn:mergeinfo - /calc/branches/my-calc-branch:341-379 - /calc/trunk:413 - - + + + $ svn pg svn:mergeinfo -v + Eigenschaften von ?.?: + svn:mergeinfo + /calc/branches/my-calc-branch:341-379 + /calc/trunk:413 + + - - Beachten Sie auch, dass mergeinfo r413 - nicht als Kandidaten f?r einen Merge anzeigt, da sie bereits - zusammengef?hrt wurde: + + Beachten Sie auch, dass mergeinfo r413 + nicht als Kandidaten f?r einen Merge anzeigt, da sie bereits + zusammengef?hrt wurde: - - -$ svn mergeinfo ^/calc/trunk --show-revs eligible -r404 -r405 -r406 -r407 -r409 -r410 -r411 -r412 -r414 -r415 -r416 -… -r455 -r456 -r457 - - + + + $ svn mergeinfo ^/calc/trunk --show-revs eligible + r404 + r405 + r406 + r407 + r409 + r410 + r411 + r412 + r414 + r415 + r416 + … + r455 + r456 + r457 + + - - Das oben stehende bedeutet, wenn schlie?lich die Zeit f?r - einen automatischen Synchronisierungs-Merge gekommen ist, dass - Subversion den Merge in zwei Teile aufspaltet. Zun?chst werden - alle in Frage kommenden Merges bis Revision 412 ausgef?hrt. - Dann werden alle in Frage kommenden Revisionen von Revision - 412 bis zur Revision HEAD ausgef?hrt. Da - wir uns bereits r413 herausgepickt haben, wird diese ?nderung - ?bersprungen change is skipped: + + Das oben stehende bedeutet, wenn schlie?lich die Zeit f?r + einen automatischen Synchronisierungs-Merge gekommen ist, dass + Subversion den Merge in zwei Teile aufspaltet. Zun?chst werden + alle in Frage kommenden Merges bis Revision 412 ausgef?hrt. + Dann werden alle in Frage kommenden Revisionen von Revision + 412 bis zur Revision HEAD ausgef?hrt. Da + wir uns bereits r413 herausgepickt haben, wird diese ?nderung + ?bersprungen change is skipped: - - -$ svn merge ^/calc/trunk ---- Zusammenf?hren von r403 bis r412 in ?.?: -U doc/INSTALL -U src/main.c -U src/button.c -U src/integer.c -U Makefile -U README ---- Zusammenf?hren von r414 bis r458 in ?.?: -G doc/INSTALL -G src/main.c -G src/integer.c -G Makefile --- Aufzeichnung der Informationen f?r Zusammenf?hrung von r403 bis r458 in ?.?:\n" - U . - - + + + $ svn merge ^/calc/trunk + --- Zusammenf?hren von r403 bis r412 in ?.?: + U doc/INSTALL + U src/main.c + U src/button.c + U src/integer.c + U Makefile + U README + --- Zusammenf?hren von r414 bis r458 in ?.?: + G doc/INSTALL + G src/main.c + G src/integer.c + G Makefile + -- Aufzeichnung der Informationen f?r Zusammenf?hrung von r403 bis r458 in ?.?:\n" + U . + + - - - - Merging - nachziehen - Dieser Anwendungsfall des Abgleichens (oder - Nachziehens) von Fehlerbehebungen von - einem Zweig zu einem anderen ist vielleicht der g?ngigste Grund - f?r ?nderungen, die Rosinen herauszupicken; es kommt st?ndig - vor, beispielsweise, wenn ein Team einen - Software-Release-Zweig verwendet. (Wir - er?rtern dieses Muster in .) + + + + Merging + nachziehen + Dieser Anwendungsfall des Abgleichens (oder + Nachziehens) von Fehlerbehebungen von + einem Zweig zu einem anderen ist vielleicht der g?ngigste Grund + f?r ?nderungen, die Rosinen herauszupicken; es kommt st?ndig + vor, beispielsweise, wenn ein Team einen + Software-Release-Zweig verwendet. (Wir + er?rtern dieses Muster in .) - - - Haben Sie bemerkt, wie im letzten Beispiel der Aufruf - von svn merge zwei unterschiedliche - Abgleichsintervalle zusammengef?hrt hat? Der Befehl f?hrte - zwei unabh?ngige Patches auf Ihrer Arbeitskopie aus, um die - ?nderungsmenge 413 zu ?berspringen, die Ihr Zweig bereits - beinhaltete. An und f?r sich ist daran nichts falsch, bis - auf die Tatsache, dass die M?glichkeit besteht, eine - Konfliktaufl?sung komplizierter zu machen. Falls das erste - ?nderungsintervall Konflikte erzeugt, - m?ssen Sie diese interaktiv aufl?sen, - um den Merge fortzusetzen und das zweite ?nderungsintervall - anzuwenden. Wenn Sie die Konfliktaufl?sung der ersten Phase - aufschieben, wird der komplette Merge-Befehl mit einer - Fehlermeldung abbrechen und Sie m?ssen den Konflikt - aufl?sen, bevor Sie den Merge erneut anwenden, um den Rest - der ?nderungen zu bekommen. - + + + Haben Sie bemerkt, wie im letzten Beispiel der Aufruf + von svn merge zwei unterschiedliche + Abgleichsintervalle zusammengef?hrt hat? Der Befehl f?hrte + zwei unabh?ngige Patches auf Ihrer Arbeitskopie aus, um die + ?nderungsmenge 413 zu ?berspringen, die Ihr Zweig bereits + beinhaltete. An und f?r sich ist daran nichts falsch, bis + auf die Tatsache, dass die M?glichkeit besteht, eine + Konfliktaufl?sung komplizierter zu machen. Falls das erste + ?nderungsintervall Konflikte erzeugt, + m?ssen Sie diese interaktiv aufl?sen, + um den Merge fortzusetzen und das zweite ?nderungsintervall + anzuwenden. Wenn Sie die Konfliktaufl?sung der ersten Phase + aufschieben, wird der komplette Merge-Befehl mit einer + Fehlermeldung abbrechen und Sie m?ssen den Konflikt + aufl?sen, bevor Sie den Merge erneut anwenden, um den Rest + der ?nderungen zu bekommen. + - - Ein Wort zur Warnung: W?hrend svn diff - und svn merge vom Konzept her sehr ?hnlich - sind, haben sie in vielen F?llen eine unterschiedliche Syntax. - Gehen Sie sicher, dass Sie Details hierzu in nachlesen oder svn help - fragen. Zum Beispiel ben?tigt svn merge - einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an - dem es den erzeugten Patch anwenden kann. Falls das Ziel - nicht angegeben wird, nimmt es an, dass Sie eine der folgenden - h?ufigen Operationen durchf?hren m?chten: + + Ein Wort zur Warnung: W?hrend svn diff + und svn merge vom Konzept her sehr ?hnlich + sind, haben sie in vielen F?llen eine unterschiedliche Syntax. + Gehen Sie sicher, dass Sie Details hierzu in nachlesen oder svn help + fragen. Zum Beispiel ben?tigt svn merge + einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an + dem es den erzeugten Patch anwenden kann. Falls das Ziel + nicht angegeben wird, nimmt es an, dass Sie eine der folgenden + h?ufigen Operationen durchf?hren m?chten: - - - - Sie m?chten Verzeichnis?nderungen auf Ihr aktuelles - Arbeitsverzeichnis abgleichen. - - - - Sie m?chten die ?nderungen in einer bestimmten Datei - mit einer Datei gleichen Namens in Ihrem aktuellen - Arbeitsverzeichnis zusammenf?hren. - - + + + + Sie m?chten Verzeichnis?nderungen auf Ihr aktuelles + Arbeitsverzeichnis abgleichen. + + + + Sie m?chten die ?nderungen in einer bestimmten Datei + mit einer Datei gleichen Namens in Ihrem aktuellen + Arbeitsverzeichnis zusammenf?hren. + + - - Falls Sie ein Verzeichnis zusammenf?hren und keinen - Zielpfad angegeben haben, nimmt svn merge - den ersten Fall an und versucht, die ?nderungen auf Ihr - aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei - zusammenf?hren und diese Datei (oder eine gleichnamige Datei) - in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt - svn merge den zweiten Fall an und wendet - die ?nderungen auf eine lokale Datei gleichen Namens - an. + + Falls Sie ein Verzeichnis zusammenf?hren und keinen + Zielpfad angegeben haben, nimmt svn merge + den ersten Fall an und versucht, die ?nderungen auf Ihr + aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei + zusammenf?hren und diese Datei (oder eine gleichnamige Datei) + in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt + svn merge den zweiten Fall an und wendet + die ?nderungen auf eine lokale Datei gleichen Namens + an. - + - - - - Merge-Syntax: Die vollst?ndige Enth?llung + + + + Merge-Syntax: Die vollst?ndige Enth?llung - - Sie haben nun einige Beispiele zum Befehl svn - merge gesehen und werden bald einige mehr sehen. - Falls Sie verwirrt dar?ber sind, wie das Zusammenf?hren genau - funktioniert, sind Sie nicht alleine. Viele Anwender - (besonders diejenigen, f?r die Versionskontrolle etwas Neues - ist) sind anfangs verwirrt dar?ber, wie die korrekte Syntax - des Befehls lautet und wann das Feature verwendet werden soll. - Aber, keine Angst, dieser Befehl ist tats?chlich viel - einfacher als Sie denken! Es gibt eine einfache Technik, die - verstehen hilft, wie sich svn merge genau - verh?lt. + + Sie haben nun einige Beispiele zum Befehl svn + merge gesehen und werden bald einige mehr sehen. + Falls Sie verwirrt dar?ber sind, wie das Zusammenf?hren genau + funktioniert, sind Sie nicht alleine. Viele Anwender + (besonders diejenigen, f?r die Versionskontrolle etwas Neues + ist) sind anfangs verwirrt dar?ber, wie die korrekte Syntax + des Befehls lautet und wann das Feature verwendet werden soll. + Aber, keine Angst, dieser Befehl ist tats?chlich viel + einfacher als Sie denken! Es gibt eine einfache Technik, die + verstehen hilft, wie sich svn merge genau + verh?lt. - - Die Hauptquelle der Verwirrung ist der - Name des Befehls. Der Begriff - merge (Zusammenf?hrung, Mischung) deutet - irgendwie an, dass Zweige miteinander verschmolzen werden, - oder dass irgendeine geheimnisvolle Mischung der Daten - erfolgt. Das ist nicht der Fall. Ein besserer Name f?r den - Befehl w?re vielleicht svn - ermittele-die-Unterschiede-und-wende-sie-an - gewesen, da das alles ist, was passiert: Die B?ume im - Projektarchiv werden verglichen und die Unterschiede in eine - Arbeitskopie eingearbeitet. + + Die Hauptquelle der Verwirrung ist der + Name des Befehls. Der Begriff + merge (Zusammenf?hrung, Mischung) deutet + irgendwie an, dass Zweige miteinander verschmolzen werden, + oder dass irgendeine geheimnisvolle Mischung der Daten + erfolgt. Das ist nicht der Fall. Ein besserer Name f?r den + Befehl w?re vielleicht svn + ermittele-die-Unterschiede-und-wende-sie-an + gewesen, da das alles ist, was passiert: Die B?ume im + Projektarchiv werden verglichen und die Unterschiede in eine + Arbeitskopie eingearbeitet. - - Falls Sie svn merge benutzen, um - einfache Kopien von ?nderungen zwischen Zweigen vorzunehmen, - wird ein automatische Merge ?blicherweise das Richtige machen. - Beispielsweise wird ein Befehl wie der folgende: + + Falls Sie svn merge benutzen, um + einfache Kopien von ?nderungen zwischen Zweigen vorzunehmen, + wird ein automatische Merge ?blicherweise das Richtige machen. + Beispielsweise wird ein Befehl wie der folgende: - - -$ svn merge ^/calc/branches/some-branch - - + + + $ svn merge ^/calc/branches/some-branch + + - - versuchen, alle ?nderungen, die auf - some-branch gemacht worden sind, in Ihr - aktuelles Arbeitsverzeichnis zu kopieren, welches vermutlich - eine Arbeitskopie ist, die mit dem Zweig irgendeine - historische Verbindung teilt. Der Befehl ist klug genug, nur - die ?nderungen zu kopieren, die Ihre Arbeitskopie noch nicht - hat. Wenn Sie diesen Befehl einmal die Woche wiederholen, wird - er nur die neuesten ?nderungen vom Zweig - kopieren, die seit Ihrem letzten Zusammenf?hren - stattfanden. + Allgemeines Vorgehen f?r die Verwaltung von Lieferanten-Zweigen + + Die Fortf?hrung von Anpassungen an einer Bibliothek von + Drittanbietern erfordert drei Datenquellen: die Version der + Bibliothek des Drittanbieters, auf die die Anpassungen zuletzt + aufgesetzt haben, die angepasste Version (d.h., der + eigentliche Lieferanten-Zweig) der Bibliothek, die von Ihrem + Projekt verwendet wird und irgendeine neue Version der + Bibliothek, auf die Sie zu aktualisieren hoffen. Die + Verwaltung des Lieferanten-Zweigs (der nach unserer Definition + innerhalb Ihres Quelltext-Projektarchivs leben sollte) besteht + dann im Wesentlichen aus Merge-Operationen (im allgemeinen + Sinn). Doch verfolgen unterschiedliche Teams auch + unterschiedliche Ans?tze gegen?ber den anderen Datenquellen + – den unver?nderten Versionen des Quelltextes der + Drittanbieter-Bibliothek. Aus diesem Grund gibt es + wahrscheinlich verschiedene besondere Wege, die ben?tigten + Merges auszuf?hren. + + + Strenggenommen k?nnen diese Merges im allgemeinen SInn auf + verschiedene Weisen durchgef?hrt werden. Aus Gr?nden der + Einfachheit und mit dem Ziel, wenigstens + etwas Konkretes in diesem Abschnitt des + Buches zu liefern, gehen wir davon aus, dass es lediglich + einen einzigen Lieferanten-Zweig gibt, der st?ndig Upgrades + auf die neueste herausgegebene Version der Drittanbieter-Bibliothek + erh?lt, indem er Aktualisierungen bekommt, die die + Unterschiede zwischen der gegenw?rtigen und der neuen + unver?nderten Version der Bibliothek beschreiben. + + + + Ein weiterer Ansatz ist es, neue Lieferanten-Zweige f?r + jede nachfolgende unver?nderte Version der Bibliothek + anzulegen und die Unterschiede zwischen der aktuellen + unver?nderten und ihrer angepassten Version (vom aktuellen + Lieferanten-Zweig) auf den neuen Zweig anzuwenden. An diesem + Ansatz gibt es nichts audzusetzen, jedoch sind wir der + Meinung, dass wir nicht jede berechtihte M?glichkeit an + dieser Stelle dokumentieren m?ssen. + + + + Die folgenden Abschnitte untersuchen, wie + Lieferanten-Zweige in ein paar unterschiedlichen Szenarios + erzeugt und verwaltet werden. In den folgenden Beispielen + nehmen wir an, dass die Bibliothek des Drittanbieters + libcomplex hei?t, und wir einen Lieferanten-Zweig basierend + auf libcomplex 1.0.0 anlegen, der in unserem Projektarchiv + unter ^/vendor/libcomplex-custom liegt. + Wir werden uns dann ansehen, wie wir einen Upgrade auf + libcomplex 1.0.1 machen k?nnen und gleichzeitig unsere + Anpassungen an die Bibliothek bewahren k?nnen. + + + + + Vendor Branches from Foreign Repositories + + + Managing vendor branches generally works like this: first, you create a top-level directory (such as @@ -8614,9 +8718,9 @@ Lesen der Konfigurationsdatei, darum sollten Sie dar?ber hinaus keine weiteren Zeichen maskieren. + ]]>A - From svnbook at googlecode.com Wed Feb 11 07:09:33 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 11 Feb 2015 13:09:33 +0000 Subject: [svnbook] r4981 committed - [de] Translation: Branching and Merging... Message-ID: <089e01537216eaa9aa050ecfb6fc@google.com> Revision: 4981 Author: jmfelderhoff at gmx.eu Date: Wed Feb 11 13:09:17 2015 UTC Log: [de] Translation: Branching and Merging Sections: * Vendor Branches ** Vendor Branches from Foreign Repositories https://code.google.com/p/svnbook/source/detail?r=4981 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 11 06:46:40 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 11 13:09:17 2015 UTC @@ -1748,11 +1748,11 @@ Committed revision 352. --> $ svn commit -m "Die letzten ?nderungen von trunk mit my-calc-branch synchronisiert." -Sende . -Sende Makefile -Sende doc/INSTALL -Sende src/button.c -Sende src/real.c +Sende . +Sende Makefile +Sende doc/INSTALL +Sende src/button.c +Sende src/real.c ?bertrage Daten .. Revision 352 ?bertragen. @@ -2416,10 +2416,10 @@ Committed revision 380. --> $ svn commit -m "my-calc-branch mit Stamm zusammenf?hren!" -Sende . -Sende Makefile -Sende src/main.c -Sende src/real.c +Sende . +Sende Makefile +Sende src/main.c +Sende src/real.c ?bertrage Daten .. Revision 380 ?bertragen. @@ -3364,11 +3364,11 @@ Committed revision 399. --> $ svn commit -m "Fehlerhafte ?nderung aus r392 r?ckg?ngig machen." -Sending src/button.c -Sending src/integer.c -Sending src/main.c -Sending src/real.c -Sende integer.c +Sende src/button.c +Sende src/integer.c +Sende src/main.c +Sende src/real.c +Sende integer.c ?bertrage Daten .... Revision 399 ?bertragen. @@ -3791,2294 +3791,2294 @@ - + - + - - - - - - Fortgeschrittenes Zusammenf?hren + + + + + + Fortgeschrittenes Zusammenf?hren - - Hier endet die automatische Magie. Fr?her oder sp?ter, - sobald Sie den Dreh beim Verzweigen und Zusammenf?hren heraus - haben, werden Sie Subversion fragen m?ssen, - bestimmte ?nderungen von einem Ort zum - anderen zusammenzuf?hren. Um dies tun zu k?nnen, werden Sie - damit beginnen m?ssen, kompliziertere Argumente an svn - merge zu ?bergeben. Der n?chste Abschnitt beschreibt - die vollst?ndig erweiterte Syntax des Befehls und behandelt eine - Anzahl verbreiteter Szenarien, die diese ben?tigen. + + Hier endet die automatische Magie. Fr?her oder sp?ter, + sobald Sie den Dreh beim Verzweigen und Zusammenf?hren heraus + haben, werden Sie Subversion fragen m?ssen, + bestimmte ?nderungen von einem Ort zum + anderen zusammenzuf?hren. Um dies tun zu k?nnen, werden Sie + damit beginnen m?ssen, kompliziertere Argumente an svn + merge zu ?bergeben. Der n?chste Abschnitt beschreibt + die vollst?ndig erweiterte Syntax des Befehls und behandelt eine + Anzahl verbreiteter Szenarien, die diese ben?tigen. - - - - Die Rosinen herauspicken + + + + Die Rosinen herauspicken - - - - Merging - Rosinenpicken - Genauso oft wie der Begriff ?nderungsmenge - wird die Wendung die Rosinen - herauspicken in Versions-Kontroll-Systemen - verwendet. Das bezieht sich darauf, eine - bestimmte ?nderungsmenge von einem Zweig auszuw?hlen und sie - auf einen anderen anzuwenden. Die Rosinen herauszupicken kann - sich auch darauf beziehen, eine bestimmte Menge von (nicht - notwendigerweise angrenzenden) ?nderungsmengen von einem auf - einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu - den ?blicheren Merge-Szenarien, bei denen der - n?chste zusammenh?ngende Bereich von Revisionen - automatisch dupliziert wird. + + + + Merging + Rosinenpicken + Genauso oft wie der Begriff ?nderungsmenge + wird die Wendung die Rosinen + herauspicken in Versions-Kontroll-Systemen + verwendet. Das bezieht sich darauf, eine + bestimmte ?nderungsmenge von einem Zweig auszuw?hlen und sie + auf einen anderen anzuwenden. Die Rosinen herauszupicken kann + sich auch darauf beziehen, eine bestimmte Menge von (nicht + notwendigerweise angrenzenden) ?nderungsmengen von einem auf + einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu + den ?blicheren Merge-Szenarien, bei denen der + n?chste zusammenh?ngende Bereich von Revisionen + automatisch dupliziert wird. - - Warum sollte jemand nur eine einzelne ?nderung wollen? Das - kommt h?ufiger vor, als Sie denken. Gehen wir beispielsweise - einmal davon aus, dass Sie einen neuen Arbeitszweig - /calc/branches/my-calc-feature-branch durch - kopieren von /calc/trunk erstellt - haben: + + Warum sollte jemand nur eine einzelne ?nderung wollen? Das + kommt h?ufiger vor, als Sie denken. Gehen wir beispielsweise + einmal davon aus, dass Sie einen neuen Arbeitszweig + /calc/branches/my-calc-feature-branch durch + kopieren von /calc/trunk erstellt + haben: - - - $ svn log ^/calc/branches/new-calc-feature-branch -v -r403 - ------------------------------------------------------------------------ - r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile - Ge?nderte Pfade: - A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) - - Einen neuen Zweig calc f?r Arbeit an 'X' erzeugt. - ------------------------------------------------------------------------ - - + + +$ svn log ^/calc/branches/new-calc-feature-branch -v -r403 +------------------------------------------------------------------------ +r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile +Ge?nderte Pfade: + A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) + +Einen neuen Zweig calc f?r Arbeit an 'X' erzeugt. +------------------------------------------------------------------------ + + - - In der Kaffeek?che bekommen Sie mit, dass Sally eine - interessante ?nderung an main.c auf dem - Stamm gemacht hat. Als Sie sich die Geschichte der ?bergaben - auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 - einen kritischen Fehler beseitigt hat, der direkte - Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. - Es kann sein, dass Sie noch nicht bereit sind, alle ?nderungen - vom Stamm zu ?bernehmen, jedoch ben?tigen Sie diese bestimmte - Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu - k?nnen. + + In der Kaffeek?che bekommen Sie mit, dass Sally eine + interessante ?nderung an main.c auf dem + Stamm gemacht hat. Als Sie sich die Geschichte der ?bergaben + auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 + einen kritischen Fehler beseitigt hat, der direkte + Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. + Es kann sein, dass Sie noch nicht bereit sind, alle ?nderungen + vom Stamm zu ?bernehmen, jedoch ben?tigen Sie diese bestimmte + Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu + k?nnen. - - Ebenso wie Sie svn diff im vorigen - Beispiel benutzt haben, um sich Revision 355 anzusehen, k?nnen - Sie die gleiche Option an svn merge - ?bergeben: + + Ebenso wie Sie svn diff im vorigen + Beispiel benutzt haben, um sich Revision 355 anzusehen, k?nnen + Sie die gleiche Option an svn merge + ?bergeben: - - - $ svn log ^/calc/trunk -r413 -v - ------------------------------------------------------------------------ - r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen - Ge?nderte Pfade: - M /calc/trunk/src/main.c - - Fehler #22 '?bergabe eines Null-Wertes im Argument foo von bar() - sollte erlaubt sein, aber ruft Schutzverletzung hervor'. - ------------------------------------------------------------------------ + + +$ svn log ^/calc/trunk -r413 -v +------------------------------------------------------------------------ +r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen +Ge?nderte Pfade: + M /calc/trunk/src/main.c + +Fehler #22 '?bergabe eines Null-Wertes im Argument foo von bar() +sollte erlaubt sein, aber ruft Schutzverletzung hervor'. +------------------------------------------------------------------------ - $ svn diff ^/calc/trunk -c413 - Index: src/main.c - =================================================================== - --- src/main.c (revision 412) - +++ src/main.c (revision 413) - @@ -34,6 +34,7 @@ - … -# Details zur Fehlerbehebung - … - - +$ svn diff ^/calc/trunk -c413 +Index: src/main.c +=================================================================== +--- src/main.c (revision 412) ++++ src/main.c (revision 413) +@@ -34,6 +34,7 @@ +… +Details zur Fehlerbehebung +… + + - - So wie Sie svn diff im vorangegangenen - Beispiel verwendet haben, um Revision 413 zu untersuchen, - k?nnen Sie die gleiche Option an svn merge - ?bergeben: + + So wie Sie svn diff im vorangegangenen + Beispiel verwendet haben, um Revision 413 zu untersuchen, + k?nnen Sie die gleiche Option an svn merge + ?bergeben: - - - $ cd new-calc-feature-branch + + +$ cd new-calc-feature-branch - $ svn merge ^/calc/trunk -c413 - --- Zusammenf?hren von r413 in ?.?: - U src/main.c - -- Aufzeichnung der Informationen f?r Zusammenf?hrung von r413 in ?.?: - U . +$ svn merge ^/calc/trunk -c413 +--- Zusammenf?hren von r413 in ?.?: +U src/main.c +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r413 in ?.?: + U . - $ svn st - M . - M src/main.c - - +$ svn st + M . +M src/main.c + + - - Sie k?nnen nun Ihre ?blichen Tests durchf?hren, bevor Sie - diese ?nderung an den Zweig ?bergeben. Nach der ?bergabe - bringt Subversion das svn:mergeinfo ihres - Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit - dem Zweig zusammengef?hrt wurde. Das verhindert, dass k?nftige - automatische Synchronisierungs-Merges versuchen, r413 erneut - zusammenzuf?hren. (Das Mergen derselben ?nderung auf denselben - Zweig f?hrt fast immer zu einem Konflikt!) Beachten Sie auch - das Mergeinfo - /calc/branches/my-calc-branch:341-379, Das wurde bei - unserem in r380 gemachten Reintegrations-Merge nach - /calc/trunk vom Zweig - /calc/branches/my-calc-branch aufgezeichnet. Als - wir den Zweig my-calc-branch in r403 - erstellt haben, wurde diese Mergeinfo mit der Kopie - mitgenommen. + + Sie k?nnen nun Ihre ?blichen Tests durchf?hren, bevor Sie + diese ?nderung an den Zweig ?bergeben. Nach der ?bergabe + bringt Subversion das svn:mergeinfo ihres + Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit + dem Zweig zusammengef?hrt wurde. Das verhindert, dass k?nftige + automatische Synchronisierungs-Merges versuchen, r413 erneut + zusammenzuf?hren. (Das Mergen derselben ?nderung auf denselben + Zweig f?hrt fast immer zu einem Konflikt!) Beachten Sie auch + das Mergeinfo + /calc/branches/my-calc-branch:341-379, Das wurde bei + unserem in r380 gemachten Reintegrations-Merge nach + /calc/trunk vom Zweig + /calc/branches/my-calc-branch aufgezeichnet. Als + wir den Zweig my-calc-branch in r403 + erstellt haben, wurde diese Mergeinfo mit der Kopie + mitgenommen. - - - $ svn pg svn:mergeinfo -v - Eigenschaften von ?.?: - svn:mergeinfo - /calc/branches/my-calc-branch:341-379 - /calc/trunk:413 - - + + +$ svn pg svn:mergeinfo -v +Eigenschaften von ?.?: + svn:mergeinfo + /calc/branches/my-calc-branch:341-379 + /calc/trunk:413 + + - - Beachten Sie auch, dass mergeinfo r413 - nicht als Kandidaten f?r einen Merge anzeigt, da sie bereits - zusammengef?hrt wurde: + + Beachten Sie auch, dass mergeinfo r413 + nicht als Kandidaten f?r einen Merge anzeigt, da sie bereits + zusammengef?hrt wurde: - - - $ svn mergeinfo ^/calc/trunk --show-revs eligible - r404 - r405 - r406 - r407 - r409 - r410 - r411 - r412 - r414 - r415 - r416 - … - r455 - r456 - r457 - - + + +$ svn mergeinfo ^/calc/trunk --show-revs eligible +r404 +r405 +r406 +r407 +r409 +r410 +r411 +r412 +r414 +r415 +r416 +… +r455 +r456 +r457 + + - - Das oben stehende bedeutet, wenn schlie?lich die Zeit f?r - einen automatischen Synchronisierungs-Merge gekommen ist, dass - Subversion den Merge in zwei Teile aufspaltet. Zun?chst werden - alle in Frage kommenden Merges bis Revision 412 ausgef?hrt. - Dann werden alle in Frage kommenden Revisionen von Revision - 412 bis zur Revision HEAD ausgef?hrt. Da - wir uns bereits r413 herausgepickt haben, wird diese ?nderung - ?bersprungen change is skipped: + + Das oben stehende bedeutet, wenn schlie?lich die Zeit f?r + einen automatischen Synchronisierungs-Merge gekommen ist, dass + Subversion den Merge in zwei Teile aufspaltet. Zun?chst werden + alle in Frage kommenden Merges bis Revision 412 ausgef?hrt. + Dann werden alle in Frage kommenden Revisionen von Revision + 412 bis zur Revision HEAD ausgef?hrt. Da + wir uns bereits r413 herausgepickt haben, wird diese ?nderung + ?bersprungen change is skipped: - - - $ svn merge ^/calc/trunk - --- Zusammenf?hren von r403 bis r412 in ?.?: - U doc/INSTALL - U src/main.c - U src/button.c - U src/integer.c - U Makefile - U README - --- Zusammenf?hren von r414 bis r458 in ?.?: - G doc/INSTALL - G src/main.c - G src/integer.c - G Makefile - -- Aufzeichnung der Informationen f?r Zusammenf?hrung von r403 bis r458 in ?.?:\n" - U . - - + + +$ svn merge ^/calc/trunk +--- Zusammenf?hren von r403 bis r412 in ?.?: +U doc/INSTALL +U src/main.c +U src/button.c +U src/integer.c +U Makefile +U README +--- Zusammenf?hren von r414 bis r458 in ?.?: +G doc/INSTALL +G src/main.c +G src/integer.c +G Makefile +-- Aufzeichnung der Informationen f?r Zusammenf?hrung von r403 bis r458 in ?.?:\n" + U . + + - - - - Merging - nachziehen - Dieser Anwendungsfall des Abgleichens (oder - Nachziehens) von Fehlerbehebungen von - einem Zweig zu einem anderen ist vielleicht der g?ngigste Grund - f?r ?nderungen, die Rosinen herauszupicken; es kommt st?ndig - vor, beispielsweise, wenn ein Team einen - Software-Release-Zweig verwendet. (Wir - er?rtern dieses Muster in .) + + + + Merging + nachziehen + Dieser Anwendungsfall des Abgleichens (oder + Nachziehens) von Fehlerbehebungen von + einem Zweig zu einem anderen ist vielleicht der g?ngigste Grund + f?r ?nderungen, die Rosinen herauszupicken; es kommt st?ndig + vor, beispielsweise, wenn ein Team einen + Software-Release-Zweig verwendet. (Wir + er?rtern dieses Muster in .) - - - Haben Sie bemerkt, wie im letzten Beispiel der Aufruf - von svn merge zwei unterschiedliche - Abgleichsintervalle zusammengef?hrt hat? Der Befehl f?hrte - zwei unabh?ngige Patches auf Ihrer Arbeitskopie aus, um die - ?nderungsmenge 413 zu ?berspringen, die Ihr Zweig bereits - beinhaltete. An und f?r sich ist daran nichts falsch, bis - auf die Tatsache, dass die M?glichkeit besteht, eine - Konfliktaufl?sung komplizierter zu machen. Falls das erste - ?nderungsintervall Konflikte erzeugt, - m?ssen Sie diese interaktiv aufl?sen, - um den Merge fortzusetzen und das zweite ?nderungsintervall - anzuwenden. Wenn Sie die Konfliktaufl?sung der ersten Phase - aufschieben, wird der komplette Merge-Befehl mit einer - Fehlermeldung abbrechen und Sie m?ssen den Konflikt - aufl?sen, bevor Sie den Merge erneut anwenden, um den Rest - der ?nderungen zu bekommen. - + + + Haben Sie bemerkt, wie im letzten Beispiel der Aufruf + von svn merge zwei unterschiedliche + Abgleichsintervalle zusammengef?hrt hat? Der Befehl f?hrte + zwei unabh?ngige Patches auf Ihrer Arbeitskopie aus, um die + ?nderungsmenge 413 zu ?berspringen, die Ihr Zweig bereits + beinhaltete. An und f?r sich ist daran nichts falsch, bis + auf die Tatsache, dass die M?glichkeit besteht, eine + Konfliktaufl?sung komplizierter zu machen. Falls das erste + ?nderungsintervall Konflikte erzeugt, + m?ssen Sie diese interaktiv aufl?sen, + um den Merge fortzusetzen und das zweite ?nderungsintervall + anzuwenden. Wenn Sie die Konfliktaufl?sung der ersten Phase + aufschieben, wird der komplette Merge-Befehl mit einer + Fehlermeldung abbrechen und Sie m?ssen den Konflikt + aufl?sen, bevor Sie den Merge erneut anwenden, um den Rest + der ?nderungen zu bekommen. + - - Ein Wort zur Warnung: W?hrend svn diff - und svn merge vom Konzept her sehr ?hnlich - sind, haben sie in vielen F?llen eine unterschiedliche Syntax. - Gehen Sie sicher, dass Sie Details hierzu in nachlesen oder svn help - fragen. Zum Beispiel ben?tigt svn merge - einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an - dem es den erzeugten Patch anwenden kann. Falls das Ziel - nicht angegeben wird, nimmt es an, dass Sie eine der folgenden - h?ufigen Operationen durchf?hren m?chten: + + Ein Wort zur Warnung: W?hrend svn diff + und svn merge vom Konzept her sehr ?hnlich + sind, haben sie in vielen F?llen eine unterschiedliche Syntax. + Gehen Sie sicher, dass Sie Details hierzu in nachlesen oder svn help + fragen. Zum Beispiel ben?tigt svn merge + einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an + dem es den erzeugten Patch anwenden kann. Falls das Ziel + nicht angegeben wird, nimmt es an, dass Sie eine der folgenden + h?ufigen Operationen durchf?hren m?chten: - - - - Sie m?chten Verzeichnis?nderungen auf Ihr aktuelles - Arbeitsverzeichnis abgleichen. - - - - Sie m?chten die ?nderungen in einer bestimmten Datei - mit einer Datei gleichen Namens in Ihrem aktuellen - Arbeitsverzeichnis zusammenf?hren. - - + + + + Sie m?chten Verzeichnis?nderungen auf Ihr aktuelles + Arbeitsverzeichnis abgleichen. + + + + Sie m?chten die ?nderungen in einer bestimmten Datei + mit einer Datei gleichen Namens in Ihrem aktuellen + Arbeitsverzeichnis zusammenf?hren. + + - - Falls Sie ein Verzeichnis zusammenf?hren und keinen - Zielpfad angegeben haben, nimmt svn merge - den ersten Fall an und versucht, die ?nderungen auf Ihr - aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei - zusammenf?hren und diese Datei (oder eine gleichnamige Datei) - in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt - svn merge den zweiten Fall an und wendet - die ?nderungen auf eine lokale Datei gleichen Namens - an. + + Falls Sie ein Verzeichnis zusammenf?hren und keinen + Zielpfad angegeben haben, nimmt svn merge + den ersten Fall an und versucht, die ?nderungen auf Ihr + aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei + zusammenf?hren und diese Datei (oder eine gleichnamige Datei) + in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt + svn merge den zweiten Fall an und wendet + die ?nderungen auf eine lokale Datei gleichen Namens + an. - + - - - - Merge-Syntax: Die vollst?ndige Enth?llung + + + + Merge-Syntax: Die vollst?ndige Enth?llung - - Sie haben nun einige Beispiele zum Befehl svn - merge gesehen und werden bald einige mehr sehen. - Falls Sie verwirrt dar?ber sind, wie das Zusammenf?hren genau - funktioniert, sind Sie nicht alleine. Viele Anwender - (besonders diejenigen, f?r die Versionskontrolle etwas Neues - ist) sind anfangs verwirrt dar?ber, wie die korrekte Syntax - des Befehls lautet und wann das Feature verwendet werden soll. - Aber, keine Angst, dieser Befehl ist tats?chlich viel - einfacher als Sie denken! Es gibt eine einfache Technik, die - verstehen hilft, wie sich svn merge genau - verh?lt. + + Sie haben nun einige Beispiele zum Befehl svn + merge gesehen und werden bald einige mehr sehen. + Falls Sie verwirrt dar?ber sind, wie das Zusammenf?hren genau + funktioniert, sind Sie nicht alleine. Viele Anwender + (besonders diejenigen, f?r die Versionskontrolle etwas Neues + ist) sind anfangs verwirrt dar?ber, wie die korrekte Syntax + des Befehls lautet und wann das Feature verwendet werden soll. + Aber, keine Angst, dieser Befehl ist tats?chlich viel + einfacher als Sie denken! Es gibt eine einfache Technik, die + verstehen hilft, wie sich svn merge genau + verh?lt. - - Die Hauptquelle der Verwirrung ist der - Name des Befehls. Der Begriff - merge (Zusammenf?hrung, Mischung) deutet - irgendwie an, dass Zweige miteinander verschmolzen werden, - oder dass irgendeine geheimnisvolle Mischung der Daten - erfolgt. Das ist nicht der Fall. Ein besserer Name f?r den - Befehl w?re vielleicht svn - ermittele-die-Unterschiede-und-wende-sie-an - gewesen, da das alles ist, was passiert: Die B?ume im - Projektarchiv werden verglichen und die Unterschiede in eine - Arbeitskopie eingearbeitet. + + Die Hauptquelle der Verwirrung ist der + Name des Befehls. Der Begriff + merge (Zusammenf?hrung, Mischung) deutet + irgendwie an, dass Zweige miteinander verschmolzen werden, + oder dass irgendeine geheimnisvolle Mischung der Daten + erfolgt. Das ist nicht der Fall. Ein besserer Name f?r den + Befehl w?re vielleicht svn ***The diff for this file has been truncated for email.*** From svnbook at googlecode.com Wed Feb 11 23:56:53 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 12 Feb 2015 05:56:53 +0000 Subject: Issue 227 in svnbook: i am magno omen Message-ID: <0-7155889305988986295-8132385028994744263-svnbook=googlecode.com@googlecode.com> Status: New Owner: ---- Labels: Type-Defect Priority-Medium New issue 227 by alexserr... at gmail.com: i am magno omen https://code.google.com/p/svnbook/issues/detail?id=227 Plect to change over time. If you need to, quote the book paragraph(s) that are incorrect, and recommend corrections. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Thu Feb 12 00:45:16 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 12 Feb 2015 06:45:16 +0000 Subject: [svnbook] r4982 committed - [de] Translation: Branching and Merging... Message-ID: <047d7bdc0dfc709d1f050ede7640@google.com> Revision: 4982 Author: jmfelderhoff at gmx.eu Date: Thu Feb 12 06:45:07 2015 UTC Log: [de] Translation: Branching and Merging ** Vendor Branches from Mirrored Sources (part 1) https://code.google.com/p/svnbook/source/detail?r=4982 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 11 13:09:17 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 12 06:45:07 2015 UTC @@ -8508,8 +8508,12 @@ + + Lieferanten-Zweige aus gespiegelten Quellen + + Im vorhergehenden Abschnitt + () haben + wir uns angesehen, wie ein Lieferanten-Zweig angelegt und + verwaltet wird, wenn die Zulieferungen ?ber Subversion zu + erreichen sind, was der Idealfall bei Lieferanten-Zweigen ist. + Subversion kann sehr gut mit Merges von Dingen umgehen, die + von Subversion verwaltet wurden. Ungl?cklicherweise trifft es + nicht immer zu, dass Bibliotheken von Drittanbietern + ?ffentlich ?ber Subversion zugreifbar sind. Oftmals h?ngt ein + Projekt von einer Bibliothek ab, die ?ber Wege au?erhalb von + Subversion ausgeliefert wird, wie etwa Quelltext-Tarballs. + Unter derartigen Umst?nden empfehlen wir dringend, alles zu + tun, um diese Informationen au?erhalb von Subversion m?glichst + sauber in Subversion einzupflegen. Lassen Sie uns nun einen + Ansatz f?r Lieferanten-Zweige untersuchen, bei dem die + verschiedenen freigegebenen Versionen der + Drittanbieter-Bibliothek innerhalb unseres eigenen + Projektarchivs gespiegelt werden. + + Das erstmalige Aufsetzen des Lieferanten-Zweiges ist + wirklich recht einfach. F?r unser Beispiel nehmen wir an, dass + libcomplex 1.0.0 ?ber den verbreiteten Tarball-Mechanismus + verteilt wird. Um unseren Lieferanten-Zweig zu erstellen, + holen wir zun?chst den Inhalt des libcomplex 1.0.0 Tarballs + als nur-lesbaren (durch Konvention) Lieferanten-Tag in + unser Projektarchiv. @@ -8546,7 +8578,7 @@ libcomplex-1.0.0/tests/TODO $ svn import libcomplex-1.0.0 \ http://svn.example.com/projects/vendor/libcomplex-1.0.0 \ - --no-ignore --no-auto-props \ + --no-ignore --no-auto-props \ + -m "libcomplex 1.0.0 Quellen importieren." +F?ge hinzu libcomplex-custom +F?ge hinzu libcomplex-custom/README +F?ge hinzu libcomplex-custom/LICENSE +… +F?ge hinzu libcomplex-custom/src +F?ge hinzu libcomplex-custom/src/code.h +F?ge hinzu libcomplex-custom/src/code.c +?bertrage Daten ....................................... +Revision 1160 ?bertragen. $ + Note that in our example, we used the option during import so that Subversion is sure to pick up every file in the vendor drop From svnbook at googlecode.com Thu Feb 12 06:53:59 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 12 Feb 2015 12:53:59 +0000 Subject: Issue 227 in svnbook: i am magno omen In-Reply-To: <0-7155889305988986295-8132385028994744263-svnbook=googlecode.com@googlecode.com> References: <0-7155889305988986295-8132385028994744263-svnbook=googlecode.com@googlecode.com> Message-ID: <1-7155889305988986295-8132385028994744263-svnbook=googlecode.com@googlecode.com> Updates: Status: Invalid Comment #1 on issue 227 by cmpilato: i am magno omen https://code.google.com/p/svnbook/issues/detail?id=227 (No comment was entered for this change.) -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Thu Feb 12 11:23:22 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 12 Feb 2015 17:23:22 +0000 Subject: [svnbook] r4983 committed - [de] Translation: Branching and Merging... Message-ID: <047d7b3a98307b93f4050ee76018@google.com> Revision: 4983 Author: jmfelderhoff at gmx.eu Date: Thu Feb 12 17:23:13 2015 UTC Log: [de] Translation: Branching and Merging Sections: * Vendor Branches ** Vendor Branches from Mirrored Sources (part 2) https://code.google.com/p/svnbook/source/detail?r=4983 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 12 06:45:07 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 12 17:23:13 2015 UTC @@ -8614,45 +8614,56 @@ the auto-props feature do its thing, but the key to making that work well is ensuring that each vendor drop gets identical auto-prop treatment.. - - Now that the first vendor release drop is present in our - repository, we can create our vendor branch from it just as we - would create any other branch—using svn - copy. --> - Note that in our example, we used - the option during import so that - Subversion is sure to pick up every file in the vendor drop - and not to omit any of them. We also supply - the option so that our client - doesn't manufacture property information which isn't present - in the vendor drop.Technically, we could let - the auto-props feature do its thing, but the key to making - that work well is ensuring that each vendor drop gets - identical auto-prop treatment.. - + Beachten Sie, dass wir in unserem Beispiel w?hrend des + Imports die Option verwendeten, + damit Subversion zuverl?ssig jede Datei der Zulieferung + aufnimmt und keine ausl??t. Wir geben auch die Option + an, damit unser Client keine + nicht in der Zulieferung enthaltene Eigenschafts-Informationen + erzeugt.Technisch gesehen, k?nnten wir die + Funktionalit?t der auto-props gew?hren lassen, jedoch ist der + Schl?ssel des guten Gelingens, dass jede Zulieferung bez?glich + auto-prop gleich behandelt wird.. + + + Nun, da sich die erste Zulieferung des Drittanbieters in + unserem Projektarchiv befindet, k?nnen wir daraus unseren + Lieferanten-Zweig anlegen, genauso, wie jeden anderen Zweig + – mit svn copy. $ svn copy http://svn.example.com/projects/vendor/libcomplex-1.0.0 \ http://svn.example.com/projects/vendor/libcomplex-custom \ - -m "Initialize libcomplex vendor branch from libcomplex 1.0.0." -Committed revision 1161. + -m "Initialize libcomplex vendor branch from libcomplex 1.0.0." +Revision 1161 ?bertragen. $ + + Okay. An dieser Stelle haben wir einen Lieferanten-Zweig + basierend auf libcomplex 1.0.0. Wir sind bereit, die f?r + unsere Zwecke notwendigen Anpassungen an libcomplex + vorzunehmen – indem wir sie direkt in den + Lieferanten-Zweig ?bergeben – und unsere angepasste + libcomplex in eigenen Applikationen zu verwenden. + + Nach einer Weile wird libcomplex 1.0.1 freigegeben. + Nachdem wir uns die ?nderungen angesehen haben, entscheiden + wir uns, unseren Lieferanten-Zweig auf den Stand der neuen + Version zu bringen. Um diese Aktualisierung auf unserem Zweig + vornehmen zu k?nnen, m?ssen wir im Prinzip dieselben + ?nderungsmengen auf unseren Lieferanten-Zweig anwenden, die + der Lieferant zwischen 1.0.0 und 1.0.1 erstellt hat, ohne + dabei unsere Anpassungen zu ?berschreiben. Die sicherte Weise, + auf der das geschehen kann, ist es, zun?chst libcomplex 1.0.1 + in unser Projektarchiv zu holen als Delta zum + Quelltext von 1.0.0 in unserem Projektarchiv. + Anschlie?end verwenden wir die 2-URL-Form des Befehls + svn merge zum Replizieren derselben + ?nderungen auf den Lieferanten-Zweig. + + + Es stellt sich heraus, dass es mehrere unterschiedliche + Ans?tze gibt, die wir verfolgen k?nnen, um libcomplex 1.0.1 + auf die richtige Weise in unser Projektarchiv zu bekommen. + Die nochmalige Verwendung der Operation + svn import Operation w?re ein + falscher Ansatz, da die Zweige f?r + libcomplex 1.0.0 und 1.0.1 keinen gemeinsamen Stammbaum + h?tten. Der Ansatz, den wir hier + beschreiben, ist relativ rudiment?r, jedoch ist er unserer + Beschreibung dienlich. + + Erinnern Sie sich, dass wir m?chten, dass die Spiegelung + der Zulieferung von libcomplex 1.0.1 einen gemeinsamen + Stammbaum mit unserer Zulieferung von 1.0.0 hat, was sp?ter zu + dern besten Ergebnissen f?hren wird, wenn wir die ?nderungen + zwichen diesen Zulieferungen in unseren Lieferanten-Zweig + einbringen m?chten. Wir beginnen also damit, einen Zweig f?r + libcomplex-1.0.1 als Kopie unseres vorher erstellten + ly created libcomplex-1.0.0 Lieferanten-Tags + – eine Kopie, die schlie?lich eine Replik von libcomplex + 1.0.1 wird. + $ svn copy http://svn.example.com/projects/vendor/libcomplex-1.0.0 \ - http://svn.example.com/projects/vendor/libcomplex-1.0.1 \ + http://svn.example.com/projects/vendor/libcomplex-1.0.1 \ + -m "Einrichten eines Baugel?ndes f?r libcomplex 1.0.1." +Revision 1282 ?bertragen. $ + What we need now is to make a working copy of our libcomplex-1.0.1 branch, and then to make it actually look like libcomplex 1.0.1. To do this, we'll take advantage of @@ -8734,12 +8798,35 @@ + + As you can see, after checking out what was really + libcomplex 1.0.0 atop the libcomplex 1.0.1 exploded tarball, + we are left with a working copy that contains local + modifications—those modifications required to morph our + previous vendor release drop into our new one. + Admittedly, this is a pretty simple example. The changes required to perform this particular upgrade involved merely content changes to existing files. In reality, new versions @@ -8755,9 +8842,14 @@ vendor drop items to version control in this situation. + + However we make it happen, once our new vendor tag working + copy is reconciled with the original source distribution, we + can commit those changes to our repository. @@ -8772,12 +8864,20 @@ + + We're finally ready to upgrade our vendor branch. + Remember, our goal is to get the changes made by the vendor + between the 1.0.0 and 1.0.1 releases of their library into our + vendor branch. There is where a 2-URL svn + merge operation, applied to a working copy of our + vendor branch, comes into play. @@ -8806,6 +8906,7 @@ + + As you can see, svn merge has merged + the requisite changes into our working copy, flagging a + conflict where the vendor modified the same region of one of + the files as we did during our customizations. Subversion + detects this conflict, and gives us the opportunity to resolve + it (using the methods described in + ) so that our + customizations to what is now libcomplex 1.0.1 continue to + make sense. Once we've resolved the conflicts and performed + any testing or review we need, we can commit the changes to + our vendor branch. @@ -8834,6 +8947,11 @@ + Our vendor branch upgrade is complete. And the next time we need to upgrade that branch, we'll follow the same procedure we used to upgrade it this time. From svnbook at googlecode.com Fri Feb 13 00:45:13 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 13 Feb 2015 06:45:13 +0000 Subject: [svnbook] r4984 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c2e6cc2386bd050ef294e8@google.com> Revision: 4984 Author: jmfelderhoff at gmx.eu Date: Fri Feb 13 06:44:59 2015 UTC Log: [de] Translation: Branching and Merging ** Vendor Branches from Mirrored Sources (part 3) https://code.google.com/p/svnbook/source/detail?r=4984 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 12 17:23:13 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 13 06:44:59 2015 UTC @@ -8759,15 +8759,16 @@ checkout overlayed to remain as local modifications in the new working copy. --> - What we need now is to make a working copy of our - libcomplex-1.0.1 branch, and then to make it actually look - like libcomplex 1.0.1. To do this, we'll take advantage of - the fact that svn checkout can overlay an - existing directory and, if the option - is provided, do so in manner that allows the differences - between the checked-out tree and the target tree that the - checkout overlayed to remain as local modifications in the new - working copy. + Nun m?ssen wir eine Arbeitskopie unseres libcomplex-1.0.1 + Zweiges erstellen and ihn dann so herrichten, dass er + eigentlich wie like libcomplex 1.0.1 aussieht. Um das zu + erreichen, nutzen wir die Tatsache aus, das svn + checkout ein bereits bestehendes Verzeichnis + ?berlagern kann; wenn die Option + angegeben wird, geschieht das auf eine Art und Weise, dass die + Unterschiede zwischen dem ausgecheckten Baum und dem durch den + Checkout ?berlagerten Zielbaumm als lokale ?nderungen in der + Arbeitskopie verbleiben. @@ -8788,8 +8789,9 @@ … E libcomplex-1.0.1/src/code.c E libcomplex-1.0.1/tests -E libcomplex-1.0.1/tests/TODO -Checked out revision 1282. +E libcomplex-1.0.1/tests/TODO +Ausgecheckt, Revision 1282. $ svn status libcomplex-1.0.1 M libcomplex-1.0.1/src/code.h M libcomplex-1.0.1/src/code.c @@ -8805,11 +8807,12 @@ modifications—those modifications required to morph our previous vendor release drop into our new one. --> - As you can see, after checking out what was really - libcomplex 1.0.0 atop the libcomplex 1.0.1 exploded tarball, - we are left with a working copy that contains local - modifications—those modifications required to morph our - previous vendor release drop into our new one. + Wie Sie sehen k?nnen, bleibt nach dem Auschecken von der + eigentlichen libcomplex 1.0.0 ?ber den ausgepackten libcomplex + 1.0.1 eine Arbeitskopie mit lokalen ?nderungen zur?ck – + diejenigen ?nderungen, die ben?tigt werden, um unsere + bisherige freigegebene Zulieferung in unsere neue zu + verwandeln. - Admittedly, this is a pretty simple example. The changes - required to perform this particular upgrade involved merely - content changes to existing files. In reality, new versions - of third-party libraries might also add or remove files or - directories, might rename files or directories, and so on. In - those situations, it can be much more challenging to morph the - new vendor tag into a state where it accurately reflects the - vendor drop it claims to reflect. We'll leave the details of - such transformations as an exercise to the - reader.Here's a hint, though: svn - add --force /path/to/working-copy --no-ignore - --no-auto-props is super handy for adding any new - vendor drop items to version control in this - situation. + Das ist zugegebenerma?en ein ziemlich einfaches Beispiel. + Die f?r die Aktualisierung notwendigen ?nderungen waren + lediglich inhaltliche ?nderungen an bestehenden Dateien. In + der Realit?t k?nnten neue Versionen der Bibliotheken von + Drittanbietern auch sowohl Dateien als auch Verzeichnisse + hinzuf?gen oder entfernen, Dateien oder Verzeichnisse + umbenennen, usw. In solchen Situationen kann es eine viel + gr??ere Herausforderung sein, das neue Lieferanten-Tag in + einen Zustand zu ?berf?hren, in dem es exakt die Zulieferung + wiedergibt, die es verspricht. Wir ?berlassen die Details + derartiger Transformationen dem Leser als ?bung. + Trotzdem ein Hinweis: svn add --force + /path/to/working-copy --no-ignore --no-auto-props + ist au?erordentlich praktisch, um in dieser Situation alle + neuen Objekte einer Zulieferung unter Versions-Kontrolle zu + stellen. - However we make it happen, once our new vendor tag working - copy is reconciled with the original source distribution, we - can commit those changes to our repository. + Wie auch immer wir es schaffen, sobald unsere neue auf dem + Lieferanten-Tag basierende Arbeitskopie mit dem + Original-Quellpaket abgeglichen ist, k?nnen wir diese + ?nderungen in unser Projektarchiv ?bertragen. $ svn commit -m "Upgrade vendor branch to libcomplex 1.0.1." \ - libcomplex-1.0.1 + libcomplex-1.0.1 +Sende libcomplex-1.0.1/README +Sende libcomplex-1.0.1/src/code.h +Sende libcomplex-1.0.1/src/code.c +?bertrage Daten ... +Revision 1283 ?bertragen. $ From svnbook at googlecode.com Fri Feb 13 17:28:35 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 13 Feb 2015 23:28:35 +0000 Subject: [svnbook] r4986 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c2f3d0755279050f0098e3@google.com> Revision: 4986 Author: jmfelderhoff at gmx.eu Date: Fri Feb 13 23:28:27 2015 UTC Log: [de] Translation: Branching and Merging ** Vendor Branches from Mirrored Sources (rest) https://code.google.com/p/svnbook/source/detail?r=4986 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 13 13:26:38 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 13 23:28:27 2015 UTC @@ -8398,7 +8398,7 @@ http://svn.othervendor.com/repos/libcomplex/tags/1.0.1 \ libcomplex-custom --- Zusammenf?hren der Unterschiede zwischen Projektarchiv-URLs in ?.?: +-- Zusammenf?hren der Unterschiede zwischen fremden Projektarchiv-URLs in ?.?: U libcomplex-custom/src/code.h C libcomplex-custom/src/code.c U libcomplex-custom/README - We're finally ready to upgrade our vendor branch. - Remember, our goal is to get the changes made by the vendor - between the 1.0.0 and 1.0.1 releases of their library into our - vendor branch. There is where a 2-URL svn - merge operation, applied to a working copy of our - vendor branch, comes into play. + Wir sind schlie?lich soweit, dass wir unseren + Lieferanten-Zweig aktualisieren k?nnen. Wenn Sie sich + entsinnen, besteht unser Ziel darin, die vom Lieferanten + zwischen den Versionen 1.0.0 und 1.0.1 ihrer Bibliothek + gemachten ?nderungen in unseren Lieferanten-Zweig zu bekommen. + our vendor branch. An diesem Punkt betritt eine svn + merge-Operation mit 2 URLs die B?hne, die auf eine + Arbeitskopie unseres Lieferanten-Zweig angewendet wird. @@ -8900,20 +8902,29 @@ … E libcomplex-custom/src/code.c E libcomplex-custom/tests -E libcomplex-custom/tests/TODO -Checked out revision 1283. +E libcomplex-custom/tests/TODO +Ausgecheckt, Revision 1283. $ cd libcomplex-custom $ svn merge ^/vendor/libcomplex-1.0.0 \ - ^/vendor/libcomplex-1.0.1 ---- Merging differences between URLs into '.': + ^/vendor/libcomplex-1.0.1 +-- Zusammenf?hren der Unterschiede zwischen Projektarchiv-URLs in ?.?: U src/code.h C src/code.c -U README +U README +Konflikt?bersicht: + Textkonflikte: 1 +Konflikt in Datei ?src/code.c? entdeckt. +Auswahl: (p) sp?ter aufl?sen, (df) ?nderungen anzeigen, + (e) Dateibearbeiten, (m) Zusammenf?hrung, + (mc) eigene Seite des Konflikts, + (tc) fremde Seite des Konflikts, (s) alle Optionen anzeigen: @@ -8930,30 +8941,37 @@ any testing or review we need, we can commit the changes to our vendor branch. --> - As you can see, svn merge has merged - the requisite changes into our working copy, flagging a - conflict where the vendor modified the same region of one of - the files as we did during our customizations. Subversion - detects this conflict, and gives us the opportunity to resolve - it (using the methods described in - ) so that our - customizations to what is now libcomplex 1.0.1 continue to - make sense. Once we've resolved the conflicts and performed - any testing or review we need, we can commit the changes to - our vendor branch. + Wie Sie sehen k?nnen, hat svn merge die + erforderlichen ?nderungen in unsere Arbeitskopie gebracht und + einen Konflikt markiert, bei dem der Lieferant den gleichen + Bereich einer der Dateien ge?ndert hat wie wir w?hrend unserer + Anpassungen. Subversion erntdeckt diesen Konflikt und bietet + uns die Gelegenheit zur Aufl?sung (mittels der in + beschriebenen + Methoden), so dass unsere Anpassungen an, mittlerweile, + libcomplex 1.0.1 weiterhin einen Sinn ergeben. Sobald wir die + Konflikte aufgel?st sowie notwendige Tests und ?berpr?fungen + gemacht haben, k?nnen wir die ?nderungen in unseren + Lieferanten-Zweig ?bertragen. $ svn status M src/code.h M src/code.c -M README +M README +$ svn commit -m "Aktualisierung des Lieferanten-Zweigs auf libcomplex 1.0.1." +Sende README +Sende src/code.h +Sende src/code.c +?bertrage Daten ..." +Revision 1294 ?bertragen. $ @@ -8963,9 +8981,11 @@ we need to upgrade that branch, we'll follow the same procedure we used to upgrade it this time. --> - Our vendor branch upgrade is complete. And the next time - we need to upgrade that branch, we'll follow the same - procedure we used to upgrade it this time. + Die Aktualisierung unseres Lieferanten-Zweiges ist + vollbracht. Wenn wir beim n?chsten Mal diesen Zweig + aktualisieren m?ssen verfolgen wir die selbe Vorgehensweise, + die wir bei der jetzigen Aktualisierung eingeschlagen + sind. From svnbook at googlecode.com Sat Feb 14 03:50:00 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sat, 14 Feb 2015 09:50:00 +0000 Subject: [svnbook] r4987 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c200d2d18e39050f0946c6@google.com> Revision: 4987 Author: jmfelderhoff at gmx.eu Date: Sat Feb 14 09:49:37 2015 UTC Log: [de] Translation: Branching and Merging * Summary ** Branching and merging commands https://code.google.com/p/svnbook/source/detail?r=4987 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 13 23:28:27 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Sat Feb 14 09:49:37 2015 UTC @@ -9325,7 +9325,7 @@ Merge a branch back into trunk --> Zur?ckf?hren des Zweigs in den Stamm - svn merge --reintegrate branchURL; svn commit + svn merge branchURL; svn commit From svnbook at googlecode.com Sat Feb 14 04:19:25 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sat, 14 Feb 2015 10:19:25 +0000 Subject: [svnbook] r4988 committed - [de] Translation: Branching and Merging: proofreading Message-ID: <047d7b2e4a480709c7050f09b0f8@google.com> Revision: 4988 Author: jmfelderhoff at gmx.eu Date: Sat Feb 14 10:19:17 2015 UTC Log: [de] Translation: Branching and Merging: proofreading https://code.google.com/p/svnbook/source/detail?r=4988 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Sat Feb 14 09:49:37 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Sat Feb 14 10:19:17 2015 UTC @@ -1174,11 +1174,11 @@ --> - changesets + Changesets i ?nderungsmengen - changesets + Changesets Bevor wir weitermachen, sollten wir Sie warnen, dass Sie auf den kommenden Seiten viele Er?rterungen zum Thema ?nderungen erwarten. Viele mit @@ -2808,7 +2808,7 @@ --> Das Diagramm zeigt, dass /calc/branches/my-calc-branch von - /calc/trunk at 340 her?berkopiert wurde und + /calc/trunk at 340 her?ber kopiert wurde und der letzte automatische Merge der Reintegrations-Merge war, den wir vom Zweig zum Stamm in r380 gemacht haben. Beachten Sie, dass das Diagramm die vier automatischen @@ -2929,11 +2929,11 @@ is considered by default. --> Seit Subversion 1.7 kann der Unterbefehl svn - mergeinfo auch Unterbaum-Mergeinfo und + mergeinfo auch Teilbaum-Mergeinfo und nichterbliche Mergeinfo ber?cksichtigen. Mit den Option oder - wird Unterbaum-Mergeinfo ber?cksichtigt, w?hrend nicht - ererbbare Mergeinfo standardm??ig beachtet wird. + wird Teilbaum-Mergeinfo ber?cksichtigt, w?hrend nicht + vererbbare Mergeinfo standardm??ig beachtet wird. Nun entscheiden Sie sich, Ihren Zweig auf den Stamm zur?ckzuf?hren. Wie wird Subversion Ihre Umbenennung und - Bearbeitung mit den Bearbeiungen durch Sally + Bearbeitung mit den Bearbeitungen durch Sally kombinieren? @@ -6122,7 +6122,7 @@ Mergeinfo auswerten, automatische Merges versuchen, werden Sie wahrscheinlich in alle m?glichen Konflikte laufen, die durch wiederholtes - Mergeb hervorgerufen wurden. + Mergen hervorgerufen wurden. Diese Situation wird am besten vermieden, indem regelm??ig - ein automatischer Merg vom Stamm auf den Zweig gemacht wird. + ein automatischer Merge vom Stamm auf den Zweig gemacht wird. Machen Sie es zur Gewohnheit: Arbeiten Sie w?chentlich die ?nderungen der vergangenen Woche vom Stamm in den Zweig ein. @@ -8106,7 +8106,7 @@ differences between the current and new pristine versions of that library. --> - Strenggenommen k?nnen diese Merges im allgemeinen SInn auf + Strenggenommen k?nnen diese Merges im allgemeinen Sinn auf verschiedene Weisen durchgef?hrt werden. Aus Gr?nden der Einfachheit und mit dem Ziel, wenigstens etwas Konkretes in diesem Abschnitt des @@ -8134,8 +8134,8 @@ anzulegen und die Unterschiede zwischen der aktuellen unver?nderten und ihrer angepassten Version (vom aktuellen Lieferanten-Zweig) auf den neuen Zweig anzuwenden. An diesem - Ansatz gibt es nichts audzusetzen, jedoch sind wir der - Meinung, dass wir nicht jede berechtihte M?glichkeit an + Ansatz gibt es nichts auszusetzen, jedoch sind wir der + Meinung, dass wir nicht jede berechtigte M?glichkeit an dieser Stelle dokumentieren m?ssen. @@ -8184,7 +8184,7 @@ Drittanbieter-Bibliothek selbst ?ber Subversion erreichbar ist. F?r das Beispiel nehmen wir an, dass die besprochene Bibliothek libcomplex in einem ?ffentlich zug?nglichen - Subversion-Projektarchiv entwickelt wird und deren Enwickler + Subversion-Projektarchiv entwickelt wird und deren Entwickler vern?nftige Freigabeverfahren verwenden, zu denen die Erzeugung von Tags f?r jede stabile freigegebene Version z?hlt. @@ -8237,7 +8237,7 @@ Kopieren, Kopien aus fremden Projektarchiven Seit Subversion 1.5 kann svn merge sogenannte Merges aus fremden - Projektarchiver ausf?hren, wobei die Quellen des + Projektarchiven ausf?hren, wobei die Quellen des Merges in einem anderen Projektarchiv liegen, als das Projektarchiv, aus dem die Arbeitskopie des Merge-Ziels ausgecheckt wurde. Und in Subversion 1.8 wurde das Verhalten @@ -8341,14 +8341,14 @@ accurately replicated in your own repository. --> Sollten Sie eine ?ltere Version von Subversion - verwenden, ist die Vorgehensweide, die der neuen + verwenden, ist die Vorgehensweise, die der neuen Unterst?tzung von Kopien aus fremden Projektarchiven durch svn copy am n?chsten kommt, eine Arbeitskopie des Lieferanten-Tags zu importieren (mit svn import), und dabei die Optionen und - zu verwenden, do dass der - komplette Baum umd alle versionierten Eigenschaften akkurat + zu verwenden, so dass der + komplette Baum und alle versionierten Eigenschaften akkurat in Ihrem Projektarchiv repliziert werden. @@ -8492,7 +8492,7 @@ werden, falls die Original-Quellen f?r Subversion erreichbar sind. Es gibt jedoch einige erw?hnenswerte Schw?chen. Zun?chst werden Merges aus fremden Projektarchiven nicht automatisch - von Subversion verfolgt wie Merges inerhalb des eigenen + von Subversion verfolgt wie Merges innerhalb des eigenen Projektarchivs. Das bedeutet, der Anwender tr?gt die Last und muss wissen, welche Merges auf dem Lieferanten-Zweig stattgefunden haben und wie der n?chste Merge aufzusetzen ist, @@ -8728,13 +8728,13 @@ Erinnern Sie sich, dass wir m?chten, dass die Spiegelung der Zulieferung von libcomplex 1.0.1 einen gemeinsamen Stammbaum mit unserer Zulieferung von 1.0.0 hat, was sp?ter zu - dern besten Ergebnissen f?hren wird, wenn wir die ?nderungen - zwichen diesen Zulieferungen in unseren Lieferanten-Zweig + den besten Ergebnissen f?hren wird, wenn wir die ?nderungen + zwischen diesen Zulieferungen in unseren Lieferanten-Zweig einbringen m?chten. Wir beginnen also damit, einen Zweig f?r libcomplex-1.0.1 als Kopie unseres vorher erstellten - ly created libcomplex-1.0.0 Lieferanten-Tags - – eine Kopie, die schlie?lich eine Replik von libcomplex - 1.0.1 wird. + libcomplex-1.0.0 Lieferanten-Tags – eine + Kopie, die schlie?lich eine Replik von libcomplex 1.0.1 + wird. @@ -8767,7 +8767,7 @@ ?berlagern kann; wenn die Option angegeben wird, geschieht das auf eine Art und Weise, dass die Unterschiede zwischen dem ausgecheckten Baum und dem durch den - Checkout ?berlagerten Zielbaumm als lokale ?nderungen in der + Checkout ?berlagerten Zielbaum als lokale ?nderungen in der Arbeitskopie verbleiben. @@ -8858,14 +8858,16 @@ ?nderungen in unser Projektarchiv ?bertragen. - + +$ svn commit -m "Aktualisierung Lieferanten-Zweig auf libcomplex 1.0.1." \ + libcomplex-1.0.1 Sende libcomplex-1.0.1/README Sende libcomplex-1.0.1/src/code.h Sende libcomplex-1.0.1/src/code.c @@ -8945,7 +8947,7 @@ erforderlichen ?nderungen in unsere Arbeitskopie gebracht und einen Konflikt markiert, bei dem der Lieferant den gleichen Bereich einer der Dateien ge?ndert hat wie wir w?hrend unserer - Anpassungen. Subversion erntdeckt diesen Konflikt und bietet + Anpassungen. Subversion entdeckt diesen Konflikt und bietet uns die Gelegenheit zur Aufl?sung (mittels der in beschriebenen Methoden), so dass unsere Anpassungen an, mittlerweile, From svnbook at googlecode.com Sat Feb 14 09:35:03 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sat, 14 Feb 2015 15:35:03 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output Message-ID: <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Status: New Owner: ---- Labels: Type-Defect Priority-Medium New issue 228 by gan.ainm... at gmail.com: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 In subsection "Vendor Branches from Mirrored Sources" of the chapter "Branching and Merging", the command output of "svn merge ^/vendor/libcomplex-1.0.0 ^/vendor/libcomplex-1.0.1" contains the line "--- Merging differences between URLs into '.':", i.e., a message not stating the type of URL, however, a scan of the complete source tree of Subversion 1.8 only shows occurrences of either "...repository URLs..." or "...foreign repository URLs..." -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Sat Feb 14 20:04:40 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 15 Feb 2015 02:04:40 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <1-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Updates: Labels: Milestone-en-1.6 Comment #1 on issue 228 by cmpilato: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 I believe you're correct. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Mon Feb 16 00:38:58 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 16 Feb 2015 06:38:58 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <1-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <1-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <2-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Comment #2 on issue 228 by gan.ainm... at gmail.com: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 Why milestone 1.6? I was referring to the 1.8 book. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Mon Feb 16 08:27:06 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 16 Feb 2015 14:27:06 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <2-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <2-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <3-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Comment #3 on issue 228 by cmpilato: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 I set the milestone to the oldest currently-maintained version that exhibits the problem as a reminder to myself of how far to go with backporting the fix. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Tue Feb 17 15:06:35 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 17 Feb 2015 21:06:35 +0000 Subject: [svnbook] r4989 committed - [de] Lieferanten-Zweige: Umformulierungen. Message-ID: <089e01182358f5db09050f4f1360@google.com> Revision: 4989 Author: jmfelderhoff at gmx.eu Date: Tue Feb 17 21:06:27 2015 UTC Log: [de] Lieferanten-Zweige: Umformulierungen. https://code.google.com/p/svnbook/source/detail?r=4989 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Sat Feb 14 10:19:17 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 17 21:06:27 2015 UTC @@ -7880,15 +7880,15 @@ Zweige Lieferanten-Zweige - Besonders in der Software=Entwicklung haben die von Ihnen - versionsverwalteten Daten oft einen engen Bezug zu Daten von - anderen, oder sind vielleicht abh?ngig davon. Allgemein wird der - Bedarf ihres Projektes erfordern, dass Sie bez?glich der - externen Datenquelle so aktuell wie m?glich bleiben, ohne dabei - die Stabilit?t Ihres Projektes zu opfern. Dieses Szenario - entfaltet sich immer dort, wo die von einer Gruppe erzeugten + Besonders in der Software-Entwicklung haben Ihre + versionsverwalteten Daten oft einen engen Bezug zu Daten aus + anderen Quellen oder sind vielleicht sogar davon abh?ngig. Im + allgemeinen wird es ihr Projekt erfordern, dass Sie hinsichtlich + dieser externen Datenquelle so aktuell wie m?glich bleiben, ohne + dabei die Stabilit?t des Projektes zu opfern. Dieses Szenario + taucht immer dort auf, wo die von einer Gruppe erzeugten Informationen direkte Auswirkungen auf diejenigen Informationen - hat, die von einer anderen Gruppe erstellt werden. + haben, die von einer anderen Gruppe erstellt werden. - So k?nnte es sein, dass Software-Entwickler beispielsweise an + Software-Entwickler k?nnten beispielsweise an einer Anwendung arbeiten, die die Bibliothek eines Drittanbieters ben?tigt. Subversion hat eine solche Abh?ngigkeit von der Bibliothek Apache Portable Runtime (APR) (siehe Allerdings m?chten Sie von Zeit zu Zeit spezielle Anpassungen des Drittanbieter-Codes in Ihrem eigenen - Versions-Kontroll-System verwalten. Um auf unser Beispiel aus der - Software=Entwicklung zur?ckzukommen, m?ssen Entwickler manchmal - die Bibliothek der Drittanbieter f?r ihre Zwecke ver?ndern. - Diese ?nderungen k?nnen neue Funktionalit?ten oder - Fehlerbehebungen beinhalten und werden nur solange intern + Versions-Kontroll-System verwalten. Um auf unser Beispiel aus + der Software=Entwicklung zur?ckzukommen, m?ssen Entwickler + manchmal die Bibliothek der Drittanbieter f?r ihre Zwecke + ver?ndern. Diese ?nderungen k?nnen neue Funktionalit?ten oder + Fehlerbehebungen umfassen und werden nur solange intern verwaltet, bis sie eines Tages Teil einer offiziellen Auslieferung der Bibliothek werden. Es kann aber auch sein, dass diese ?nderungen niemals an die Entwickler der Bibliothek zur?ckgegeben werden, sondern lediglich als spezielle - Anpassungen bestehen, um die Bibliothek f?r Bed?rfnisse der - Software-Entwickler geeigneter zu machen. + Anpassungen f?r die Bed?rfnisse der Software-Entwickler bestehen + bleiben. - Angenommen, Ihre Aufgabe ist es, ein Dokument f?r eine + Angenommen, Sie haben die Aufgabe, ein Dokument f?r eine Abteilung Ihrer Firma zu pflegen – eine Art Handbuch. Eines Tages fragt eine andere Abteilung nach dem - gleichen Handbuch, jedoch an einigen Stellen f?r ihre - Bed?rfnisse abgewandelt, da sie auf etwas andere + gleichen Handbuch, jedoch an einigen Stellen auf ihre + Bed?rfnisse angepasst, da sie auf etwas andere Weise arbeiten. Verzweigen (Branching) und Zusammenf?hren - (Merging)Die + (MergingDie Begriffe Verzweigen bzw. Zweig und Zusammenf?hren werden durchg?ngig in den Ausgaben von Subversion verwendet, sofern die entsprechenden deutschen @@ -43,17 +43,17 @@ Branch, Merge, Diff Bestandteil des Vokabulars der - Entwicklergemeinde sind. sind grundlegende + Entwicklergemeinde sind.) sind grundlegende Konzepte der Versionskontrolle, die zwar konzeptuell einfach zu - beschreiben sind, die allerdings hinreichend Komplexit?t und - Feinheiten mit sich bringen, dass sie ein eigenes Kapitel in + beschreiben sind, allerdings auch hinreichend Komplexit?t und + Feinheiten mit sich bringen, so dass sie ein eigenes Kapitel in diesem Buch verdient haben. Hier werden wir Ihnen sowohl die - dahinter stehenden allgemeinen Konzepte vorstellen, als auch den - irgendwie einzigartigen Ansatz von Subversion hierzu. Falls Sie sich - noch nicht mit den grundlegenden Konzepten von Subversions vertraut - gemacht haben sollten (zu finden in ), - m?chten wir Ihnen dazu raten, bevor Sie dieses Kapitel - lesen. + dahinter stehenden allgemeinen Konzepte vorstellen als auch den, + gewisserma?en einzigartigen, Ansatz von Subversion hierzu. Sollten + Sie sich noch nicht mit den grundlegenden Konzepten von + Subversions vertraut gemacht haben (zu finden in + ), m?chten wir Ihnen vor dem Lesen + dieses Kapitel dazu raten. @@ -148,15 +148,15 @@ mix and match different lines of development in your daily work. --> - Subversion verf?gt ?ber Befehle, die Ihnen helfen, parallele - Zweige Ihrer Dateien und Verzeichnisse zu verwalten. Es erlaubt - Ihnen, durch das Kopieren Ihrer Daten, Zweige zu erstellen und - merkt sich, dass die Zweige untereinander in Beziehung - stehen. Es hilft Ihnen auch, ?nderungen von einem Zweig auf den - anderen zu duplizieren. Schlie?lich erm?glicht es, dass Teile - Ihrer Arbeitskopie verschiedene Zweige repr?sentieren k?nnen, - was Ihnen w?hrend Ihrer t?glichen Arbeit erlaubt, verschiedene - Entwicklungslinien zu mischen und + Subversion verf?gt ?ber Befehle, die Ihnen dabei helfen, + parallele Zweige Ihrer Dateien und Verzeichnisse zu verwalten. + Es erlaubt Ihnen, durch Kopieren Ihrer Daten Zweige zu + erstellen und merkt sich, dass die Zweige untereinander in + Beziehung stehen. Es hilft Ihnen auch dabei, ?nderungen von einem + Zweig auf einen anderen zu duplizieren. Schlie?lich erm?glicht es, + dass Teile Ihrer Arbeitskopie verschiedene Zweige repr?sentieren + k?nnen, was Ihnen bei Ihrer t?glichen Arbeit erlaubt, + verschiedene Entwicklungslinien zu mischen und gegen?berzustellen. @@ -176,10 +176,10 @@ in the repository. If you don't, go back and read about revisions in . --> - An dieser Stelle sollten Sie verstehen, wie jede ?bergabe an - das Projektarchiv dort einen neuen Zustand des Dateibaums - (genannt Revision) erzeugt. Wenn nicht, bl?ttern - Sie zur?ck und lesen Sie in + An dieser Stelle sollten Sie ein Verst?ndnis haben, wie jede + ?bergabe an das Projektarchiv dort einen neuen Zustand des + Dateibaums (genannt Revision) erzeugt. Wenn + nicht, bl?ttern Sie zur?ck und lesen Sie in ?ber Revisionen nach. @@ -222,9 +222,9 @@ main line of development is going to take place. --> - Wie bereits vorher sei hier angenommen, dass sowohl Sally - als auch Sie Arbeitskopien des Projektes calc - besitzen. Ausdr?cklich hat jeder von Ihnen eine Arbeitskopie von + Wie vorher sei hier angenommen, dass sowohl Sally als auch + Sie Arbeitskopien des Projektes calc besitzen. + Genauer gesagt, hat jeder von Ihnen eine Arbeitskopie von /calc/trunk. Alle Dateien des Projektes befinden sich in diesem Unterverzeichnis statt in /calc selber, da Ihr Team entschieden hat, @@ -242,14 +242,14 @@ start committing your changes bit by bit, you'll surely break things for Sally (and other team members as well). --> - Sagen wir mal, dass Sie die Aufgabe bekommen haben, ein - gro?es St?ck Software umzusetzen. Die Erstellung ben?tigt eine - lange Zeit und ber?hrt alle Dateien im Projekt. Das Problem, + Nehmen wir an, Sie haben die Aufgabe bekommen, einen gro?en + Teil einer Software umzusetzen. Die Erstellung ben?tigt einen + langen Zeitraum und ber?hrt alle Dateien im Projekt. Das Problem, dass sofort auftaucht ist, dass Sie Sally nicht in die Quere kommen m?chten, die gerade hier und da kleinere Fehler - beseitigt. Sie ist davon abh?ngig, dass die letzte Version des - Projektes (in /calc/trunk) stets benutzbar - ist. Wenn Sie nun damit beginnen, St?ck f?r St?ck Ihre + beseitigt. Sallys Arbeit h?ngt davon ab, dass die letzte Version + des Projektes (in /calc/trunk) stets + benutzbar ist. Wenn Sie nun damit beginnen, St?ck f?r St?ck Ihre ?nderungen zu ?bergeben, werden Sie die Dinge f?r Sally (und auch f?r andere Teammitglieder) bestimmt in Unordnung bringen. @@ -278,7 +278,7 @@ copy when you eventually run svn update after weeks of isolation. --> - Eine Strategie ist, sich in ein Loch zu verkriechen: Sie + Eine Strategie w?re es, sich in ein Loch zu verkriechen: Sie k?nnen f?r eine Woche oder zwei den Informationsaustausch einstellen, und die Dateien Ihrer Arbeitskopie ausr?umen und umorganisieren, ohne ?nderungen zu ?bergeben oder die @@ -297,14 +297,14 @@ niemand Ihre unmittelbaren ?nderungen sieht, haben Sie keine m?glichen R?ckmeldungen und es k?nnte sein, dass Sie f?r Wochen einen falschen Weg einschlagen, bevor es jemand aus Ihrem Team - bemerkt. Schlie?lich k?nnte es am Ende sehr schwierig sein, Ihr - Arbeitsergebnis wieder mit dem Hauptteil der Quelltexte Ihrer - Firma zusammenzuf?hren, wenn Sie mit Ihren ?nderungen fertig - sind. Sally (und andere) h?tten viele andere ?nderungen ins - Projektarchiv ?bergeben haben k?nnen, die sich schwer in Ihre - Arbeitskopie einarbeiten lassen, wenn Sie schlie?lich nach - Wochen der Isolierung svn update - ausf?hren. + bemerkt. Schlie?lich k?nnte es am Ende, wenn Sie mit Ihren + ?nderungen fertig sind, sehr schwierig sein, Ihr Arbeitsergebnis + wieder mit dem Hauptteil der Quelltexte Ihrer Firma + zusammenzuf?hren. Sally (und andere) h?tten viele andere + ?nderungen ins Projektarchiv ?bergeben haben k?nnen, die sich + schwer in Ihre Arbeitskopie einarbeiten lassen, wenn Sie + schlie?lich nach Wochen der Isolierung svn + update ausf?hren. - Nehmen wir an, dass Ihr Team (wie die meisten) die - Konvention vereinbart hat, Zweige im Verzeichnis - branches zu erzeugen, das ein - Geschwister-Verzeichnis des Projekt-Stamms ist (in unserem + Nehmen wir an, dass Ihr Team (wie die meisten) vereinbart + hat, Zweige im Verzeichnis branches zu + erzeugen, das ein Geschwister-Verzeichnis des Projekt-Stamms + (Trunk) ist (in unserem Szenario das Verzeichnis /calc/branches). Aus Mangel an Phantasie w?hlen Sie als Namen f?r Ihren Zweig my-calc-branch. Das hei?t, sie legen ein @@ -464,8 +465,8 @@ erzeugt wird. Das neue Verzeichnis ist eine Kopie von /calc/trunk. Dies wird in gezeigt. - Subversion unterst?tzt nicht das Kopieren - zwischen verschiedenen Projektarchiven. Wenn Sie mit + Subversion unterst?tzt nicht das Kopieren + zwischen unterschiedlichen Projektarchiven. Wenn Sie mit svn copy oder svn move URLs verwenden, k?nnen Sie nur Objekte innerhalb desselben Projektarchivs kopieren oder verschieben. @@ -524,13 +525,12 @@ einen neuen Verzeichniseintrag, der auf einen bestehenden Baum verweist. Falls Sie ein erfahrener Unix-Benutzer sind, werden Sie erkennen, dass - es sich um dasselbe Konzept handelt wie bei einem - Hardlink. W?hrend weitere ?nderungen an den Dateien und - Verzeichnissen unterhalb des kopierten Verzeichnisses - gemacht werden, f?hrt Subversion fort, dieses Konzept - anzuwenden wo es geht. Es dupliziert Daten nur dann, wenn es - notwendig wird, verschiedene Versionen von Objekten - auseinanderzuhalten. + es sich um dasselbe Konzept handelt wie bei einem Hardlink. + W?hrend weitere ?nderungen an den Dateien und Verzeichnissen + unterhalb des kopierten Verzeichnisses gemacht werden, h?lt + Subversion an diesem Konzept fest wo es geht. Es dupliziert + Daten nur dann, wenn es n?tig ist, verschiedene Versionen + von Objekten auseinanderzuhalten. - Deshalb h?ren Sie Subversion-Benutzer oft von - billigen Kopien sprechen. Es spielt keine - Rolle, wie umfangreich das Verzeichnis ist – es bedarf - lediglich eines kleinen, konstanten Zeitaufwands und - Speicherplatzes, um eine Kopie davon zu erstellen. Diese - F?higkeit ist tats?chlich die Grundlage f?r die Umsetzung - von ?bergaben in Subversion: Jede Revision ist eine - billige Kopie der vorhergehenden Revision mit - ein paar Dingen, die sich im Innern ge?ndert haben. (Um mehr - hier?ber zu lesen, gehen Sie auf die Website von Subversion - und lesen Sie in den Subversion-Design-Dokumenten ?ber die + Deshalb sprechen Subversion-Benutzer oft von + billigen Kopien. Es spielt keine Rolle, wie + umfangreich das Verzeichnis ist: es bedarf lediglich eines + kleinen, konstanten Zeitaufwands und wenig Speicherplatzes, + um eine Kopie zu erstellen. Diese F?higkeit ist tats?chlich + die Grundlage f?r die Umsetzung von ?bergaben in Subversion: + Jede Revision ist eine billige Kopie der + vorhergehenden Revision mit ein paar Dingen, die sich im + Innern ge?ndert haben. (Um mehr hier?ber zu lesen, gehen Sie + auf die Website von Subversion und lesen Sie in den + Subversion-Design-Dokumenten ?ber die bubble-up-Methode.) - Nun finden zwei unabh?ngige Entwicklungslinien (siehe - ) auf - integer.c statt. + Nun hat integer.c zwei unabh?ngige + Entwicklungslinien (siehe + ).
    - Verfolgung von Zusammenf?hrungen @@ -1135,19 +1133,18 @@ Merge-Tracking Subversion 1.5 f?hrte die Funktionalit?t der Verfolgung von Zusammenf?hrungen - (merge tracking) in - Subversion ein. Vor dieser Funktionalit?t erforderte das Verfolgen - von Zusammenf?hrungen unhandliche manuelle Eingriffe oder die - Verwendung externer Werkzeuge. Nachfolgende Ausgaben von Subversion - f?hrten viele Verbesserungen und Fehlerbehebungen f?r das - Merge-Tracking ein, weshalb wir empfehlen, die neuesten - Versionen sowohl auf Ihrem Server als auch auf dem Client - einzusetzen. Vergessen Sie nicht, dass Sie immer noch einen - 1.8 Client verwenden k?nnen, auch wenn auf Ihrem Server - 1.5-1.7 laufen. Das ist besonders wichtig hinsichtlich des - Merge-Trackings, da die ?berw?ltigende Mehrheit der - Fehlerbehebungen und Verbesserungen auf der Client-Seite statt - gefunden hat. + (merge tracking) in Subversion + ein. Davor erforderte das Verfolgen von Zusammenf?hrungen + unhandliche manuelle Eingriffe oder die Verwendung externer + Werkzeuge. Nachfolgende Ausgaben von Subversion f?hrten viele + Verbesserungen und Fehlerbehebungen f?r das Merge-Tracking + ein, weshalb wir empfehlen, die neuesten Versionen sowohl auf + Ihrem Server als auch auf dem Client einzusetzen. Vergessen + Sie nicht, dass Sie immer noch einen 1.8 Client verwenden + k?nnen, auch wenn auf Ihrem Server 1.5-1.7 laufen. Das ist + besonders wichtig hinsichtlich des Merge-Trackings, da die + ?berw?ltigende Mehrheit der Fehlerbehebungen und + Verbesserungen auf der Client-Seite statt gefunden hat. @@ -1172,7 +1169,7 @@ Changesets - i + ?nderungsmengen Changesets @@ -1235,11 +1232,11 @@ In Subversion bezeichnet eine globale Revisionsnummer N einen Baum im Projektarchiv: Sie beschreibt das Aussehen des Projektarchivs nach der - N-ten ?bergabe. Sie ist auch der + N-ten ?bertragung. Sie ist auch der Name einer impliziten ?nderungsmenge: Wenn Sie den Baum N mit dem Baum N-1 vergleichen, k?nnen Sie genau - den Patch ableiten, der ?bergeben wurde. Daher ist es einfach, + den Patch ableiten, der ?bertragen wurde. Daher ist es einfach, sich Revision N nicht nur als Baum sondern auch als ?nderungsmenge vorzustellen. Falls Sie ein Fehlerverwaltungssystem verwenden, k?nnen Sie die @@ -1249,14 +1246,14 @@ kann jemand svn log -r 9238 aufrufen, um den Protokolleintrag zu genau der ?nderungsmenge zu lesen, die den Fehler behoben hat, und sich mit svn diff - -c 9238 den eigentlichen Patch ansehen. Und - auch (wie Sie bald sehen werden) der Subversion Befehl - svn merge kann Revisionsnummern verwenden. - Sie k?nnen bestimmte ?nderungsmengen von einem Zweig mit einem - anderen zusammenf?hren, indem sie in den Argumenten zum - entsprechenden Kommando benannt werden: Die ?bergabe von - -c 9238 an svn merge - w?rde das ?nderungsmenge r9238 mit Ihrer Arbeitskopie + -c 9238 den eigentlichen Patch ansehen. Und (wie + Sie bald sehen werden) auch der Subversion Befehl svn + merge kann Revisionsnummern verwenden. Sie k?nnen + bestimmte ?nderungsmengen von einem Zweig mit einem anderen + zusammenf?hren, indem sie in den Argumenten zum entsprechenden + Kommando benannt werden: Die ?bergabe von -c + 9238 an svn merge w?rde das + ?nderungsmenge r9238 mit Ihrer Arbeitskopie zusammenf?hren. @@ -1309,20 +1306,20 @@ svn Unterbefehle merge - Machen wir mit unserem Beispiel weiter und nehmen an, dass - eine Woche vergangen ist seitdem Sie begonnen haben, auf - Ihrem privaten Zweig zu arbeiten. Ihre Arbeit ist noch nicht - beendet, jedoch wissen Sie, dass gleichzeitig andere Leute in - Ihrem Team weiterhin wichtige ?nderungen im - /trunk des Projektes machen. Es - ist in Ihrem Interesse, diese ?nderungen in Ihren Zweig zu + Machen wir mit unserem Beispiel weiter und nehmen + an, dass eine Woche vergangen ist seitdem Sie mit der Arbeit + auf Ihrem privaten Zweig begonnen haben. Ihre Arbeit ist noch + nicht beendet, jedoch wissen Sie, dass gleichzeitig andere + Leute in Ihrem Team weiterhin wichtige ?nderungen in + /trunk des Projektes machen. Es ist in + Ihrem Interesse, diese ?nderungen in Ihren Zweig zu ?bernehmen, um sicherzustellen, dass sie sich gut mit Ihren - ?nderungen vertragen. Das wird durch eine - Synchronisierungs-Merge - erreicht – ein Merge zu - dem Zweck, Ihren Zweig mit ?nderungen zu aktualisieren, die - seit der Erstellung Ihres Zweigs auf dem Ursprungszweig - vorgenommen wurden. + ?nderungen vertragen. Das wird durch einen + Synchronisierungs-Merge erreicht + – ein Merge zu dem Zweck, + Ihren Zweig mit ?nderungen zu aktualisieren, die seit der + Erstellung Ihres Zweigs auf dem Ursprungszweig vorgenommen + wurden. Merging automatisch @@ -1332,7 +1329,7 @@ Merge-Quelle und ein Arbeitskopie-Ziel) und Subversion entscheiden lassen, welche ?nderungen zusammengef?hrt werden m?ssen – bei einem automatischen Merge werden keine - ?nderungsmengen mit oder + ?nderungsmengen mit oder an svn merge ?bergeben. Wenn Sie soweit sind, Ihren Zweig mit den fortlaufenden ?nderungen vom Stamm zu synchronisieren, geben Sie die - Start-Revision al die Revision von + Start-Revision als die Revision von /calc/trunk an, von wo aus Sie den Zweig kopiert haben, und als End-Revision die letzte ?nderung auf /calc/trunk. Letztere @@ -1565,7 +1562,7 @@ merge: --> Nach dem Aufl?sen etwaiger Konflikte k?nnen Sie die - zusammengef?hrten ?nderungen auf Ihrem Zweig ?bergeben. Um + zusammengef?hrten ?nderungen auf Ihren Zweig ?bertragen. Um nun zu vermeiden, dass diese ?nderungen k?nftig erneut mit Ihrem Zweig zusammengef?hrt werden, m?ssen Sie den bereits erfolgten Merge vermerken. Aber wo? Einer der @@ -1730,7 +1727,7 @@ . -R wieder r?ckg?ngig machen und eine lange was geht hier eigentlich vor-Unterredung mit Ihren Mitarbeitern f?hren. Falls jedoch alles gut aussieht, - k?nnen Sie die ?nderungen an das Projektarchiv ?bergeben: + k?nnen Sie die ?nderungen zum Projektarchiv ?bertragen: @@ -1875,7 +1872,7 @@ again! --> Nehmen wir an, noch eine Woche sei ins Land gegangen. Sie - haben weitere ?nderungen an Ihren Zweig ?bergeben, und Ihre + haben weitere ?nderungen an Ihren Zweig ?bertragen, und Ihre Kollegen haben damit weitergemacht, den Stamm zu verbessern. Nun m?chten Sie mal wieder die letzten ?nderungen vom Stamm mit Ihrem Zweig abgleichen, damit Sie wieder @@ -1926,11 +1923,11 @@ in Arbeitskopien mit gemischten Revisionen. Ohne auf Einzelheiten einzugehen, liegt das an Einschr?nkungen der Art und Weise, wie Merges durch die Eigenschaft - svn:mergeinfo verfolgt werden (siehe - zu - Details). Diese Einschr?nkungen bedeuten, dass Merges in - Arbeitskopien aus gemischten Revisionen unerwartete Text- und - Baumkonflikte hervorrufen k?nnen.Die Option + svn:mergeinfo verfolgt werden (f?r Details, + siehe ). + Diese Einschr?nkungen bedeuten, dass Merges in Arbeitskopien + aus gemischten Revisionen unerwartete Text- und Baumkonflikte + hervorrufen k?nnen.Die Option des Unterbefehls svn merge erlaubt Ihnen, diese Einschr?nkung zu umgehen, jedoch sollten Sie das nur dann @@ -1972,7 +1969,7 @@ ?nderungen ber?cksichtigt, die Sie noch nicht haben. Einmal mehr m?ssen Sie bauen, testen und die lokalen ?nderungen an Ihren Zweig mit svn commit - ?bergeben. + ?bertragen. Der grunds?tzliche Mechanismus, den Subversion verwendet, - um ?nderungsmengen zu verfolgen – d.h. welche ?nderungen - auf welchen Zweig ?bertragen worden sind – besteht aus - der Datenspeicherung in versionierten Eigenschaften. - Namentlich werden Daten die das Zusammenf?hren betreffen in - der Eigenschaft svn:mergeinfo festgehalten, - die mit Dateien und Verzeichnissen verkn?pft ist. (Falls Sie - mit Subversion-Eigenschaften nicht vertraut sind, siehe .) + um ?nderungsmengen zu verfolgen – d.h., welche + ?nderungen auf welchen Zweig ?bertragen worden sind – + besteht aus der Datenspeicherung in versionierten + Eigenschaften. Namentlich werden Daten die das Zusammenf?hren + betreffen in der Eigenschaft svn:mergeinfo + festgehalten, die mit Dateien und Verzeichnissen verkn?pft + ist. (Falls Sie mit Subversion-Eigenschaften nicht vertraut + sind, siehe .) - Sie k?nnen sich die mergeinfo-Eigenschaft ansehen, wie jede andere - versionierte Eigenschaft: + Sie k?nnen sich die mergeinfo-Eigenschaft ansehen, wie + jede andere versionierte Eigenschaft: @@ -2749,7 +2747,7 @@ /calc/branches/my-calc-branch: --> Subversion stellt auch den Unterbefehl svn - mergeinfo zur Verf?gung, der dabei hilfreich ist, + mergeinfo zur Verf?gung, der dabei hilfreich ist, die Zusammenf?hrungen zwischen zwei Zweigen zu zeigen; insbesondere welche ?nderungsmengen in ein Verzeichnis eingeflossen sind oder welche noch f?r einen Abgleich bereit @@ -2882,10 +2880,10 @@ zusammengef?hrt haben, repr?sentieren nur die mit der Option aufgelisteten Revisionen tats?chliche ?nderungen auf - /calc/trunk. Diese Revisions werden + /calc/trunk. Diese Revisionen werden als operative Revisionen hinsichtlich der Zusammenf?hrung bezeichnet und sind nicht zu verwechseln mit - den operativen Revision, die mit der Option + den operativen Revisionen, die mit der Option verwendet werden, siehe . Wie zu erwarten, werden die Revisionen aus dem Bereich r341-378, die From pavel.lyalyakin at visualsvn.com Wed Feb 18 10:48:06 2015 From: pavel.lyalyakin at visualsvn.com (Pavel Lyalyakin) Date: Wed, 18 Feb 2015 19:48:06 +0300 Subject: [PATCH] SVNBook 1.8: add `svnadmin lock` and `svnadmin unlock` commands to `svnadmin` reference Message-ID: Hello, I'm looking through the current state of SVNBook 1.8 and through Subversion 1.8 Release Notes and see that a lot of minor features and improvements are not mentioned in the book. I would like to participate in updating the book to cover Subversion 1.8 so let me start with a small patch that specifies new `svnadmin lock` and `svnadmin unlock` sub-commands. Log message: [[ Add `svnadmin lock` and `svnadmin unlock` commands introduced in Subversion 1.8 to `svnadmin` reference. * http://subversion.apache.org/docs/release-notes/1.8.html#svnadmin-lock * `svnadmin lock`: http://subversion.tigris.org/issues/show_bug.cgi?id=3942 * `svnadmin unlock`: http://subversion.tigris.org/issues/show_bug.cgi?id=4092 Patch by: pavel.lyalyakin{_AT_}visualsvn.com ]] -- With best regards, Pavel Lyalyakin VisualSVN Team -------------- next part -------------- A non-text attachment was scrubbed... Name: lock-unlock-ref-svnadmin.xml.patch Type: application/octet-stream Size: 3715 bytes Desc: not available URL: From svnbook at googlecode.com Thu Feb 19 00:49:01 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 19 Feb 2015 06:49:01 +0000 Subject: [svnbook] r4993 committed - [de] Stylistic changes:... Message-ID: <001a11c1dfaec52ef3050f6b546f@google.com> Revision: 4993 Author: jmfelderhoff at gmx.eu Date: Thu Feb 19 06:48:43 2015 UTC Log: [de] Stylistic changes: * Grundlegendes Zusammenf?hren ** Undoing Changes ** Zur?ckholen gel?schter Objekte * Fortgeschrittenes Zusammenf?hren ** Rosinenpicken https://code.google.com/p/svnbook/source/detail?r=4993 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 18 14:02:04 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 19 06:48:43 2015 UTC @@ -3310,16 +3310,16 @@ Projektarchiv ?bergeben worden war. Nehmen wir einmal an, Sie arbeiten fr?hlich in einer Arbeitskopie von /calc/trunk und entdecken, dass die - damalige ?nderungen an verschiedenen Quelltext-Dateien in + damaligen ?nderungen an verschiedenen Quelltext-Dateien in Revision 392 v?llig falsch waren. Sie h?tten nie ?bergeben werden sollen. Sie k?nnen svn merge verwenden, um die ?nderung in Ihrer Arbeitskopie zur?ckzunehmen, und dann die lokale ?nderung an - das Projektarchiv ?bergeben. Alles, was Sie hierf?r tun - m?ssen, ist, eine umgekehrte Differenz - anzugeben. (Sie machen das durch die Angabe von - oder durch das ?quivalente - .) + das Projektarchiv ?bergeben. Sie m?ssen hierf?r nur eine + umgekehrte Differenz angeben. (Sie machen + das durch die Angabe von + oder durch das ?quivalente .) + @@ -3454,7 +3454,7 @@ ausreichend. Die meisten Leute sind sowieso nur am HEAD eines Projektes interessiert. Es gibt jedoch Spezialf?lle, in denen Sie wirklich alle Beweise der - ?bergabe vernichten m?chten. (Vielleicht hat jemand ein + ?bergabe vernichten m?chten. (Vielleicht hat jemand ein vertrauliches Dokument in das Projektarchiv ?bergeben.) Das ist leider nicht so einfach, da Subversion absichtlich so konstruiert wurde, dass es niemals Informationen @@ -3762,11 +3762,10 @@ --> Obwohl unser Beispiel zeigt, wie eine Datei zur?ckgeholt wird, sollten sie beachten, dass dieselben Techniken auch beim - Wiederherstellen von gel?schten Verzeichnissen - funktionieren. Beachten Sie auch, dass die Wiederherstellung - nicht unbedingt in Ihrer Arbeitskopie passieren muss – - sie kann auch vollst?ndig im Projektarchiv ausgef?hrt - werden: + Wiederherstellen von gel?schten Verzeichnissen funktionieren. + Beachten Sie auch, dass die Wiederherstellung nicht unbedingt + in Ihrer Arbeitskopie passieren muss – sie kann auch + vollst?ndig im Projektarchiv ausgef?hrt werden: @@ -3809,15 +3808,15 @@ syntax of the command and discusses a number of common scenarios that require it. --> - Hier endet die automatische Magie. Fr?her oder sp?ter, - sobald Sie den Dreh beim Verzweigen und Zusammenf?hren heraus - haben, werden Sie Subversion fragen m?ssen, + Hier endet die automatische Magie. sobald Sie fr?her oder + sp?ter den Dreh beim Verzweigen und Zusammenf?hren heraus haben, + werden Sie Subversion fragen m?ssen, bestimmte ?nderungen von einem Ort zum anderen zusammenzuf?hren. Um dies tun zu k?nnen, werden Sie damit beginnen m?ssen, kompliziertere Argumente an svn merge zu ?bergeben. Der n?chste Abschnitt beschreibt die vollst?ndig erweiterte Syntax des Befehls und behandelt eine - Anzahl verbreiteter Szenarien, die diese ben?tigen. + Anzahl verbreiteter Szenarien, die diese erforderlich macht. @@ -3847,18 +3846,18 @@ Merging Rosinenpicken - Genauso oft wie der Begriff ?nderungsmenge - wird die Wendung die Rosinen - herauspicken in Versions-Kontroll-Systemen - verwendet. Das bezieht sich darauf, eine - bestimmte ?nderungsmenge von einem Zweig auszuw?hlen und sie - auf einen anderen anzuwenden. Die Rosinen herauszupicken kann - sich auch darauf beziehen, eine bestimmte Menge von (nicht - notwendigerweise angrenzenden) ?nderungsmengen von einem auf - einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu - den ?blicheren Merge-Szenarien, bei denen der - n?chste zusammenh?ngende Bereich von Revisionen - automatisch dupliziert wird. + Genauso oft wie der Begriff ?nderungsmenge + wird der Ausdruck Rosinenpicken in + Versions-Kontroll-Systemen verwendet. Das bezieht sich darauf, + eine bestimmte ?nderungsmenge von einem + Zweig auszuw?hlen und sie auf einen anderen anzuwenden. + Rosinenpicken kann sich auch darauf beziehen, eine bestimmte + Menge von (nicht notwendigerweise angrenzenden) + ?nderungsmengen von einem auf einen anderen Zweig zu + duplizieren. Dieses Vorgehen steht im Gegensatz zu den ?blicheren + Merge-Szenarien, bei denen der n?chste + zusammenh?ngende Bereich von Revisionen automatisch dupliziert + wird. In der Kaffeek?che bekommen Sie mit, dass Sally eine - interessante ?nderung an main.c auf dem - Stamm gemacht hat. Als Sie sich die Geschichte der ?bergaben - auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 - einen kritischen Fehler beseitigt hat, der direkte - Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. - Es kann sein, dass Sie noch nicht bereit sind, alle ?nderungen - vom Stamm zu ?bernehmen, jedoch ben?tigen Sie diese bestimmte - Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu + interessante ?nderung an main.c auf + Trunk gemacht hat. Als Sie sich die Geschichte der + ?bertragungen auf Trunk ansehen, entdecken Sie, dass sie in + Revision 413 einen kritischen Fehler beseitigt hat, der + direkte Auswirkungen auf die Funktion hat, an der Sie gerade + arbeiten. Es kann sein, dass Sie noch nicht bereit sind, alle + ?nderungen vom Stamm zu ?bernehmen, jedoch ben?tigen Sie diese + bestimmte Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu k?nnen. Sie k?nnen nun Ihre ?blichen Tests durchf?hren, bevor Sie - diese ?nderung an den Zweig ?bergeben. Nach der ?bergabe + diese ?nderung an den Zweig ?bertragen. Nach der ?bertragung bringt Subversion das svn:mergeinfo ihres Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit dem Zweig zusammengef?hrt wurde. Das verhindert, dass k?nftige @@ -4009,7 +4008,7 @@ das Mergeinfo /calc/branches/my-calc-branch:341-379, Das wurde bei unserem in r380 gemachten Reintegrations-Merge nach - /calc/trunk vom Zweig + /calc/trunk vom Zweig /calc/branches/my-calc-branch aufgezeichnet. Als wir den Zweig my-calc-branch in r403 erstellt haben, wurde diese Mergeinfo mit der Kopie @@ -4063,14 +4062,14 @@ revision. Because we already cherrypicked r413, that change is skipped: --> - Das oben stehende bedeutet, wenn schlie?lich die Zeit f?r - einen automatischen Synchronisierungs-Merge gekommen ist, dass - Subversion den Merge in zwei Teile aufspaltet. Zun?chst werden - alle in Frage kommenden Merges bis Revision 412 ausgef?hrt. - Dann werden alle in Frage kommenden Revisionen von Revision - 412 bis zur Revision HEAD ausgef?hrt. Da - wir uns bereits r413 herausgepickt haben, wird diese ?nderung - ?bersprungen change is skipped: + Das oben stehende bedeutet, dass Subversion den Merge in + zwei Teile aufspaltet, wenn schlie?lich die Zeit f?r einen + automatischen Synchronisierungs-Merge gekommen ist. Zun?chst + werden alle in Frage kommenden Merges bis Revision 412 + ausgef?hrt. Dann werden alle in Frage kommenden Revisionen + von Revision 412 bis zur Revision HEAD + zusammengef?hrt. Da wir uns bereits r413 herausgepickt haben, + wird diese ?nderung ?bersprungen: @@ -4098,30 +4097,26 @@ - - - Merging - nachziehen - Dieser Anwendungsfall des Abgleichens (oder + Merging + nachziehen Dieser + Anwendungsfall des Abgleichens (oder Nachziehens) von Fehlerbehebungen von einem Zweig zu einem anderen ist vielleicht der g?ngigste Grund - f?r ?nderungen, die Rosinen herauszupicken; es kommt st?ndig + des Rosinenpickens bei ?nderungen; es kommt st?ndig vor, beispielsweise, wenn ein Team einen Software-Release-Zweig verwendet. (Wir - er?rtern dieses Muster in .) + er?rtern dieses Muster in + .) + - Die Rosinen herauspicken + Rosinenpicken - Merge-Syntax: Die vollst?ndige Enth?llung + Merge-Syntax: Die vollst?ndige Offenlegung Sie haben nun einige Beispiele zum Befehl svn merge gesehen und werden bald einige mehr sehen. - Falls Sie verwirrt dar?ber sind, wie das Zusammenf?hren genau - funktioniert, sind Sie nicht alleine. Viele Anwender - (besonders diejenigen, f?r die Versionskontrolle etwas Neues - ist) sind anfangs verwirrt dar?ber, wie die korrekte Syntax - des Befehls lautet und wann das Feature verwendet werden soll. - Aber, keine Angst, dieser Befehl ist tats?chlich viel - einfacher als Sie denken! Es gibt eine einfache Technik, die - verstehen hilft, wie sich svn merge genau - verh?lt. + Falls Sie verwirrt sind, wie das Zusammenf?hren genau + funktioniert, sind Sie nicht allein. Viele Anwender (besonders + diejenigen, f?r die Versionskontrolle etwas Neues ist) sind + anfangs verwirrt mit der korrekten Syntax des Befehls und wann + das Feature verwendet werden soll. Aber, keine Angst, dieser + Befehl ist tats?chlich viel einfacher als Sie denken! Es gibt + eine einfache Technik, zum genauen Verstehen des Verhaltens + von svn merge. Die Hauptquelle der Verwirrung ist der - Name des Befehls. Der Begriff + Name des Befehls. Der Begriff merge (Zusammenf?hrung, Mischung) deutet irgendwie an, dass Zweige miteinander verschmolzen werden, oder dass irgendeine geheimnisvolle Mischung der Daten erfolgt. Das ist nicht der Fall. Ein besserer Name f?r den Befehl w?re vielleicht svn - ermittele-die-Unterschiede-und-wende-sie-an + ermittele-die-Unterschiede-und-wende-sie-an gewesen, da das alles ist, was passiert: Die B?ume im Projektarchiv werden verglichen und die Unterschiede in eine Arbeitskopie eingearbeitet. @@ -4280,7 +4279,7 @@ --> Falls Sie svn merge benutzen, um einfache Kopien von ?nderungen zwischen Zweigen vorzunehmen, - wird ein automatische Merge ?blicherweise das Richtige machen. + wird ein automatischer Merge ?blicherweise das Richtige machen. Beispielsweise wird ein Befehl wie der folgende: @@ -4301,14 +4300,13 @@ --> versuchen, alle ?nderungen, die auf some-branch gemacht worden sind, in Ihr - aktuelles Arbeitsverzeichnis zu kopieren, welches vermutlich - eine Arbeitskopie ist, die mit dem Zweig irgendeine - historische Verbindung teilt. Der Befehl ist klug genug, nur - die ?nderungen zu kopieren, die Ihre Arbeitskopie noch nicht - hat. Wenn Sie diesen Befehl einmal die Woche wiederholen, wird - er nur die neuesten ?nderungen vom Zweig - kopieren, die seit Ihrem letzten Zusammenf?hren - stattfanden. + aktuelles Arbeitsverzeichnis zu kopieren, das vermutlich eine + irgendeine mit dem Zweig historisch verbindene Arbeitskopie + ist. Der Befehl ist intelligent genug, nur die ?nderungen zu + kopieren, die noch nicht in Ihrer Arbeitskopie sind. Wenn Sie + diesen Befehl einmal pro Woche wiederholen, wird er nur die + neuesten ?nderungen vom Zweig kopieren, die + seit Ihrem letzten Merge stattfanden. Wenn Sie den Befehl svn merge in seiner ganzen Pracht w?hlen, indem Sie ihm bestimmte - Revisionsintervalle zum kopieren ?bergeben, ben?tigt der + Revisionsintervalle zum Kopieren ?bergeben, ben?tigt der Befehl drei Hauptargumente: @@ -4352,7 +4350,7 @@ An initial repository tree (often called the left side of the comparison) --> - Einen Anfangsbaum im Projektarchiv (h?ufig + Einen Startbaum im Projektarchiv (h?ufig linke Seite des Vergleichs genannt) @@ -4391,13 +4389,13 @@ --> Sobald diese drei Argumente angegeben sind, werden die zwei B?ume miteinander verglichen und die Unterschiede als - lokale ?nderungen auf die Ziel-Arbeitskopie angewendet. Wenn - der Befehl fertig ist, sieht das Ergebnis so aus, als h?tten + lokale ?nderungen auf das Ziel angewendet. ist der Befehl + abgeschlodssen, sieht das Ergebnis so aus, als h?tten Sie die Dateien manuell editiert oder verschiedene svn add- oder svn delete-Befehle ausgef?hrt. Wenn Ihnen das Ergebnis - gef?llt, k?nnen Sie es ?bergeben. Falls nicht, k?nnen Sie - einfach mit svn revert alle ?nderungen + gef?llt, k?nnen Sie es ?bertragen. Falls nicht, k?nnen Sie + einfach alle ?nderungen mit svn revert r?ckg?ngig machen. Obwohl das erste Beispiel die vollst?ndige Syntax von svn merge zeigt, verwenden Sie - sie sehr sorgf?ltig; es k?nnen hierbei - Merges entstehen, bei denen keinerlei - svn:mergeinfo-Metadaten aufgezeichnet - werden. Der n?chste Abschnitt geht n?her darauf ein. + sie sehr sorgf?ltig; es k?nnen hierbei Merges entstehen, bei + denen keinerlei svn:mergeinfo-Metadaten + aufgezeichnet werden. Der n?chste Abschnitt geht n?her darauf + ein. @@ -4479,7 +4477,7 @@ --> Subversion versucht immer wenn es kann, Metadaten ?ber das Zusammenf?hren zu erzeugen, um sp?tere Aufrufe von - svn merge schlauer zu machen. Trotzdem + svn merge kl?ger zu machen. Trotzdem gibt es Situationen, in denen svn:mergeinfo-Daten nicht erzeugt oder ge?ndert werden. Denken Sie daran, vor diesen Szenarien auf @@ -4534,8 +4532,7 @@ historischen Metadaten ?ber die Zusammenf?hrung. Zum gegenw?rtigen Zeitpunkt hat Subversion keine M?glichkeit, unterschiedliche Projektarchiv-URLs - innerhalb der Eigenschaft - svn:mergeinfo zu + mit Eigenschaft svn:mergeinfo zu repr?sentieren. @@ -4558,8 +4555,8 @@ Wenn diese Option an svn merge ?bergeben wird, veranlasst das die Merge-Logik, ohne nachzudenken Unterschiede auf dieselbe Art zu erzeugen, - wie es svn diff macht, und ignoriert - dabei irgendwelche historischen Verbindungen. Wir werden + wie es svn diff macht und ignoriert + dabei irgendwelche historischen Verbindungen. Wir werden das sp?ter in diesem Kapitel in er?rtern. @@ -4739,7 +4736,7 @@ --> Implizite Mergeinfo taucht nicht wirklich in der Eigenschaft svn:mergeinfo auf, doch - Subversion handelt so, als tauchte sie dort auf. Das ist + Subversion handelt so, als tauchte sie dort auf. Das ist der Grund daf?r, dass nichts passiert, wenn Sie ^/branches/feature-branch auschecken und dann svn merge ^/trunk -c 58 in From svnbook at googlecode.com Mon Feb 23 12:08:48 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 18:08:48 +0000 Subject: [svnbook] r4996 committed - Add new (in SVN 1.8) `--search` and `--search-and` command-line... Message-ID: <20cf30363fc533912c050fc54b8e@google.com> Revision: 4996 Author: cmpilato at gmail.com Date: Mon Feb 23 18:08:27 2015 UTC Log: Add new (in SVN 1.8) `--search` and `--search-and` command-line options (can be used with `svn log`) to svn command-line reference: http://subversion.apache.org/docs/release-notes/1.8.html#svn-log-search Patch by: pavel.lyalyakin{_AT_}visualsvn.com (Tweaked by me.) https://code.google.com/p/svnbook/source/detail?r=4996 Modified: /trunk/en/book/ref-svn.xml ======================================= --- /trunk/en/book/ref-svn.xml Wed Feb 13 21:11:19 2013 UTC +++ /trunk/en/book/ref-svn.xml Mon Feb 23 18:08:27 2015 UTC @@ -847,11 +847,76 @@ + + ARG + + Filters log messages to show only those that match + the search pattern ARG. Log + messages are displayed only if the provided search + pattern matches any of the author, date, log message + text (unless is used), or, if + the option is also provided, + a changed path. If multiple + options are provided, a log message is shown if it + matches any of the provided search patterns. If + is used, it restricts the + number of log messages searched, rather than + restricting the output to a particular number of + matching log messages. + + The search pattern may include "glob syntax" + wildcards: + + + + + ? + + + Matches any single character. + + + + + * + + + Matches a sequence of arbitrary characters. + + + + + [ABC] + + + Matches any of the characters listed inside the + brackets. + + + + + + + + + ARG + + + The option's argument is combined with the pattern from + the previous + or option on the command + line. Log message is shown only if it matches the + combined search pattern. + + + + - ARG + + ARG - Sets the sticky depth on a directory in a working - copy to one of exclude, empty, + Sets the sticky depth on a directory in a working copy + to one of exclude, empty, files, immediates, or infinity. For detailed coverage of what these mean and how to use this option, see @@ -3429,6 +3494,8 @@ + + @@ -3728,6 +3795,106 @@ and (). + + Beginning with Subversion 1.8, users can filter svn log + output using and + options. When using these options, a log message is shown only if a + revision's author, date, log message text, or list of changed paths, + matches a search pattern. Searching by changed patch requies + option, otherwise svn log + does not show changed paths therefore they can't be filtered. + + + The search pattern may include "glob syntax" + wildcards: + + + + + ? + + + + Matches any single character. + + + + + + * + + + + Matches a sequence of arbitrary + characters. + + + + + + [ABC] + + + + Matches any of the characters listed inside the brackets. + + + + + + Using multiple parameters will show log messages + that match the pattern specified at least in one of the options. For example: + + + +$ svn log --search sally --search harry https://svn.red-bean.com/repos/test +------------------------------------------------------------------------ +r1701 | sally | 2011-10-12 22:35:30 -0600 (Wed, 12 Oct 2011) | 1 line + +Add a reminder. +------------------------------------------------------------------------ +r1564 | harry | 2011-10-09 22:35:30 -0600 (Sun, 09 Oct 2011) | 1 line + +Merge r1560 to the 1.0.x branch. +------------------------------------------------------------------------ +$ + + + + Using with options will show log messages + that match the combined pattern from both options. For example: + + + +$ svn log --verbose --search sally --search-and /foo/bar https://svn.red-bean.com/repos/test +------------------------------------------------------------------------ +r1555 | sally | 2011-07-15 22:33:14 -0600 (Fri, 15 Jul 2011) | 1 line +Changed paths: +M /foo/bar/src.c + +Typofix. +------------------------------------------------------------------------ +r1530 | sally | 2011-07-13 07:24:11 -0600 (Wed, 13 Jul 2011) | 1 line +Changed paths: +M /foo/bar +M /foo/build + +Fix up some svn:ignore properties. +------------------------------------------------------------------------ +$ + + + + + and + options does not actually perform a search. They just filter + the svn log output to display only log + messages that match the specified pattern. Therefore, if + is used, it restricts the number + of log messages searched, rather than restricting the + output to a particular number of matching log messages. + + From cmpilato at gmail.com Mon Feb 23 12:17:41 2015 From: cmpilato at gmail.com (C. Michael Pilato) Date: Mon, 23 Feb 2015 13:17:41 -0500 Subject: [PATCH] SVNBook 1.8: `svndumpfilter` now supports deltified dumps (dumps created with `--deltas` option) In-Reply-To: References: Message-ID: <54EB6EC5.6050906@gmail.com> On 02/19/2015 09:38 AM, Pavel Lyalyakin wrote: > Hello, > > `svndumpfilter` of SVN 1.7 or older does not work with deltified dump files. In > SVN 1.8, `svndumpfilter` can filter such dumps. This patch makes a note in > `svnadmin dump` command-line reference that SVN 1.8 and newer can filter > deltified dumps while older versions can't. > > Log message: > [[ > Made a note that `svndumpfilter` in SVN 1.8 can operate with deltified dumps > (`--deltas`) in `svnadmin dump` command-line reference. > > * http://subversion.apache.org/docs/release-notes/1.8.html#svndumpfilter-deltas > > Patch by: pavel.lyalyakin{_AT_}visualsvn.com > ]] Committed in r4998. I've had to modify each of your patches to avoid extra whitespace around tags. Our convention is to do: Some text. rather than: Some text. It's a minor thing, but the consistency is one fewer distraction for the OCD-ish among us. :-) Thanks for your patches! From svnbook at googlecode.com Mon Feb 23 12:22:51 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 18:22:51 +0000 Subject: [svnbook] r4999 committed - Reword the description of 'svnadmin lock'. Message-ID: <001a11c1dfae79486a050fc57dfc@google.com> Revision: 4999 Author: cmpilato at gmail.com Date: Mon Feb 23 18:22:28 2015 UTC Log: Reword the description of 'svnadmin lock'. https://code.google.com/p/svnbook/source/detail?r=4999 Modified: /trunk/en/book/ref-svnadmin.xml ======================================= --- /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:15:22 2015 UTC +++ /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:22:28 2015 UTC @@ -883,8 +883,10 @@ Description Lock PATH-IN-REPOS in the - repository (as USERNAME) taking - comments from FILE. If provided, + repository, assigning ownership of the lock + to USERNAME and using the contents + of FILE as comments associated with + the created lock. If provided, use TOKEN as lock token. From svnbook at googlecode.com Mon Feb 23 12:15:33 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 18:15:33 +0000 Subject: [svnbook] r4998 committed - Made a note that `svndumpfilter` in SVN 1.8 can operate with deltified... Message-ID: <001a113816485f9201050fc5630a@google.com> Revision: 4998 Author: cmpilato at gmail.com Date: Mon Feb 23 18:15:22 2015 UTC Log: Made a note that `svndumpfilter` in SVN 1.8 can operate with deltified dumps (`--deltas`) in `svnadmin dump` command-line reference. * http://subversion.apache.org/docs/release-notes/1.8.html#svndumpfilter-deltas Patch by: pavel.lyalyakin{_AT_}visualsvn.com (Tweaked by me.) https://code.google.com/p/svnbook/source/detail?r=4998 Modified: /trunk/en/book/ref-svnadmin.xml ======================================= --- /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:12:29 2015 UTC +++ /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:15:22 2015 UTC @@ -511,11 +511,20 @@ some cases, drastically) the size of the dump file that svnadmin dump creates. There are, however, disadvantages to using this option—deltified - dump files are more CPU-intensive to create, cannot be - operated on by svndumpfilter, and tend + dump files are more CPU-intensive to create and tend not to compress as well as their nondeltified counterparts when using third-party tools such as gzip and bzip2. + + + Beginning with Subversion 1.8, + svndumpfilter can operate on deltified + dump streams. Prior to this release, + svndumpfilter would not work with dump + streams created using + option. + + From svnbook at googlecode.com Mon Feb 23 12:12:40 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 18:12:40 +0000 Subject: [svnbook] r4997 committed - Add `svnadmin lock` and `svnadmin unlock` commands introduced in... Message-ID: <001a11c1dcdc08862e050fc559dc@google.com> Revision: 4997 Author: cmpilato at gmail.com Date: Mon Feb 23 18:12:29 2015 UTC Log: Add `svnadmin lock` and `svnadmin unlock` commands introduced in Subversion 1.8 to `svnadmin` reference. * http://subversion.apache.org/docs/release-notes/1.8.html#svnadmin-lock * `svnadmin lock`: http://subversion.tigris.org/issues/show_bug.cgi?id=3942 * `svnadmin unlock`: http://subversion.tigris.org/issues/show_bug.cgi?id=4092 Patch by: pavel.lyalyakin{_AT_}visualsvn.com (Tweaked by me.) https://code.google.com/p/svnbook/source/detail?r=4997 Modified: /trunk/en/book/ref-svnadmin.xml ======================================= --- /trunk/en/book/ref-svnadmin.xml Wed Feb 13 21:11:19 2013 UTC +++ /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:12:29 2015 UTC @@ -847,6 +847,50 @@ + + + + + + + svnadmin + subcommands + lock + + + + svnadmin lock + Lock path in the repository directly. + + + + svnadmin lock REPOS_PATH PATH-IN-REPOS USERNAME FILE + [TOKEN] + + + + + + Description + + Lock PATH-IN-REPOS in the + repository (as USERNAME) taking + comments from FILE. If provided, + use TOKEN as lock token. + + + + + + Options + + + + + + + + @@ -1412,6 +1456,48 @@ As you can see, svnadmin setuuid has no output upon success. + + + + + + + + + svnadmin + subcommands + unlock + + + + svnadmin unlock + Unlock path in the repository directly. + + + + svnadmin unlock REPOS_PATH LOCKED_PATH USERNAME + TOKEN + + + + + Description + + Unlock LOCKED_PATH in the + repository (as USERNAME) after + verifying that the token associated with the lock + matches TOKEN. + + + + + + Options + + + + + From svnbook at googlecode.com Mon Feb 23 14:14:42 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 20:14:42 +0000 Subject: [svnbook] r5000 committed - Fix issue 228: Dubious "svn merge" output. Reported by gan.ainm.riomh... Message-ID: <001a113816487896c0050fc70d5b@google.com> Revision: 5000 Author: cmpilato at gmail.com Date: Mon Feb 23 20:14:18 2015 UTC Log: Fix issue 228: Dubious "svn merge" output. Reported by gan.ainm.riomhphost. * en/book/ch04-branching-and-merging.xml Fix the output of a 2-URL 'svn merge'. https://code.google.com/p/svnbook/source/detail?r=5000 Modified: /trunk/en/book/ch04-branching-and-merging.xml ======================================= --- /trunk/en/book/ch04-branching-and-merging.xml Fri Mar 28 14:22:50 2014 UTC +++ /trunk/en/book/ch04-branching-and-merging.xml Mon Feb 23 20:14:18 2015 UTC @@ -4628,7 +4628,7 @@ $ cd libcomplex-custom $ svn merge ^/vendor/libcomplex-1.0.0 \ ^/vendor/libcomplex-1.0.1 ---- Merging differences between URLs into '.': +--- Merging differences between repository URLs into '.': U src/code.h C src/code.c U README From svnbook at googlecode.com Mon Feb 23 14:30:03 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 20:30:03 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <4-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <4-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <5-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Updates: Labels: -Milestone-en-1.6 Milestone-en-1.8 Comment #5 on issue 228 by cmpilato: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 (No comment was entered for this change.) -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Mon Feb 23 14:15:42 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 20:15:42 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <3-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <3-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <4-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Updates: Status: Fixed Comment #4 on issue 228 by cmpilato: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 Sending trunk/en/book/ch04-branching-and-merging.xml Transmitting file data . Committed revision 5000. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From cmpilato at gmail.com Mon Feb 23 12:15:55 2015 From: cmpilato at gmail.com (C. Michael Pilato) Date: Mon, 23 Feb 2015 13:15:55 -0500 Subject: [PATCH] SVNBook 1.8: New `svn log` filtering with `--search` and `--search-and` options In-Reply-To: References: Message-ID: <54EB6E5B.40709@gmail.com> On 02/19/2015 08:59 AM, Pavel Lyalyakin wrote: > Hello, > > Here is another patch; I'd greatly appreciate if you could review it. > > Adding `svn log --search ARG` and `svn log --search ARG --search-and ARG` to svn > command-line reference. > > Log message: > [[ > Add new (in SVN 1.8) `--search` and `--search-and` command-line options (can be > used with `svn log`) to svn command-line reference: > * http://subversion.apache.org/docs/release-notes/1.8.html#svn-log-search > > Patch by: pavel.lyalyakin{_AT_}visualsvn.com > ]] Committed in r4996. Thanks! From cmpilato at red-bean.com Mon Feb 23 12:18:38 2015 From: cmpilato at red-bean.com (C. Michael Pilato) Date: Mon, 23 Feb 2015 13:18:38 -0500 Subject: [PATCH] SVNBook 1.8: add `svnadmin lock` and `svnadmin unlock` commands to `svnadmin` reference In-Reply-To: References: Message-ID: Committed in r4997. Thanks! On Wed, Feb 18, 2015 at 11:48 AM, Pavel Lyalyakin < pavel.lyalyakin at visualsvn.com> wrote: > Hello, > > I'm looking through the current state of SVNBook 1.8 and through > Subversion 1.8 > Release Notes and see that a lot of minor features and improvements are not > mentioned in the book. > > I would like to participate in updating the book to cover Subversion 1.8 > so let > me start with a small patch that specifies new `svnadmin lock` and > `svnadmin > unlock` sub-commands. > > Log message: > [[ > Add `svnadmin lock` and `svnadmin unlock` commands introduced in > Subversion 1.8 > to `svnadmin` reference. > > * http://subversion.apache.org/docs/release-notes/1.8.html#svnadmin-lock > * `svnadmin lock`: > http://subversion.tigris.org/issues/show_bug.cgi?id=3942 > * `svnadmin unlock`: > http://subversion.tigris.org/issues/show_bug.cgi?id=4092 > > Patch by: pavel.lyalyakin{_AT_}visualsvn.com > ]] > > -- > With best regards, > Pavel Lyalyakin > VisualSVN Team > > _______________________________________________ > svnbook-dev mailing list > svnbook-dev at red-bean.com > http://www.red-bean.com/mailman/listinfo/svnbook-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From svnbook at googlecode.com Tue Feb 24 00:48:51 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 24 Feb 2015 06:48:51 +0000 Subject: =?ISO-8859-1?Q?=5Bsvnbook=5D_r5001_committed_=2D_=5Bde=5D_Changed_=22=FCbergeben?= =?ISO-8859-1?Q?=22_to_=22=FCbertragen=22_to_concur_with_Subversions=2E=2E=2E?= Message-ID: Revision: 5001 Author: jmfelderhoff at gmx.eu Date: Tue Feb 24 06:48:19 2015 UTC Log: [de] Changed "?bergeben" to "?bertragen" to concur with Subversions German locale output. https://code.google.com/p/svnbook/source/detail?r=5001 Modified: /branches/1.8/de/book/appa-quickstart.xml /branches/1.8/de/book/appb-svn-for-cvs-users.xml /branches/1.8/de/book/appc-webdav.xml /branches/1.8/de/book/ch01-fundamental-concepts.xml /branches/1.8/de/book/ch02-basic-usage.xml /branches/1.8/de/book/ch04-branching-and-merging.xml /branches/1.8/de/book/ch05-repository-admin.xml /branches/1.8/de/book/ch06-server-configuration.xml /branches/1.8/de/book/ch07-customizing-svn.xml /branches/1.8/de/book/ch08-embedding-svn.xml /branches/1.8/de/book/ref-svn.xml /branches/1.8/de/book/ref-svnmucc.xml ======================================= --- /branches/1.8/de/book/appa-quickstart.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/appa-quickstart.xml Tue Feb 24 06:48:19 2015 UTC @@ -486,7 +486,7 @@ version of your file to the repository. --> Rufen Sie svn commit auf, um die - neue Version Ihrer Datei an das Projektarchiv zu ?bergeben. + neue Version Ihrer Datei an das Projektarchiv zu ?bertragen. ======================================= --- /branches/1.8/de/book/appb-svn-for-cvs-users.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/appb-svn-for-cvs-users.xml Tue Feb 24 06:48:19 2015 UTC @@ -224,7 +224,7 @@ bestimmte Ansammlung von Verzeichniseintr?gen und Eigenschaften. Angenommen, wir beginnen nun damit, Dateien dem Verzeichnis foo hinzuzuf?gen und wegzunehmen und diese - ?nderungen dann zu ?bergeben. Es w?re eine L?ge, zu behaupten, + ?nderungen dann zu ?bertragen. Es w?re eine L?ge, zu behaupten, dass wir immer noch Revision 5 von foo h?tten. Wenn wir allerdings die Revisionsnummer von foo nach der ?bergabe erh?ht h?tten, w?re @@ -244,7 +244,7 @@ contain imperfect directory revisions. --> Subversion behandelt dieses Problem, indem es - stillschweigend ?bergebene Hinzuf?gungen sowie L?schungen im + stillschweigend ?bertragene Hinzuf?gungen sowie L?schungen im .svn-Bereich mitverfolgt. Wenn Sie schlie?lich svn update aufrufen, wird alles in Bezug auf das Projektarchiv glattgezogen und die neue @@ -267,12 +267,12 @@ --> Auf ?hnliche Art ergibt sich ein Problem, wenn Sie versuchen, Eigenschafts-?nderungen an einem Verzeichnis zu - ?bergeben. Normalerweise w?rde die ?bergabe die lokale + ?bertragen. Normalerweise w?rde die ?bergabe die lokale Revisionsnummer erh?hen, was jedoch eine L?ge w?re, da Hinzuf?gungen oder L?schungen vorhanden sein k?nnten, die das Verzeichnis noch nicht mitbekommen hat, da es nicht aktualisiert worden ist. Deshalb d?rfen Sie ?nderungen an - Verzeichnis-Eigenschaften nicht ?bergeben, bevor Sie das Verzeichnis + Verzeichnis-Eigenschaften nicht ?bertragen, bevor Sie das Verzeichnis aktualisiert haben. Die Datei im Arbeitsverzeichnis ist unver?ndert, und keinerlei ?nderungen an der Datei sind seit der - Arbeitsrevision an das Projektarchiv ?bergeben worden. Ein + Arbeitsrevision an das Projektarchiv ?bertragen worden. Ein svn commit der Datei w?rde nichts machen, und ein svn update der Datei auch nicht. @@ -1582,9 +1582,9 @@ --> Die Datei wurde im Arbeitsverzeichnis ge?ndert, und keinerlei ?nderungen an der Datei sind seit der letzten - Aktualisierung an das Projektarchiv ?bergeben worden. Es + Aktualisierung an das Projektarchiv ?bertragen worden. Es gibt lokale ?nderungen, die noch nicht an das Projektarchiv - ?bergeben worden sind, so dass ein svn + ?bertragen worden sind, so dass ein svn commit der Datei Ihre ?nderungen erfolgreich ver?ffentlichen w?rde, und ein svn update der Datei nichts tun w?rde. @@ -2098,7 +2098,7 @@ eine Aktion, die in das Projektarchiv schreibt keine Aktion zur Folge hat, die aus dem Projektarchiv liest und umgekehrt. Wenn Sie bereit sind, neue ?nderungen an das - Projektarchiv zu ?bergeben, hei?t das noch lange nicht, + Projektarchiv zu ?bertragen, hei?t das noch lange nicht, dass Sie auch die ?nderungen anderer haben m?chten. Und wenn Sie noch an ?nderungen arbeiten, sollte svn update elegant die ?nderungen aus dem @@ -2314,7 +2314,7 @@ destroying changes you've not yet seen. --> Erstens kann die L?schung einer Datei oder eines - Verzeichnisses nicht an das Projektarchiv ?bergeben werden, + Verzeichnisses nicht an das Projektarchiv ?bertragen werden, wenn die Datei oder das Verzeichnis nicht ganz aktuell ist. Falls eine neuere Version im Projektarchiv existiert, wird Ihr L?schversuch abgelehnt, um zu vermeiden, dass Sie @@ -2331,7 +2331,7 @@ destroy properties you've not yet seen. --> Zweitens k?nnen Sie keine ?nderungen an Metadaten eines - Verzeichnisses an das Projektarchiv ?bergeben, wenn das + Verzeichnisses an das Projektarchiv ?bertragen, wenn das Verzeichnis nicht ganz aktuell ist. In werden Sie lernen, wie man Eigenschaften an Objekte h?ngt. Die ======================================= --- /branches/1.8/de/book/ch02-basic-usage.xml Wed Dec 17 08:26:21 2014 UTC +++ /branches/1.8/de/book/ch02-basic-usage.xml Tue Feb 24 06:48:19 2015 UTC @@ -863,7 +863,7 @@ --> Sofern Sie nicht bereit sind, das Hinzuf?gen einer neuen Datei oder eines neuen Verzeichnisses oder ?nderungen an - bestehenden Objekten an das Projektarchiv zu ?bergeben, besteht + bestehenden Objekten an das Projektarchiv zu ?bertragen, besteht keine Notwendigkeit, dem Subversion-Server mitzuteilen, dass Sie irgendetwas gemacht haben. @@ -1066,7 +1066,7 @@ create the newest versions of all the things you modified. Now others can see your work, too! --> - Ver?ffentlichen (?bergeben) Sie Ihre + Ver?ffentlichen (?bertragen) Sie Ihre ?nderungen. Der Befehl svn commit ?bertr?gt Ihre ?nderungen in das Projektarchiv, in dem sie, falls sie angenommen werden, die @@ -1149,7 +1149,7 @@ --> In diesem Fall sieht es so aus, dass jemand ?nderungen sowohl an foo.c als auch an - bar.c ?bergeben hat, seit Sie das letzte + bar.c ?bertragen hat, seit Sie das letzte Mal aktualisiert haben, und Subversion hat Ihre Arbeitskopie aktualisiert, damit sie beide ?nderungen enth?lt. @@ -1232,7 +1232,7 @@ oder Verschieben einzuplanen. Diese ?nderungen k?nnen sofort in Ihrer Arbeitskopie stattfinden, jedoch wird im Projektarchiv nichts hinzugef?gt oder gel?scht bevor Sie - die ?nderungen ?bergeben haben. + die ?nderungen ?bertragen haben. - Wenn ein Symlink in Subversion ?bergeben wird, merkt + Wenn ein Symlink in Subversion ?bertragen wird, merkt sich Subversion sowohl, dass die Datei eigentlich ein Symlink ist, als auch das Objekt, auf das der Symlink zeigt. Wenn dieser Symlink auf einem @@ -1340,7 +1340,7 @@ Verwenden Sie diesen Befehl, um die Datei, das Verzeichnis oder den symbolischen Link FOO zum Hinzuf?gen in das - Projektarchiv vormerken. Wenn Sie das n?chste Mal ?bergeben, + Projektarchiv vormerken. Wenn Sie das n?chste Mal ?bertragen, wird FOO ein Kind seines Elternverzeichnisses. Beachten Sie, dass alles unterhalb von FOO zum Hinzuf?gen vorgemerkt @@ -1388,7 +1388,7 @@ Arbeitskopie entfernt, falls es eine Datei oder ein Link ist. Falls FOO ein Verzeichnis ist, wird es nicht gel?scht, sondern zum L?schen vorgemerkt. - Wenn Sie Ihre ?nderungen ?bergeben, wird das gesamte + Wenn Sie Ihre ?nderungen ?bertragen, wird das gesamte Verzeichnis FOO aus der Arbeitskopie und dem Projektarchiv entfernt. Selbstverst?ndlich wird nichts jemals @@ -1552,9 +1552,9 @@ der Hauptvorteil einer Arbeitskopie darin, dass sie sich als eine Art Bereitstellungsraum verwenden l?sst. Sie k?nnen sicherstellen, dass die ?nderungen, die Sie - ?bergeben m?chten, im Gesamtzusammenhang Ihres Projektes + ?bertragen m?chten, im Gesamtzusammenhang Ihres Projektes einen Sinn ergeben, bevor sie tats?chlich in das - Projektarchiv ?bergeben werden. Und selbstverst?ndlich + Projektarchiv ?bertragen werden. Und selbstverst?ndlich k?nnen diese vorbereiteten ?nderungen so einfach oder so kompliziert wie notwendig sein, und dennoch bei der ?bergabe in einer einzigen neuen Revision m?nden. @@ -1598,7 +1598,7 @@ anzusehen. Dadurch, dass Sie die ?nderungen noch einmal begutachten, k?nnen Sie eine genauere Protokollnachricht schreiben (eine - menschenlesbare Beschreibung der ?bergebenen ?nderungen, die + menschenlesbare Beschreibung der ?bertragenen ?nderungen, die neben ihnen im Projektarchiv gespeichert wird). Es k?nnte auch sein, dass Sie feststellen, versehentlich eine Datei ge?ndert zu haben, und dass Sie vor der ?bergabe diese ?nderung @@ -1828,7 +1828,7 @@ Ihrer Arbeitskopie haben (und konnten beim Aktualisieren nicht automatisch aufgel?st werden). Sie m?ssen den Konflikt aufl?sen, bevor Sie Ihre - ?nderungen in das Projektarchiv ?bergeben k?nnen. + ?nderungen in das Projektarchiv ?bertragen k?nnen. @@ -2176,7 +2176,7 @@ handelt, die Unterschiede an einer oder mehreren Dateien beschreiben. Daher k?nnen Sie die in Ihrer Arbeitskopie vorgenommenen ?nderungen mit jemanden teilen, ohne die - ?nderungen erst ?bergeben zu m?ssen, indem Sie aus der + ?nderungen erst ?bertragen zu m?ssen, indem Sie aus der umgeleiteten Ausgabe des Befehls svn diff eine Patch-Datei erzeugen: @@ -2485,7 +2485,7 @@ bar.c hineinzubringen, festgestellt hat, dass einige dieser ?nderungen mit lokalen ?nderungen kollidieren, die Sie an dieser Datei in Ihrer Arbeitskopie - vorgenommen, jedoch noch nicht ?bergeben haben. Vielleicht hat + vorgenommen, jedoch noch nicht ?bertragen haben. Vielleicht hat jemand dieselbe Textzeile wie Sie ge?ndert. Wie dem auch sei, Subversion markiert diese Datei umgehend als konfliktbehaftet. Dann fragt es Sie, wie Sie mit diesem Problem umgehen m?chten, @@ -3252,7 +3252,7 @@ An dieser Stelle erlaubt Subversion Sally nicht, die Datei sandwich.txt an das Projektarchiv zu - ?bergeben, solange die drei tempor?ren Dateien nicht + ?bertragen, solange die drei tempor?ren Dateien nicht entfernt werden: @@ -3518,7 +3518,7 @@ bekommt.Und wenn Sie danach fragen, wird man Sie wahrscheinlich auf einer Schiene aus der Stadt tragen. Sobald Sie sich ?ber die zu - ?bergebenden ?nderungen einig sind, k?nnen Sie Ihre Datei + ?bertragenden ?nderungen einig sind, k?nnen Sie Ihre Datei bearbeiten und die Konfliktmarken entfernen: @@ -3542,7 +3542,7 @@ --> Verwenden Sie jetzt svn resolve, und Sie sind bereit, Ihre ?nderungen an das Projektarchiv zu - ?bergeben: + ?bertragen: @@ -3715,7 +3715,7 @@ --> Endlich! Sie haben die Bearbeitung abgeschlossen, Sie haben alle ?nderungen vom Server eingearbeitet, und Sie sind - bereit, Ihre ?nderungen an das Projektarchiv zu ?bergeben. + bereit, Ihre ?nderungen an das Projektarchiv zu ?bertragen. Der Befehl svn commit schickt all Ihre ?nderungen zum Projektarchiv. Wenn Sie eine ?nderung - ?bergeben, m?ssen Sie einen Protokolleintrag erstellen, der + ?bertragen, m?ssen Sie einen Protokolleintrag erstellen, der die ?nderung beschreibt. Dieser Eintrag wird mit der von Ihnen erzeugten neuen Revision verkn?pft. Wenn Ihr Eintrag kurz ist, k?nnen Sie ihn mit der Option @@ -3917,7 +3917,7 @@ going into it. --> Ihr Subversion-Projektarchiv ist wie eine Zeitmaschine. Es legt - einen Eintrag f?r jede jemals ?bergebene ?nderung an und erlaubt + einen Eintrag f?r jede jemals ?bertragene ?nderung an und erlaubt Ihnen, diese Geschichte durch die Untersuchung sowohl ehemaliger Datei- und Verzeichnisversionen als auch der begleitenden Metadaten zu erforschen. Mit einem einzigen Subversion-Befehl @@ -4115,7 +4115,7 @@ repository: --> Wird eine einzelne Nummer mit - () ?bergeben, wird die Arbeitskopie mit + () ?bertragen, wird die Arbeitskopie mit der angegebenen Revision im Projektarchiv verglichen: @@ -4153,7 +4153,7 @@ --> Werden zwei Revisionsnummern durch einen Doppelpunkt getrennt mit - () ?bergeben, werden die beiden + () ?bertragen, werden die beiden Revisionen direkt miteinander verglichen: @@ -4374,7 +4374,7 @@ Why Does svn log Not Show Me What I Just Committed? --> - Warum zeigt mir svn log nicht, was ich gerade ?bergeben + <title>Warum zeigt mir svn log nicht, was ich gerade ?bertragen habe? - Wenn Sie Ihre ?nderungen an das Projektarchiv ?bergeben und + Wenn Sie Ihre ?nderungen an das Projektarchiv ?bertragen und sofort svn log ohne Argumente eingeben, wird Ihnen vielleicht auffallen, dass Ihre letzte ?nderung nicht in der Liste der Protokolleintr?ge auftaucht. Das liegt an der Kombination des Verhaltens von svn commit und dem Standardverhalten von svn log. Wenn Sie ?nderungen an das - Projektarchiv ?bergeben, erh?ht svn zun?chst + Projektarchiv ?bertragen, erh?ht svn zun?chst nur die Revision der Dateien (und Verzeichnisse) die es ?bernimmt, so dass das Elternverzeichnis normalerweise auf der ?lteren Revision verbleibt (siehe svn log holt dann standardm??ig die Geschichte des Verzeichnisses in der gegenw?rtigen Revision, und so kommt es, dass Sie die - neu ?bergebenen ?nderungen nicht sehen. Die L?sung besteht + neu ?bertragenen ?nderungen nicht sehen. Die L?sung besteht entweder in einer Aktualisierung Ihrer Arbeitskopie oder indem Sie dem Befehl svn log ausdr?cklich mit der Option @@ -4972,9 +4972,9 @@ --> Viele Subversion-Neulinge versuchen das vorangehende svn update-Beispiel zu verwenden, um - ?bergebene ?nderungen r?ckg?ngig zu machen, + ?bertragene ?nderungen r?ckg?ngig zu machen, was allerdings nicht funktioniert, da Sie keine ?nderungen - ?bergeben k?nnen, die Sie durch das zeitliche Zur?cksetzen + ?bertragen k?nnen, die Sie durch das zeitliche Zur?cksetzen einer Arbeitskopie erhalten haben, falls die ge?nderten Dateien neuere Revisionen haben. Siehe f?r eine @@ -5256,10 +5256,10 @@ Dateiinhalten gesprochen. Wenn Sie und Ihre Mitarbeiter ?berlappende ?nderungen innerhalb derselben Datei vornehmen, zwingt Sie Subversion dazu, diese ?nderungen zusammenzuf?hren, - bevor Sie sie ?bergeben k?nnen.Nat?rlich + bevor Sie sie ?bertragen k?nnen.Nat?rlich k?nnten Sie Dateien, die Konfliktmarkierungen enthalten, als konfliktfrei erkl?ren und - ?bergeben, wenn Sie es wirklich wollten, doch das wird in der + ?bertragen, wenn Sie es wirklich wollten, doch das wird in der Praxis kaum gemacht. bar.c hei?t nun Opfer eines - Baumkonfliktes. Sie kann nicht ?bergeben werden, bevor der + Baumkonfliktes. Sie kann nicht ?bertragen werden, bevor der Konflikt aufgel?st wird: @@ -5932,7 +5932,7 @@ the extra work he caused for you. --> Sie haben nun Ihren ersten Baumkonflikt aufgel?st! Sie - k?nnen Ihre ?nderungen ?bergeben und Harry in der Kaffeepause + k?nnen Ihre ?nderungen ?bertragen und Harry in der Kaffeepause erz?hlen, welche Mehrarbeit er Ihnen bereitet hat. ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 20 16:38:24 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 24 06:48:19 2015 UTC @@ -250,7 +250,7 @@ beseitigt. Sallys Arbeit h?ngt davon ab, dass die letzte Version des Projektes (in /calc/trunk) stets benutzbar ist. Wenn Sie nun damit beginnen, St?ck f?r St?ck Ihre - ?nderungen zu ?bergeben, werden Sie die Dinge f?r Sally (und + ?nderungen zu ?bertragen, werden Sie die Dinge f?r Sally (und auch f?r andere Teammitglieder) bestimmt in Unordnung bringen. @@ -281,7 +281,7 @@ Eine Strategie w?re es, sich in ein Loch zu verkriechen: Sie k?nnen f?r eine Woche oder zwei den Informationsaustausch einstellen, und die Dateien Ihrer Arbeitskopie ausr?umen und - umorganisieren, ohne ?nderungen zu ?bergeben oder die + umorganisieren, ohne ?nderungen zu ?bertragen oder die Arbeitskopie zu aktualisieren, bevor Sie mit Ihrer Arbeit vollst?ndig fertig sind. Das wirft allerdings einige Probleme auf. Erstens ist das nicht sehr sicher. Falls Ihrer Arbeitskopie @@ -301,7 +301,7 @@ ?nderungen fertig sind, sehr schwierig sein, Ihr Arbeitsergebnis wieder mit dem Hauptteil der Quelltexte Ihrer Firma zusammenzuf?hren. Sally (und andere) h?tten viele andere - ?nderungen ins Projektarchiv ?bergeben haben k?nnen, die sich + ?nderungen ins Projektarchiv ?bertragen haben k?nnen, die sich schwer in Ihre Arbeitskopie einarbeiten lassen, wenn Sie schlie?lich nach Wochen der Isolierung svn update ausf?hren. @@ -627,7 +627,7 @@ --> An dieser Arbeitskopie ist nichts besonders; sie spiegelt blo? ein anderes Verzeichnis im Projektarchiv wider. Wenn Sie - ?nderungen ?bergeben, wird sie Sally jedoch nicht sehen, wenn + ?nderungen ?bertragen, wird sie Sally jedoch nicht sehen, wenn sie aktualisiert, da sie eine Arbeitskopie von /calc/trunk hat. (Stellen Sie sicher, dass Sie weiter @@ -3278,7 +3278,7 @@ r?ckg?ngig zu machen, und versuchen Sie den Befehl erneut mit unterschiedlichen Optionen. Der Abgleich ist solange nicht endg?ltig, bis Sie mit svn commit das - Ergebnis ?bergeben. + Ergebnis ?bertragen. @@ -3307,15 +3307,15 @@ --> Sehr h?ufig wird svn merge verwendet, um eine ?nderung r?ckg?ngig zu machen, die bereits an das - Projektarchiv ?bergeben worden war. Nehmen wir einmal an, Sie + Projektarchiv ?bertragen worden war. Nehmen wir einmal an, Sie arbeiten fr?hlich in einer Arbeitskopie von /calc/trunk und entdecken, dass die damaligen ?nderungen an verschiedenen Quelltext-Dateien in - Revision 392 v?llig falsch waren. Sie h?tten nie ?bergeben + Revision 392 v?llig falsch waren. Sie h?tten nie ?bertragen werden sollen. Sie k?nnen svn merge verwenden, um die ?nderung in Ihrer Arbeitskopie zur?ckzunehmen, und dann die lokale ?nderung an - das Projektarchiv ?bergeben. Sie m?ssen hierf?r nur eine + das Projektarchiv ?bertragen. Sie m?ssen hierf?r nur eine umgekehrte Differenz angeben. (Sie machen das durch die Angabe von oder durch das ?quivalente .) @@ -3455,7 +3455,7 @@ HEAD eines Projektes interessiert. Es gibt jedoch Spezialf?lle, in denen Sie wirklich alle Beweise der ?bergabe vernichten m?chten. (Vielleicht hat jemand ein - vertrauliches Dokument in das Projektarchiv ?bergeben.) Das ist + vertrauliches Dokument in das Projektarchiv ?bertragen.) Das ist leider nicht so einfach, da Subversion absichtlich so konstruiert wurde, dass es niemals Informationen verliert. Revisionen sind unver?nderliche B?ume, die @@ -4595,7 +4595,7 @@ verwendet, um ?nderungen r?ckg?ngig zu machen. Wenn diese Technik dazu verwendet wird, um eine ?nderung in der Geschichte eines Objektes zur?ckzunehmen (z.B. r5 - an den Stamm ?bergeben, und dann sofort r5 mit + an den Stamm ?bertragen, und dann sofort r5 mit svn merge . -c -5 r?ckg?ngig machen), hat dies keine Auswirkungen auf die aufgezeichneten @@ -4742,7 +4742,7 @@ und dann svn merge ^/trunk -c 58 in der so erstellten Arbeitskopie aufrufen. Subversion wei?, dass die in Revision 53 an ^/trunk - ?bergebenen ?nderungen bereits in der nat?rlichen Historie + ?bertragenen ?nderungen bereits in der nat?rlichen Historie des Ziels vorhanden sind, so dass sie nicht erneut zusammengef?hrt werden m?ssen. Letzten Endes ist es das prim?re Ziel der @@ -5616,7 +5616,7 @@ via a sync merge: --> Obwohl es zutrifft, dass Sie diese drei Zeilen in Revision - 352 ?bergeben haben, sind zwei davon tats?chlich von Sally in + 352 ?bertragen haben, sind zwei davon tats?chlich von Sally in Revision 348 geschrieben worden und sind durch einen Synchronisierungs-Merge in Ihren Zweig geraten: @@ -5682,12 +5682,12 @@ different objects in the repository. They share no history or ancestry. --> - Nehmen wir an, Sie ?bergeben Revision 100, die eine + Nehmen wir an, Sie ?bertragen Revision 100, die eine ?nderung an der Datei foo.c beinhaltet. Dann ist foo.c at 99 ein Vorfahre von foo.c at 100. Wenn Sie dagegen in Revision 101 die L?schung von - foo.c ?bergeben und in Revision 102 eine + foo.c ?bertragen und in Revision 102 eine neue Datei mit demselben Namen hinzuf?gen, hat es zwar den Anschein, dass foo.c at 99 und foo.c at 102 in Beziehung zueinander stehen @@ -5953,7 +5953,7 @@ einiger Bearbeitungen ist) und die urspr?ngliche Datei gel?scht. Zwischenzeitlich hat Sally in r472 auf /calc/trunk selber einige Verbesserungen - an integer.c ?bergeben: + an integer.c ?bertragen: @@ -6128,7 +6128,7 @@ Wenn Sie und Ihr Team auf die Merge-Verfolgung von Subversion angewiesen sind, sollten Sie Ihr Projektarchiv dergestalt konfigurieren, dass ?ltere Clients daran gehindert - werden, ?nderungen zu ?bergeben. Die einfache Methode hierf?r + werden, ?nderungen zu ?bertragen. Die einfache Methode hierf?r ist es, den F?higkeiten-Parameter im start-commit Hook-Skript zu untersuchen. Wenn der Client meldet, dass er mit @@ -6186,7 +6186,7 @@ # wird: # # [1] REPOS-PATH (der Pfad zu diesem Projektarchiv) -# [2] USER (der authentisierte Anwender, der ?bergeben m?chte) +# [2] USER (der authentisierte Anwender, der ?bertragen m?chte) # [3] CAPABILITIES (eine vom Client durch Doppelpunkte getrennte # Liste von Leistungsmerkmalen; siehe Anmerkung # unten) @@ -6582,7 +6582,7 @@ Unterverzeichnisse aus unterschiedlichen Projektarchiv-Orten enth?lt, funktioniert sie immer noch normal. Wenn Sie aktualisieren, erhalten Sie entsprechende Patches f?r jeden - Teilbaum. Wenn Sie ?bergeben, werden Ihre lokalen ?nderungen + Teilbaum. Wenn Sie ?bertragen, werden Ihre lokalen ?nderungen nach wie vor als eine einzelne atomare ?nderung auf das Projektarchiv angewendet. @@ -6875,7 +6875,7 @@ HEAD zum Zeitpunkt, an dem Sie die Kopie erstellt haben. Nat?rlich k?nnen Sie auch angeben, welche Revision Sie genau kopieren m?chten, f?r den Fall, dass jemand - anderes ?nderungen an das Projekt ?bergeben haben k?nnte, + anderes ?nderungen an das Projekt ?bertragen haben k?nnte, w?hrend Sie nicht hingeschaut haben. Wenn Sie also wissen, dass Revision 901 von /calc/trunk genau die Momentaufnahme ist, die Sie m?chten, k?nnen Sie sie mit @@ -6904,7 +6904,7 @@ Menschen sich entschieden haben, es so zu betrachten: Solange niemand etwas an das Verzeichnis ?bergibt, bleibt es f?r immer eine Momentaufnahme. Wenn jemand damit - beginnt, etwas dorthin zu ?bergeben, wird es ein Zweig. + beginnt, etwas dorthin zu ?bertragen, wird es ein Zweig. - Entwickler ?bergeben alles Neue an den + Entwickler ?bertragen alles Neue an den Stamm. T?gliche ?nderungen werden an - /trunk ?bergeben: neue Funktionen, + /trunk ?bertragen: neue Funktionen, Fehlerbehebungen usw. @@ -7694,13 +7694,13 @@ richtige Zeitpunkt zum Anlegen eines Funktions-Zweiges gekommen ist. Manche Projekte benutzen nie Funktions-Zweige: jeder darf ?nderungen in /trunk - ?bergeben. Der Vorteil hier ist, dass es einfach ist – + ?bertragen. Der Vorteil hier ist, dass es einfach ist – niemand ben?tigt eine Schulung im Verzweigen und Zusammenf?hren. Der Nachteil ist, dass der Code oft instabil oder nicht nutzbar ist. Andere Projekte verwenden ausschlie?lich Zweige: Eine ?nderung darf niemals direkt in - /trunk ?bergeben werden. Selbst die + /trunk ?bertragen werden. Selbst die trivialsten ?nderungen werden auf einem kurzlebigen Zweig durchgef?hrt, sorgf?ltig gepr?ft und in den Stamm zur?ckgef?hrt. Danach wird der Zweig gel?scht. Dieses Vorgehen @@ -8349,7 +8349,7 @@ Da wir nun einen Lieferanten-Zweig basierend auf libcomplex 1.0.0 haben, k?nnen wir mit den f?r unsere Zwecke notwendigen Anpassungen an libcomplex beginnen und sie direkt - in den erstellten Lieferanten-Zweig ?bergeben. + in den erstellten Lieferanten-Zweig ?bertragen. Selbstverst?ndlich k?nnen wir anfangen, libcomplex in unseren eigenen Anwendungen zu verwenden. @@ -8647,7 +8647,7 @@ basierend auf libcomplex 1.0.0. Wir sind bereit, die f?r unsere Zwecke notwendigen Anpassungen an libcomplex vorzunehmen – indem wir sie direkt in den - Lieferanten-Zweig ?bergeben – und unsere angepasste + Lieferanten-Zweig ?bertragen – und unsere angepasste libcomplex in eigenen Applikationen zu verwenden. - Eine ?bergebene ?nderung r?ckg?ngig machen + Eine ?bertragene ?nderung r?ckg?ngig machen svn merge -c -REV URL; svn commit ======================================= --- /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 24 06:48:19 2015 UTC @@ -1561,7 +1561,7 @@ --> FSFS hat auch eine unterschiedliche Charakteristik, was den Durchsatz anbelangt. Wenn eine gro?e Zahl an Dateien - ?bergeben wird, kann FSFS schneller Verzeichniseintr?ge + ?bertragen wird, kann FSFS schneller Verzeichniseintr?ge hinzuf?gen. Andererseits hat FSFS beim Abschluss einer ?bergabe eine l?ngere Verz?gerung w?hrend es Aufgaben durchf?hrt, die das BDB-Backend ?ber die Laufzeit der @@ -2021,7 +2021,7 @@ Gesamtbild des Projektarchiv-Einsatzes im Auge. Wenn Sie beispielsweise die Konfiguration des Servers verwenden, um festzustellen, welche Benutzer ?nderungen an Ihr Projektarchiv - ?bergeben d?rfen, ben?tigen Sie f?r diese Zugriffskontrolle + ?bertragen d?rfen, ben?tigen Sie f?r diese Zugriffskontrolle nicht das Hook-System. @@ -2573,7 +2573,7 @@ keine ?bergabe-Transaktion mithilfe von Hook-Skripten. Trotz der Verlockung, Hook-Skripte zur automatischen Korrektur von Fehlern, Unzul?nglichkeiten - oder Prozessverletzungen innerhalb der zu ?bergebenden + oder Prozessverletzungen innerhalb der zu ?bertragenden Dateien einzusetzen, kann das zu Problemen f?hren. Subversion h?lt bestimmte Projektarchiv-Daten in client-seitigen Caches vor, und wenn Sie auf diese Art @@ -2893,7 +2893,7 @@ svnlook wird ?blicherweise von Projektarchiv-Hooks verwendet, um die abzuliefernden ?nderungen zu melden (im Fall des pre-commit-Hooks) - oder die gerade an das Projektarchiv ?bergeben wurden (im Fall + oder die gerade an das Projektarchiv ?bertragen wurden (im Fall des post-commit-hooks). Ein Projektarchiv-Administrator kann dieses Programm zur Diagnose benutzen. @@ -3006,9 +3006,9 @@ removed. --> Beachten Sie, dass Sie nur Transaktionen untersuchen - k?nnen, die noch nicht ?bergeben sind. Die meisten + k?nnen, die noch nicht ?bertragen sind. Die meisten Projektarchive haben keine derartigen Transaktionen, da - Transaktionen entweder ?bergeben (in diesem Fall sollten + Transaktionen entweder ?bertragen (in diesem Fall sollten Sie darauf mit der Option () zugreifen) oder abgebrochen und entfernt sind. @@ -6308,7 +6308,7 @@ Das deckt ?nderungen an Revisions-Eigenschaften ab. Nun m?ssen wir sicherstellen, dass nur der Benutzer syncuser neue Revisionen an das Projektarchiv - ?bergeben darf. Wir machen das, indem wir ein + ?bertragen darf. Wir machen das, indem wir ein start-commit-Hook-Skript wie das in benutzen. @@ -6338,7 +6338,7 @@ if [ "$USER" = "syncuser" ]; then exit 0; fi -echo "Ausschlie?lich der Benutzer syncuser darf neue Revisionen ?bergeben" >&2 +echo "Ausschlie?lich der Benutzer syncuser darf neue Revisionen ?bertragen" >&2 exit 1 @@ -7450,7 +7450,7 @@ Berkeley DB. Diese Flexibilit?t kommt allerdings zu dem Preis, dass die Wiederherstellung der Daten sehr lange dauern kann – l?nger mit jeder neuen Revision, die ins Projektarchiv - ?bergeben wird. Wie bei vielen verschiedenen + ?bertragen wird. Wie bei vielen verschiedenen Sicherungsmethoden werden auch hier ?nderungen an Revisions-Eigenschaften bereits gesicherter Revisionen nicht ber?cksichtigt, sofern es sich um eine nicht-?berlappende ======================================= --- /branches/1.8/de/book/ch06-server-configuration.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ch06-server-configuration.xml Tue Feb 24 06:48:19 2015 UTC @@ -3963,7 +3963,7 @@ einfach mit einem Web-Browser ge?ffnet wird. - Jeder kann an das Projektarchiv ?bergeben. + Jeder kann an das Projektarchiv ?bertragen. @@ -6870,7 +6870,7 @@ #!/bin/sh -# Post-Commit-Skript zum Replizieren der neu ?bergebenen Revision an die Slaves +# Post-Commit-Skript zum Replizieren der neu ?bertragenen Revision an die Slaves svnsync sync http://slave1.example.com/svn-proxy-sync \ file:///var/svn/repos > /dev/null 2>&1 & @@ -7000,7 +7000,7 @@ automatisierten svnsync-Befehle aus irgendeinem Grund nicht vollst?ndig abgeschlossen wird, beginnen die Slaves, hinterher zu hinken. Ihre entfernten - Anwender werden sehen, dass sie Revision 100 ?bergeben + Anwender werden sehen, dass sie Revision 100 ?bertragen haben; wenn sie allerdings svn update aufrufen, wird ihr lokaler Server ihnen mitteilen, dass Revision 100 noch nicht existiert! Nat?rlich wird das @@ -8101,7 +8101,7 @@ Leistungseinbu?en. Zur unsichtbaren Kategorie z?hlt die Kultur, die Sie erzeugen. In den meisten F?llen, in denen bestimmte Anwender ?nderungen in bestimmte Teile des - Projektarchivs nicht ?bergeben sollten, + Projektarchivs nicht ?bertragen sollten, bedarf diese soziale ?bereinkunft keiner technischen Erzwingung. Teams k?nnen manchmal spontan miteinander arbeiten, jemand k?nnte jemand anderen aushelfen, indem eine @@ -8127,7 +8127,7 @@ versehentlich eine ?nderung dorthin ?bergibt, wo sie eigentlich nicht hin sollte, ist es einfach, die ?nderung r?ckg?ngig zu machen. Und sollte ein Anwender mit b?ser - Absicht an eine falsche Stelle ?bergeben, ist es sowieso ein + Absicht an eine falsche Stelle ?bertragen, ist es sowieso ein sozialen Problem und muss au?erhalb von Subversion gel?st werden. @@ -8166,7 +8166,7 @@ --> Als erw?genswertes Beispiel sollten Sie das Subversion-Projekt betrachten, das stets eine Vorstellung - davon hatte, wer etwas wohin ?bergeben darf, dies jedoch immer + davon hatte, wer etwas wohin ?bertragen darf, dies jedoch immer auf der sozialen Ebene durchsetzte. Dies ist ein passendes Modell f?r Vertrauen in einer Gemeinschaft, besonders bei Open-Source-Projekten. Selbstverst?ndlich existiert manchmal ======================================= --- /branches/1.8/de/book/ch07-customizing-svn.xml Wed Nov 26 13:14:50 2014 UTC +++ /branches/1.8/de/book/ch07-customizing-svn.xml Tue Feb 24 06:48:19 2015 UTC @@ -999,7 +999,7 @@ Diese boolesche Option entspricht der Option des Befehls svn commit, die Subversion dazu auffordert, - Sperren auf gerade ?bergebene Dateien nicht + Sperren auf gerade ?bertragene Dateien nicht aufzuheben. Wird diese Laufzeitoption auf yes gesetzt, wird Subversion niemals automatisch Sperren aufheben, und es Ihnen @@ -2158,7 +2158,7 @@ in der Kodierung der aktuellen Locale wiedergegeben werden k?nnen. Wenn zum Beispiel Ihre aktuelle Locale en_US ist, aber ein Mitarbeiter einen - japanischen Dateinamen ?bergeben hat, bekommen Sie + japanischen Dateinamen ?bertragen hat, bekommen Sie wahrscheinlich diesen Fehler, wenn Sie bei einem svn update diese Datei empfangen. @@ -2211,7 +2211,7 @@ --> Die offensichtlichste Art und Weise, Daten in Subversion zu bekommen, ist es, Dateien unter Versionskontrolle zu stellen, - ?nderungen an diesen Dateien zu ?bergeben usw. Aber neben + ?nderungen an diesen Dateien zu ?bertragen usw. Aber neben versionierten Dateidaten leben auch andere Informationen in Ihrem Subversion-Projektarchiv. Einige dieser Informationen – Protokollnachrichten, Kommentare zu Sperren und einige @@ -2347,7 +2347,7 @@ comments. --> Wie beschrieben, k?nnen externe Editoren bei allen - ?bergebenden Unterbefehlen (wie svn commit + ?bertragenden Unterbefehlen (wie svn commit oder import, svn mkdir oder delete wenn ein URL-Ziel angegeben wird usw.) zur Eingabe von Protokollnachrichten verwendet werden, und ======================================= --- /branches/1.8/de/book/ch08-embedding-svn.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ch08-embedding-svn.xml Tue Feb 24 06:48:19 2015 UTC @@ -2071,7 +2071,7 @@ * which includes our added directory path. */ --> - /* Die Transaktion ?bergeben, indem eine neue Revision des + /* Die Transaktion ?bertragen, indem eine neue Revision des * Dateisystems erzeugt wird, die unseren hinzugef?gten * Verzeichnispfad enth?lt. */ @@ -2161,7 +2161,7 @@ Beachten Sie, dass der Code in die Transaktion ebenso einfach mit svn_fs_commit_txn() - h?tte ?bergeben k?nnen. Allerdings wei? die Dateisystem-API + h?tte ?bertragen k?nnen. Allerdings wei? die Dateisystem-API nichts ?ber den Hook-Mechanismus der Projektarchiv-Bibliothek. Falls Sie m?chten, dass Ihr Subversion-Projektarchiv bei jeder Transaktions?bergabe eine Nicht-Subversion-Aufgabe ausf?hrt ======================================= --- /branches/1.8/de/book/ref-svn.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ref-svn.xml Tue Feb 24 06:48:19 2015 UTC @@ -1128,7 +1128,7 @@ --> Teilt Subversion mit, Dateien nicht automatisch zu entsperren. (Das Standardverhalten nach der ?bergabe ist - es, alle Dateien, die ?bergeben wurden, zu entsperren.) + es, alle Dateien, die ?bertragen wurden, zu entsperren.) Siehe f?r weitergehende Informationen. @@ -2442,7 +2442,7 @@ commit only files in that changelist: --> ?ndern Sie drei Dateien, f?gen Sie sie einer - ?nderungsliste hinzu und ?bergeben dann nur die Dateien + ?nderungsliste hinzu und ?bertragen dann nur die Dateien auf dieser ?nderungsliste: @@ -2486,7 +2486,7 @@ committed. --> Beachten Sie, dass im vorigen Beispiel nur die Dateien - der ?nderungsliste issue1729 ?bergeben + der ?nderungsliste issue1729 ?bertragen wurden. @@ -2802,7 +2802,7 @@ Wie auch bei anderen Arbeitskopien haben Sie die ?blichen M?glichkeiten zur Auswahl: die lokalen ?nderungen teilweise oder vollst?ndig - r?ckg?ngig machen, sie ?bergeben oder mit ?nderungen in + r?ckg?ngig machen, sie ?bertragen oder mit ?nderungen in Ihrer Arbeitskopie fortfahren. ?nderungen aus der Arbeitskopie an das - Projektarchiv ?bergeben. + Projektarchiv ?bertragen. @@ -3029,7 +3029,7 @@ linkend="svn.advanced.confarea.opts.config"/>. --> ?nderungen aus der Arbeitskopie an das Projektarchiv - ?bergeben. Falls Sie keine Protokollnachricht, mit einer + ?bertragen. Falls Sie keine Protokollnachricht, mit einer der Optionen () oder (), angeben, startet svn Ihren Editor zum @@ -3046,7 +3046,7 @@ svn commit verschickt alle gefundenen Sperrmarken und gibt Sperren auf alle mit PATH angegebenen Pfade frei, - die (rekursiv) ?bergeben werden, sofern die Option + die (rekursiv) ?bertragen werden, sofern die Option nicht angegeben ist. @@ -3062,7 +3062,7 @@ Falls Sie eine ?bergabe einleiten und Subversion Ihren Editor zum Verfassen einer Protokollnachricht startet, k?nnen Sie immer noch abbrechen, ohne Ihre - ?nderungen zu ?bergeben. Wenn Sie die ?bergabe abbrechen + ?nderungen zu ?bertragen. Wenn Sie die ?bergabe abbrechen wollen, beenden Sie einfach Ihren Editor, ohne die Protokollnachricht zu sichern; dann wird Subversion Sie fragen, ob Sie die ?bergabe abbrechen, ohne @@ -3183,7 +3183,7 @@ - Eine zur L?schung vorgemerkte Datei ?bergeben: + Eine zur L?schung vorgemerkte Datei ?bertragen: @@ -3281,7 +3281,7 @@ Immediately commit a copy of WC to URL. --> Eine Kopie aus der AK direkt an den URL - ?bergeben. + ?bertragen. @@ -3578,7 +3578,7 @@ --> Die durch PATH angegebenen Objekte werden zur L?schung bei der n?chsten ?bergabe - vorgemerkt. Dateien (und nicht ?bergebene Verzeichnisse) + vorgemerkt. Dateien (und nicht ?bertragene Verzeichnisse) werden sofort aus der Arbeitskopie entfernt, sofern nicht die Option angegeben ist. Der Befehl entfernt keine unversionierten oder ge?nderten @@ -3593,7 +3593,7 @@ --> Werden Objekte durch einen URL bestimmt, werden sie durch eine sofortige ?bergabe aus dem Projektarchiv - entfernt. Mehrere URLs werden atomar ?bergeben (alle oder + entfernt. Mehrere URLs werden atomar ?bertragen (alle oder keine). @@ -3717,7 +3717,7 @@ dass auch die Zieldatei entfernt wird, die f?r eine versionierte L?schung vorgemerkt war. Das ist in dem Fall n?tzlich, falls Sie feststellen, dass Sie versehentlich - eine hinzugef?gte Datei ?bergeben haben, die Sie zwar in + eine hinzugef?gte Datei ?bertragen haben, die Sie zwar in Ihrer Arbeitskopie ben?tigen, jedoch nicht unter Versionskontrolle stehen soll. @@ -3753,7 +3753,7 @@ Das Verhalten der Option wirkt sich nicht auf andere Arbeitskopien aus, die von Ihnen zur L?schung vorgemerkte Objekte enthalten. Wenn Sie die - L?schung dieser Objekte ?bergeben, verbleiben sie in Ihrer + L?schung dieser Objekte ?bertragen, verbleiben sie in Ihrer Arbeitskopie, werden aber bei der Aktualisierung anderer Arbeitskopien in denen sie enthalten sind gel?scht. @@ -5239,7 +5239,7 @@ --> Pfade der Arbeitskopie oder URLs im Projektarchiv sperren, damit kein anderer Benutzer - ?nderungen daran ?bergeben kann. + ?nderungen daran ?bertragen kann. @@ -6540,7 +6540,7 @@ Arbeitskopie vorgemerkt. Ein durch einen URL bezeichnetes Verzeichnis wird durch eine unmittelbare ?bergabe im Projektarchiv erzeugt. Mehrere Verzeichnis-URLs werden atomar - ?bergeben. In beiden F?llen m?ssen Zwischenverzeichnisse + ?bertragen. In beiden F?llen m?ssen Zwischenverzeichnisse bereits existieren, falls die Option nicht angegeben wird. @@ -6817,7 +6817,7 @@ -Revision 27 ?bergeben. +Revision 27 ?bertragen. @@ -8527,7 +8527,7 @@ Konflikt stehende Objekt mit der (interaktiv oder ?ber das Optionsargument von ) angegebenen Version und entfernt dann Konfliktdateien. Das erlaubt es, - PATH erneut zu ?bergeben – + PATH erneut zu ?bertragen – d.h., Subversion wird mitgeteilt, dass die Konflikte aufgel?st wurden. svn revert ist von Natur aus gef?hrlich, da sein einziger Zweck das Beseitigen von - Daten ist – n?mlich Ihre noch nicht ?bergebenen + Daten ist – n?mlich Ihre noch nicht ?bertragenen ?nderungen. Sobald Sie irgendetwas r?ckg?ngig gemacht haben, bietet Ihnen Subversion keine M?glichkeit, wieder an die noch nicht - ?bergebenen ?nderungen heranzukommen. + ?bertragenen ?nderungen heranzukommen. - Geschichte soll nicht ?bergeben werden. + Geschichte soll nicht ?bertragen werden. @@ -9263,7 +9263,7 @@ - Geschichte soll ?bergeben werden. + Geschichte soll ?bertragen werden. @@ -9499,7 +9499,7 @@ --> Falls die Option () angegeben wird, folgt die letzte - ?bergebene Revision und der Autor derselben. + ?bertragene Revision und der Autor derselben. + Beginnend mit Subversion 1.8 kann + svndumpfilter auf deltifizierten + Ausgabestr?men arbeiten. Davor verweigerte + svndumpfilter die Arbeit mit + Auszugsstr?men, die mit der Option + erzeugt wurden. + + @@ -1377,6 +1392,70 @@ + + + + + + + svnadmin + + Unterbefehle + lock + + + + svnadmin lock + + Einen Pfad direkt im Projektarchiv sperren. + + + + svnadmin lock REPOS_PATH PATH-IN-REPOS USERNAME FILE + [TOKEN] + + + + + + + Beschreibung + + + Sperre PATH-IN-REPOS im + Projektarchiv, wobei der Sperre + USERNAME als Eigent?mer zugewiesen + wird und der Inhalt von FILE als + Kommentar mit der erzeugten Sperre verkn?pft wird. Falls + angegeben, soll TOKEN als + Sperrmarke verwendet werden. + + + + + + Options + + + + + + + + @@ -2280,6 +2359,64 @@ svnadmin setuuid im Erfolgsfall nichts aus. + + + + + + + + + svnadmin + + subcommands + unlock + + + + svnadmin unlock + + Pfad direkt im Projektarchiv entsperren. + + + + svnadmin unlock REPOS_PATH LOCKED_PATH USERNAME + TOKEN + + + + + + Description + + + Entsperre LOCKED_PATH im + Projektarchiv (als USERNAME) + nachdem sichergestellt wurde, dass die zur Sperre geh?rige + Sperrmarke mit TOKEN + ?bereinstimmt. + + + + + + Options + + + + + From svnbook at googlecode.com Tue Feb 24 01:28:51 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 24 Feb 2015 07:28:51 +0000 Subject: [svnbook] r5002 committed - [de] Added --search and --search-and option description. Message-ID: <90e6ba6e8ba27328ab050fd07802@google.com> Revision: 5002 Author: jmfelderhoff at gmx.eu Date: Tue Feb 24 07:28:39 2015 UTC Log: [de] Added --search and --search-and option description. https://code.google.com/p/svnbook/source/detail?r=5002 Modified: /branches/1.8/de/book/ref-svn.xml ======================================= --- /branches/1.8/de/book/ref-svn.xml Tue Feb 24 06:48:19 2015 UTC +++ /branches/1.8/de/book/ref-svn.xml Tue Feb 24 07:28:39 2015 UTC @@ -1442,6 +1442,111 @@ + + ARG + + + Filtert Protokollnachrichten, so dass nur solche + angezeigt werden, auf die das Suchmuster + ARG passt. Protokollnachrichten + werden nur angezeigt, wenn das angegebene Suchmuster zum + Text von Autor, Datum oder Protokollnachricht passt (wenn + nicht die Option angegeben ist), + oder, falls zus?tzlich die Option + angegeben wird, auch auf einen + ge?nderten Pfad. Falls mehrere + -Optionen angegeben werden, wird + eine Protokollnachricht ausgegeben, sobald sie zu + irgendeinem Suchmuster passt. Wenn + verwendet wird, schr?nkt das die + Anzahl der zu durchsuchenden Protokollnachrichten ein, anstatt + die Anzahl der auszugebenden passenden + Protokollnachrichten. + + + Das Suchmuster kann "Glob-Syntax"-Platzhalter + beinhalten: + + + + + ? + + + + Passt auf irgendein einzelnes Zeichen. + + + + + * + + + + Passt auf eine Folge beliebiger Zeichen. + + + + + [ABC] + + + + Passt auf ein Zeichen innerhalb der eckigen + Klammern. + + + + + + + + + ARG + + + + Das Argument der Option wird mit dem Muster der + davorstehenden Option oder + auf der Kommandozeile + kombiniert. Die Protokollnachricht wird nur angezeigt, + falls sie zu dem kombinierten Suchmuster passt. + + + + ARG From svnbook at googlecode.com Tue Feb 3 06:29:43 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 03 Feb 2015 12:29:43 +0000 Subject: [svnbook] r4969 committed - German translation. Message-ID: <089e0158b460bfe05c050e2e39a4@google.com> Revision: 4969 Author: jmfelderhoff at gmx.eu Date: Tue Feb 3 12:29:28 2015 UTC Log: German translation. https://code.google.com/p/svnbook/source/detail?r=4969 Modified: /branches/1.8/de/book/ch05-repository-admin.xml ======================================= --- /branches/1.8/de/book/ch05-repository-admin.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 3 12:29:28 2015 UTC @@ -1,3 +1,5 @@ + + - Mit den Augen eines typischen Dateibrowsers (wie Windows - Explorer) oder von kommandozeilenorientierten + Mit den Augen eines typischen Datei-Browsers (wie Windows + Explorer) oder von kommandozeilen-orientierten Dateisystem-Navigationswerkzeugen ist das Subversion-Projektarchiv bloß ein weiteres gewöhnliches Verzeichnis voller Zeugs. Es gibt einige Unterverzeichnisse mit Konfigurationsdateien, die für @@ -132,7 +134,7 @@ elsewhere in this and other chapters.) --> Hier ist ein schneller, oberflächlicher Überblick über das, - was Sie in diesem Verzeichnislisting sehen. (Verzetteln Sie sich + was Sie in diesem Verzeichnisauflistung sehen. (Verzetteln Sie sich nicht mit den Fachausdrücken – eine detaillierte Behandlung dieser Komponenten erfolgt an anderer Stelle in diesem und in anderen Kapiteln.) @@ -230,10 +232,15 @@ - Vor Subversion 1.5 besaß die Projektarchiv-Struktur auf + + + WebDAV + Aktivitäten + Vor Subversion 1.5 besaß die Projektarchiv-Struktur auf der Festplatte ein Unterverzeichnis dav. mod_dav_svn verwendete dieses Verzeichnis, um Informationen über WebDAV @@ -263,7 +273,7 @@ wurde nicht dergestalt konfiguriert, dass seine Aktivitäten-Datenbank an einem anderen Ort abgelegt wird. Siehe - in für weitere Informationen. + für weitere Informationen. - Welche der verfügbaren Datenspeicherungsarten möchten + Welche der verfügbaren Arten von Datenspeicherung möchten Sie verwenden? @@ -438,7 +448,7 @@ und zum anschließenden Laden nach einer inkompatiblen neuen Version von Subversion gibt usw. Sie können Daten auch einfach zwischen Projekten verschieben, ohne historische - Versionierungsinformationen zu verlieren. + Versionierungs=Informationen zu verlieren. Nachdem Sie entschieden haben, wie Sie Ihre Projekte in Projektarchive aufteilen, möchten Sie sich nun vielleicht - Gedanken darüber machen, welche Verzeichnishierarchien Sie im + Gedanken darüber machen, welche Verzeichnis=Hierarchien Sie im Projektarchiv anlegen wollen. Da Subversion zum Verzweigen und Etikettieren reguläre Verzeichniskopien verwendet (siehe ), empfiehlt die @@ -741,7 +751,7 @@ (Benutzer hinter Ihrer Firmen-Firewall oder die weite Welt im offenen Netz), welche zusätzlichen Dienste Sie im Zusammenhang mit Subversion anbieten wollen (Schnittstellen zum Stöbern im - Projektarchiv, Übergabebenachrichtigungen per E-Mail usw.), Ihre + Projektarchiv, Übergabe-Benachrichtigungen per E-Mail usw.), Ihre Sicherungsstrategie und vieles mehr. - Subversion unterstützt zwei Optionen für - das zugrunde liegende Datenspeicherungsverfahren – oft + + + FSFS + + + Berkeley DB + + + BDB + Berkeley DB + + + Projektarchive + Dateisystem + Subversion unterstützt zwei Optionen für + das zugrunde liegende Datenspeicherungs=Verfahren – oft bezeichnet als das Backend oder, etwas verwirrend, das (versionierte) Dateisystem — welches jedes Projektarchiv verwendet. Das eine Verfahren speichert alles in einer Berkeley-DB- (oder BDB-) - Datenbankumgebung; Projektarchive, die dieses Verfahren + Datenbank-Umgebung; Projektarchive, die dieses Verfahren verwenden, werden oft BDB-basiert genannt. Das andere Verfahren speichert die Daten in gewöhnlichen, flachen Dateien, die ein spezielles Format verwenden. Unter @@ -831,7 +869,7 @@ eff-ess-eff-ess denkt) eingebürgert – eine Implementierung eines versionierten Dateisystems, dass direkt das Dateisystem des Betriebssystems - verwendet – statt einer Datenbankbibliothek oder einer + verwendet – statt einer Datenbank-Bibliothek oder einer anderen Abstraktionsebene – um Daten zu speichern - In der anfänglichen Entwurfsphase von Subversion + + + Berkeley DB + In der anfänglichen Entwurfsphase von Subversion entschieden sich die Entwickler aus einer Reihe von Gründen, Berkeley DB zu verwenden. Hierzu zählen die quelloffene Lizenz, Transaktionsunterstützung, Zuverlässigkeit, @@ -1130,7 +1174,7 @@ --> Eine weitere großartige Funktion von Berkeley DB sind Hot Backups – die Fähigkeit, - die Datenbankumgebung zu sichern, ohne sie vom + die Datenbank-Umgebung zu sichern, ohne sie vom Netz zu nehmen. Wir besprechen später in diesem Kapitel, wie Sie Ihr Projektarchiv sichern (in ), doch sollten die @@ -1154,7 +1198,7 @@ --> Bei Berkeley DB handelt es sich auch um ein sehr zuverlässiges Datenbanksystem, wenn es richtig verwendet - wird. Subversion benutzt das Protokollierungssystem von + wird. Subversion benutzt das Protokollierungs-System von Berkeley DB, was bedeutet, dass die Datenbank zunächst eine Beschreibung der Veränderungen in Protokolldateien auf der Platte schreibt, bevor die Veränderungen selbst durchgeführt @@ -1188,7 +1232,7 @@ können nicht einfach ein unter Unix erzeugtes Subversion-Projektarchiv auf ein Windows-System kopieren und erwarten, dass es funktioniert. Obwohl ein Großteil des - Berkeley-DB-Datenbankformats architekturunabhängig ist, sind + Berkeley-DB-Datenbank-Formats architektur-unabhängig ist, sind es andere Teile der Umgebung nicht. Zweitens benutzt Subversion Berkeley DB auf eine Weise, die nicht auf Windows 95/98 funktioniert – falls Sie ein BDB-basiertes @@ -1281,10 +1325,10 @@ Verbindung und räumt anschließend auf. Und da der Datenbank-Dämon der einzige Prozess ist, der auf die Tabellen zugreift, brauchen sich Anwendungsprogramme nicht - um Berechtigungskonflikte zu kümmern. Das trifft allerdings + um Berechtigungs-Konflikte zu kümmern. Das trifft allerdings nicht auf Berkeley DB zu. Subversion (und jedes Programm, das die Subversion-Bibliotheken verwendet) greift direkt auf - die Datenbanktabellen zu, was bedeutet, dass ein + die Datenbank-Tabellen zu, was bedeutet, dass ein Programmabsturz die Datenbank vorübergehend in einem inkonsistenten, nicht zugreifbaren Zustand hinterlassen kann, so dass ein Administrator Berkeley DB dazu auffordern @@ -1355,7 +1399,10 @@ FSFS - Mitte 2004 entstand ein zweiter Typ eines + + + FSFS + Mitte 2004 entstand ein zweiter Typ eines Projektarchiv-Speichersystems – eins, das überhaupt keine Datenbank verwendet. Ein FSFS-Projektarchiv speichert die zu einer Revision gehörenden Änderungen in einer einzelnen @@ -1384,10 +1434,13 @@ Betrieb gesichert werden, genauso wie ein BDB-basiertes Projektarchiv. - + Revisionsdateien und Scherben + - - Revisionsdateien und Scherben - FSFS Projektarchive beinhalten sowohl Dateien, die die in einer einzelnen Revision gemachten Änderungen beschreiben als auch Dateien, die die @@ -1438,16 +1468,52 @@ dass es in bestimmten netzbasierten Dateisystemen zu Leistungsproblemen kommen kann. - Subversion 1.5 erstellt Projektarchive mit FSFS mit + + + + FSFS + in Scherben zerlegen + Subversion 1.5 erstellt Projektarchive mit FSFS mit einem etwas veränderten Layout, bei dem der Inhalt dieser - beiden Verzeichnisse in Scherben + beiden Verzeichnisse in Scherben zerlegt wird, oder über mehrere Unterverzeichnisse verteilt wird. Das kann erheblich zur Verkürzung der Zeit beitragen, die das System benötigt, um irgendeine dieser Dateien zu finden, und somit die Gesamtleistung von Subversion beim Lesen des Projektarchivs erhöhen. - Subversion 1.6 und später geht bei diesem + + + + FSFS + packen + Subversion 1.6 und später geht bei diesem Scherben-Design noch einen Schritt weiter und erlaubt Administratoren, optional jede dieser Projektarchiv-Scherben in eine einzelne @@ -1661,7 +1727,7 @@ Nach dem Ausführen dieses einfachen Befehls haben Sie ein Subversion-Projektarchiv. Abhängig davon, wie Anwender künftig auf dieses neue Projektarchiv zugreifen sollen, müssten Sie - gegebenenfalls an den Dateisystemberechtigungen feilen. Da + gegebenenfalls an den Dateisystem-Berechtigungen feilen. Da allerdings die grundsätzliche Systemverwaltung nicht Gegenstand dieses Textes ist, betrachten wir die weitere Untersuchung dieses Themas als Übung für den Leser. @@ -1764,12 +1830,24 @@ Erstellen von Projektarchiv-Hooks - Ein Hook (Haken) ist ein Programm, + + + Hook-Skripte + + + Hooks + Hook-Skripte + + + Projektarchive + Hooks + Hook-Skripte + Ein Hook (Haken) ist ein Programm, das durch einige Projektarchiv-Ereignisse gestartet wird, wie etwa die Erzeugung einer neuen Revision oder die Veränderung einer unversionierten Eigenschaft. Einige Hooks (die sogenannten @@ -1797,8 +1887,8 @@ Das Unterverzeichnis hooks beinhaltet standardmäßig Vorlagen für verschiedene @@ -1877,33 +1967,6 @@ Programme und .bat für Batch-Dateien. - - - Aus Sicherheitsgründen führt Subversion Hook-Programme - in einer leeren Umgebung aus – d.h., es sind überhaupt - keine Umgebungsvariablen gesetzt, nicht einmal - $PATH (oder %PATH% - unter Windows). Deshalb sind viele Administratoren verwirrt, - wenn deren Hook-Programme normal starten, wenn sie manuell - aufgerufen werden, aber nicht laufen, wenn sie Subversion - startet. Stellen Sie sicher, dass Sie entweder alle - notwendigen Umgebungsvariablen in Ihren Hook-Programmen - ausdrücklich setzen und/oder absolute Pfade zu Programmen - verwenden. - - Es gibt mehrere im Subversion-Projektarchiv implementierte Hooks; Details zu jedem können Sie in - in - nachlesen. Als + nachlesen. Als Projektarchiv-Administrator müssen Sie entscheiden, welche Hooks sie einrichten wollen (indem Sie ein entsprechend benanntes und mit den nötigen Zugriffsrechten versehenes @@ -1963,69 +2024,573 @@ übergeben dürfen, benötigen Sie für diese Zugriffskontrolle nicht das Hook-System. + + - Es gibt keinen Mangel an Subversion-Hook-Programmen und - Skripten, die frei verfügbar sind, entweder von der - Subversion-Gemeinschaft oder von woanders her. Diese Skripte - decken ein breites Spektrum ab – grundlegende - Zugriffskontrolle, Kontrolle der Prozesstreue, - Fehlersystemanbindung, E-Mail-basierte oder syndizierte - Benachrichtigungen bei Übergaben und noch viel mehr. Oder, - falls Sie Ihren eigenen schreiben wollen, siehe . + Konfiguration der Umgebung von Hook-Skripten - - Obwohl Hook-Skripte fast alles machen können, gibt es - eine Dimension, in der sich Hook-Skript-Autoren zurückhalten - sollten: Ändern Sie keine - Übergabe-Transaktion mithilfe von Hook-Skripten. Trotz der - Verlockung, Hook-Skripte zur automatischen Korrektur von - Fehlern, Unzulänglichkeiten oder Prozessverletzungen - innerhalb der zu übergebenden Dateien einzusetzen, kann das - zu Problemen führen. Subversion hält bestimmte - Projektarchiv-Daten in client-seitigen Caches vor, und wenn Sie - auf diese Art eine Übergabe-Transaktion verändern, werden - die im Cache befindlichen Informationen ungültig, ohne dass - jemand etwas merkt. Diese Inkonsistenz kann zu - überraschendem und unerwartetem Verhalten führen. Statt die - Transaktion zu verändern, sollten Sie sie einfach im - pre-commit-Hook auf - Gültigkeit prüfen und die Übergabe - ablehnen, falls sie den Anforderungen nicht entspricht. Als - Nebeneffekt werden Ihre Benutzer lernen, wie wertvoll eine - sorgfältige, sich an den Vorgaben orientierende Arbeitsweise - ist. - + Standardmäßig führt Subversion Hook-Skripte mit + einer leeren Umgebung aus – d.h., es sind überhaupt + keine Umgebungsvariablen gesetzt, nicht einmal + $PATH (oder %PATH% + unter Windows). Deshalb sind viele Administratoren verwirrt, + wenn deren Hook-Programme normal starten, wenn sie manuell + aufgerufen werden, aber nicht funktionieren, wenn sie Subversion + startet. Historisch haben Administratoren dem Problem damit + entgegengewirkt, dass sie manuell alle Umgebungsvariablen, + die ihre Hook-Skripte benötigen, im Skript selbst gesetzt + haben. + + Subversion 1.8 stellt eine neue Art vor, die Umgebung + von Hook-Skripten zu verwalten, die von Subversion + ausgeführt werden – die Konfigurationsdatei für die + Hook-Skript-Umgebung. Falls Subversion eine Datei namens + hooks-env im Unterverzeichnis + conf/ des Projektarchivs findet, parst + es diese Datei als Konfigurationsdatei im INI-Format und + wendet die darin gefundenen Optionsnamen und Variablen als + Umgebungsvariablen in der Ausführungs-Umgebung für das + Hook-Skript an. + + + Die Syntax der Datei hooks-env ist + ziemlich einfach: jeder Abschnittsname ist der Name eines + Hook-Skriptes (etwa pre-commit + oder post-revprop-change), und die + Konfigurationseinträge in diesem Abschnitt werden als + Abbildungen von Umgebungsvariablen auf gewünschte Werte + behandelt. Darüber hinaus gibt es noch einen besonderen + Abschnitt [default], der verwendet werden + kann, um Abbildungen von Umgebungsvariablen zu + konfigurieren, die auf alle + Hook-Skripte angewendet werden sollen (es sei denn, sie sind + ausdrücklich durch eigene Hook-Skript Einträge + überschrieben). Siehe + + für ein Beispiel einer hooks-env + Konfigurationsdatei. + + + + + hooks-env (maßgeschneiderte Umgebungskonfiguration + für Hook-Skripte) + + +# Alle Skripte sollten eine UTF-8 Locale verwenden und unser Hook-Skript +# das Werkzeugverzeichnis im Suchpfad haben. + +[default] +LANG = en_US.UTF-8 +PATH = /usr/local/svn/tools:/usr/bin + + +# Auch diee post-commit und post-revprop-change Skripte möchten +# Programme aus unserer maßgeschneiderten Synctools-Replication-Software +# Sammlung verwenden. + +[post-commit] +PATH = /usr/local/synctools-1.1/bin:%(PATH)s + +[post-revprop-change] +PATH = /usr/local/synctools-1.1/bin:%(PATH)s + + + + + + zeigt auch die elegante Syntax zur Ersetzung von + Zeichenketten aus Subversions Konfigurationsdateien-Parser. + In diesem Beispiel wird der Wert der Option + PATH – aus dem Abschnitt + [default] der Datei gelesen – + anstelle des Platzhalters %(PATH)s in + den Hook-Abschnitten eingefügt. Mehr zu dieser besonderen + Syntax finden Sie in der Datei + README.txt in Subversions Verzeichnis + für die Laufzeitkonfiguration. (Und für weitere + Informationen zu diesem Verzeichnis, siehe + .) + + + + Natürlich kann es lästig werden, exakte Duplikate Ihrer + Hook-Skript-Umgebungs-Konfigurations-Dateien in jedem + conf/ Verzeichnis jedes einzelnen + Projektarchivs vorzuhalten, insbesondere, falls Sie + Änderungen an allen machen müssen. Deshalb erlauben Ihnen + die Server von Subversion, einen alternativen (möglicherweise + gemeinsam benutzten) Speicherort für diese Konfiguration + anzugeben. + + + + + + + + + Häufige Anwendungen für Hook-Skripte + + + Projektarchiv-Hook-Skripte können einen breiten Nutzen + bieten, doch die meisten decken ein paar grundsätzliche + Kategorien ab: Benachrichtigung, Validierung und + Replizierung. + + + Benachrichtigungs-Skripte sind diejenigen, die jemanden + mitteilen, dass etwas passiert ist. Die häufigsten hiervon, + die in einem Subversion-Dienst angetroffen werden können, + umfassen Programme, die E-Mails mit Benachrichtigungen zu + Übertragungen und Änderungen an Revisions-Eigenschaften an + Projektmitarbeiter versenden, und die von den post-commit + bzw. post-revprop-change Hooks ausgelöst werden. Es gibt + zahlreiche andere Ansätze zu Benachrichtigungen, von + Integrationsskripten für Fehlerverfolgungs-Systeme bis zu + Skripten, die als IRC-Bots arbeiten, um zu verkünden, dass + sich etwas im Projektarchiv geändert hat. + + + Bei der Validierung ist die Verwendung der Hooks + start-commit und pre-commit weit verbreitet, um + Übertragungen abhängig von verschiedenen Kriterien zu + erlauben oder zu verbieten: der Autor der Übertragung, die + Formatierung und/oder der Inhalt der Protokollnachricht, die + die Übertragung beschreibt, und sogar die Feinheiten der + an Dateien und Verzeichnissen vorgenommenen Änderungen in + der Übertragung. Ähnlich handelt der Hook + pre-revprop-change als Portal zu Änderungen an + Revisions-Eigenschaften, was eine besonders nützliche Rolle + ist, angesichts der Tatsache, dass Revisions-Eigenschaften + an sich nicht versioniert sind und deshalb nur destruktiv + bearbeitet werden können. + + + Eine besondere Klasse von Änderungsvalidierung, die seit + der Veröffentlichung Subversion 1.5 weit verbreitet ist, + stellt die Validierung des übertragenden Clients an sich + dar. Als die Merge-Tracking-Funktionalität von Subversion + (ausführlich beschrieben in ) + mit dieser Veröffentlichung eingeführt wurde, benötigten + Subversion-Administratoren eine Möglichkeit, + sicherzustellen, dass, alle Merges von + Anwendern ihrer Projektarchive, die die neue + Funktionalität verwendeten, verfolgt werden. Um die + Wahrscheinlichkeit eines nicht verfolgten Merges zu + verringern, verwendeten sie start-commit-Hooks, um die von + Subversion-Clients bekanntgegebenen funktionalen Fähigkeiten + zu untersuchen. Falls der übertragende Client nicht die + Fähigkeit zur Unterstützung von Merge-Tracking meldete, + wurde die Übertragung abgelehnt und eine Anleitung zum + aktualisieren des Clients an den Anwender gesendet. + stellt + ein Beispiel eines start-commit-Skripts bereit, was genau + das macht. + + + + start-commit Hook, um Merge-Tracking Unterstützung zu + erzwingen + + +#!/usr/bin/env python +import sys + +# sys.argv[3] is a colon-delimited capabilities list +if 'mergeinfo' not in sys.argv[3].split(':'): + sys.stderr.write("""\ +ERROR: Commits to this repository must be made using Subversion +clients which support the merge tracking feature. Please upgrade +your client to at least Subversion 1.5.0. +""") + sys.exit(1) + + + + + + + Eigenschaften + flüchtige Transaktions-Eigenschaften + Beginnend mit Subversion 1.8, stellen Clients, + die an einen Subversion 1.8 Server übertragen immer noch die + Zeichenkette mit ihren funktionalen Fähigkeiten zur + Verfügung, geben darüber hinaus gehend jedoch zusätzliche + Informationen über sich preis durch flüchtige + Transaktions-Eigenschaften. Flüchtige + Transaktions-Eigenschaften sind im Grunde genommen + Revisions-Eigenschaften, die vom Client während der + Übertragungs-Transaktion bei der frühesten Gelegenheit + gesetzt werden, die dann aber vom Server wieder entfernt + werden, unmittelbar, bevor die Transaktion eine + abgeschlossene Revision wird. Sie können diese Eigenschaften + mit denselben Werkzeugen untersuchen, mit denen Sie andere + bei Übertragungs-Transaktionen im Zeitraum zwischen dem + Aufruf der start-commit und pre-commit Hooks gesetzte + unversionierte Eigenschaften untersuchen würden. + + + Die folgenden sind die flüchtigen + Transaktions-Eigenschaften, die Subversion momentan + unterstützt und implementiert: + + + + + svn:txn-client-compat-version + + + Beinhaltet die Zeichenkette mit der Version der + Subversion-Bibliothek zu der der Client angibt, + kompatibel zu sein. Das ist nützlich, um zu + entscheiden, ob der Client die zur richtigen + Behandlung der Projektarchiv-Daten notwendige minimale + Funktionalität unterstützt. + + + + + svn:txn-user-agent + + + Beinhaltet die Zeichenkette user + agent, die das übertragende Client-Programm + beschreibt. Die Bibliotheken von Subversion definieren + der ersten Teil dieser Zeichenkette, doch können + Dritte, die dieses API verwenden (GUI-Clients, usw.) + eigene Informationen anhängen. + + + + + + + + + + +
  • Prüfen Sie unseren Issue Tracker, um zu sehen, ob schon jemand anderes den Fehler gemeldet hat. Wenn das der Fall ist, dann ist nichts weiter zu tun, außer Sie möchten einen Patch beisteuern, der das Problem behebt.
  • From svnbook at googlecode.com Tue Feb 3 11:18:40 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 03 Feb 2015 17:18:40 +0000 Subject: [svnbook] r4971 committed - Fixes for the index. Message-ID: <089e01634eaa1890d7050e324345@google.com> Revision: 4971 Author: jmfelderhoff at gmx.eu Date: Tue Feb 3 17:18:07 2015 UTC Log: Fixes for the index. https://code.google.com/p/svnbook/source/detail?r=4971 Modified: /branches/1.8/de/book/appc-webdav.xml /branches/1.8/de/book/ch00-preface.xml /branches/1.8/de/book/ch01-fundamental-concepts.xml /branches/1.8/de/book/ch03-advanced-topics.xml /branches/1.8/de/book/ch04-branching-and-merging.xml /branches/1.8/de/book/ch05-repository-admin.xml /branches/1.8/de/book/ch06-server-configuration.xml /branches/1.8/de/book/ch08-embedding-svn.xml /branches/1.8/de/book/ch09-reference.xml /branches/1.8/de/book/foreword.xml /branches/1.8/de/book/ref-svn.xml ======================================= --- /branches/1.8/de/book/appc-webdav.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/appc-webdav.xml Tue Feb 3 17:18:07 2015 UTC @@ -147,7 +147,7 @@ Spezifikation zu komplex sei. Andere wiederum sagen, dass, während sich die Möglichkeiten von WebDAV an die Masse wenden (selbst minder technikaffine Benutzer wissen vernetzte - Dateisysteme zu schätzen), seine Versionskontrollfähigkeiten + Dateisysteme zu schätzen), seine Versions-Kontroll-Fähigkeiten dagegen für die meisten Benutzer nicht interessant oder notwendig seien. Schließlich glauben manche, dass DeltaV unbeliebt bleibe, weil es noch kein quelloffenes Server-Produkt ======================================= --- /branches/1.8/de/book/ch00-preface.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/ch00-preface.xml Tue Feb 3 17:18:07 2015 UTC @@ -101,7 +101,7 @@ Apache™ Subversion®In diesem Buch werden wir es einfach Subversion nennen. Sie werden uns dankbar sein, sobald Sie feststellen, wie viel Platz das spart! - Versionskontrollsystems zu dokumentieren. Wir haben stets versucht, die + Versions-Kontroll-Systems zu dokumentieren. Wir haben stets versucht, die Themen gründlich zu behandeln. Jedoch hat Subversion eine florierende und tatkräftige Entwicklergemeinde, so dass bereits eine Menge an Features und Verbesserungen für künftige Versionen von Subversion geplant sind, die @@ -142,18 +142,18 @@ Subversion - Versionskontrollsysteme + Versions-Kontroll-Systeme VCS - Versionskontrollsysteme + Versions-Kontroll-Systeme Subversion ist ein freies/Open-Source - Versionskontrollsystem (VCS). Das + Versions-Kontroll-System (VCS). Das bedeutet, Subversion verwaltet Dateien und Verzeichnisse und die Änderungen an ihnen im Lauf der Zeit. Das erlaubt Ihnen, alte Versionen Ihrer Daten wiederherzustellen oder die Geschichte der Änderungen zu verfolgen. Unter diesem Blickwinkel denken viele - Leute bei einem Versionskontrollsystem an eine Art + Leute bei einem Versions-Kontroll-System an eine Art Zeitmaschine.
    Mit der Verwendung von Versionskontrolle sind auch Kosten verbunden. Falls Sie die Verwaltung Ihres - Versionskontroll-Systems nicht an Dritte weitergeben können, + Versions-Kontroll-Systems nicht an Dritte weitergeben können, haben Sie offensichtlich die Kosten der Verwaltung selbst zu tragen. Wenn Sie täglich mit den Daten arbeiten, werden Sie sie nicht auf die gleiche Art kopieren, verschieben, umbenennen oder löschen können wie gewohnt. Stattdessen - müssen Sie dafür das Versionskontroll-System verwenden. + müssen Sie dafür das Versions-Kontroll-System verwenden.
    Selbst unter der Annahme, dass Sie mit dem - Kosten/Nutzen-Verhältnis des Versionskontroll-Systems + Kosten/Nutzen-Verhältnis des Versions-Kontroll-Systems einverstanden sind, sollten Sie keins verwenden, nur weil es das, was Sie möchten, kann. Erwägen Sie, ob andere Werkzeuge Ihnen eher entgegenkommen können. Zum @@ -359,7 +359,7 @@ --> - versionskontroll-Systeme + Versions-Kontroll-Systeme zentralisierte Sobald Sie sich sicher sind, eine Lösung in Form einer Versionskontrolle zu benötigen, werden Sie feststellen, dass @@ -373,7 +373,7 @@ setzte sich nach seiner ursprünglichen Einführung schnell an die Spitze in diesem Gebiet der Versionskontrolle, gewann weit verbreitete Akzeptanz und ersetzte Installationen vieler - älterer Versionskontroll-Systeme. Auch heute bleibt seine + älterer Versions-Kontroll-Systeme. Auch heute bleibt seine herausragende Stellung bestehen. - Versionskontroll-Systeme + Versions-Kontroll-Systeme verteilte DVCS - versionskontrollSysteme, verteilte + Versions-Kontroll-Systeme, verteilte Seitdem hat sich jedoch viel geändert. In den Jahren seit der Geburt des Subversion Projektes hat eine neuere Methodik namens verteilte Versionskontrolle @@ -424,7 +424,7 @@ Werkzeuge wie Git () und Mercurial () stellten sich schnell an die Spitze n der Rangfolge der - verteilten Versionskontroll-Systeme (DVCS). Verteilte + verteilten Versions-Kontroll-Systeme (DVCS). Verteilte Versionskontrolle macht sich die wachsende Allgegenwärtigkeit von Hochgeschwindigkeits-Netzverbindungen und geringen Speicherkosten zu Nutze, um einen Ansatz verfügbar zu machen, @@ -472,7 +472,7 @@ weitaus bessere Unterstützung des Zusammenführens zwischen Zweigen (da Zusammenführungs-Algorithmen jedenfalls den eigentlichen Kern der Funktionalität von verteilten - Versionskontroll-Systemen bilden). Der Nachteil ist, dass + Versions-Kontroll-Systemen bilden). Der Nachteil ist, dass verteilte Versionskontrolle ein an sich komplizierteres Modell darstellt, das eine nicht zu vernachlässigende Herausforderung für eine bequeme Zusammenarbeit. Außerdem verrichten @@ -503,7 +503,7 @@ Leider handelt dieses Buch von Subversion, so dass wir nicht versuchen werden, einen vollständigen Vergleich zwischen Subversion und anderen Werkzeugen durchzuführen. Lesern, die - die ihr Versionskontroll-System wählen dürfen, wird geraten, + die ihr Versions-Kontroll-System wählen dürfen, wird geraten, die verfügbaren Alternativen zu prüfen und sich für diejenige zu entscheiden, die am besten für sie und ihre Mitarbeiter funktioniert. Falls schließlich Subversion das Werkzeug der @@ -561,7 +561,7 @@ ersetzt worden. eine Software-Suite namens CollabNet Enterprise Edition (CEE) für die Zusammenarbeit an, die auch eine Komponente für Versionskontrolle beinhaltete. - Obwohl CEE ursprünglich CVS als Versionskontrollsystem + Obwohl CEE ursprünglich CVS als Versions-Kontroll-System verwendete, waren die Einschränkungen von CVS von Anfang an offensichtlich, und CollabNet war sich bewusst, dass letztendlich etwas Besseres gefunden werden musste. @@ -569,7 +569,7 @@ Open-Source-Welt geworden, hauptsächlich deshalb, weil es nichts Besseres gab, zumindest nicht unter einer freien Lizenz. Also beschloss CollabNet, ein vollständig neues - Versionskontrollsystem zu schreiben, welches die grundlegenden + Versions-Kontroll-System zu schreiben, welches die grundlegenden Ideen von CVS beibehalten, jedoch die Fehler und Fehlentwicklungen vermeiden sollte. @@ -604,7 +604,7 @@ Open Source Development with CVS (Coriolis, 1999), und fragten ihn, ob er an diesem neuen Projekt mitarbeiten wolle. Zufälligerweise besprach Karl - bereits einen Entwurf für ein neues Versionskontrollsystem mit + bereits einen Entwurf für ein neues Versions-Kontroll-System mit seinem Freund Jim Blandy. Im Jahr 1995 gründeten die beiden Cyclic Software, eine CVS-Beraterfirma, und sie benutzten, obwohl sie die Firma später verkauften, bei ihrer täglichen @@ -638,7 +638,7 @@ --> Das ursprüngliche Designteam einigte sich auf einige einfache Ziele. Sie wollten kein Neuland in - Versionskontrollmethodik betreten, sondern einfach CVS + Versions-Kontroll-Methodik betreten, sondern einfach CVS reparieren. Sie beschlossen, dass Subversion dieselben Merkmale und dasselbe Entwicklungsmodell wie CVS haben solle, wobei die Fehler von CVS aber nicht noch einmal gemacht werden @@ -1048,7 +1048,7 @@ Dateien erzeugt und somit der Commit-Zugriff für bestimmte Ressourcen serialisiert werden. Während Subversion immer noch grundsätzlich ein gleichzeitiges - Versionskontrollsystem ist, können bestimmte Arten + Versions-Kontroll-System ist, können bestimmte Arten binärer Dateien (z.B. Kunstobjekte) nicht zusammengeführt werden. Die Sperrmöglichkeit stillt den Bedarf, solche Ressourcen zu versionieren und zu @@ -1317,11 +1317,11 @@ --> Obwohl dieses Buch unter der Annahme geschrieben worden ist, - dass der Leser noch nie ein Versionskontrollsystem benutzt hat, + dass der Leser noch nie ein Versions-Kontroll-System benutzt hat, haben wir auch versucht, für Anwender von CVS (und anderen Systemen) den Sprung zu Subversion so schmerzlos wie möglich zu machen. Ab und zu werden in Randnotizen andere - Versionskontrollsysteme erwähnt, und + Versions-Kontroll-Systeme erwähnt, und fasst viele der Unterschiede zwischen CVS und Subversion zusammen. - Versionskontrollsysteme - Ein Versionskontrollsystem (oder + Versions-Kontroll-Systeme + Ein Versions-Kontroll-System (oder Revisionskontrollsystem) ist ein System, das inkrementelle Versionen (oder Revisionen) von Dateien und, in manchen Fällen, Verzeichnissen über die Zeit hinweg verfolgt. Natürlich ist es für sich nicht sehr interessant, die verschiedenen Versionen eines Anwenders (oder einer Gruppe von Anwendern) zu verfolgen. - Was ein Versionskontrollsystem nützlich macht, ist die Tatsache, + Was ein Versions-Kontroll-System nützlich macht, ist die Tatsache, dass es Ihnen erlaubt, die Änderungen zu untersuchen, die zu jeder dieser Versionen geführt haben und es ermöglicht, erstere jederzeit wieder aufzurufen. @@ -78,10 +78,10 @@ operate across wide-area networks. --> In diesem Abschnitt werden wir einige Komponenten und - Konzepte von Versionskontrollsystemen auf ziemlich hohem Niveau - vorstellen. Wir werden uns auf moderne Versionskontrollsysteme + Konzepte von Versions-Kontroll-Systemen auf ziemlich hohem Niveau + vorstellen. Wir werden uns auf moderne Versions-Kontroll-Systeme beschränken – in der heutigen vernetzten Welt hat es wenig - Sinn, Versionskontrollsystemen eine Berechtigung einzuräumen, + Sinn, Versions-Kontroll-Systemen eine Berechtigung einzuräumen, die nicht über Netze hinweg arbeiten können. @@ -124,9 +124,9 @@ Dateisystem-Baum - Versionskontrollsysteme + Versions-Kontroll-Systeme Clients - Im Kern eines Versionskontrollsystems ist ein + Im Kern eines Versions-Kontroll-Systems ist ein Projektarchiv, das der zentrale Speicher der Daten dieses Systems ist. Das Projektarchiv speichert Informationen gewöhnlicherweise in Form eines @@ -180,15 +180,15 @@ Wenn ein Client Daten aus dem Projektarchiv liest, bekommt der Client üblicherweise nur die letzte Version des - Dateisystem-Baumes zu sehen. Was ein Versionskontrollsystem + Dateisystem-Baumes zu sehen. Was ein Versions-Kontroll-System aber interessant macht, ist darüber hinaus die Fähigkeit, vorherige Zustände des Dateibaums aus dem Projektarchiv - abzurufen. Ein Versionskontrollsystem kann historische Fragen + abzurufen. Ein Versions-Kontroll-System kann historische Fragen stellen, wie Was beinhaltete das Verzeichnis am letzten Mittwoch? und Wer war die Person, die als letztes die Datei geändert hat und welche Änderungen hat sie gemacht?. Diese Art von Fragen sind die Grundlage - eines Versionskontrollsystems. + eines Versions-Kontroll-Systems. @@ -221,21 +221,21 @@ Arbeitskopien - Der Wert eines Versionskontrollsystems rührt von + Der Wert eines Versions-Kontroll-Systems rührt von der Tatsache her, dass es Versionen von Dateien und Verzeichnissen verfolgt, doch der Rest des Software-Universums arbeitet nicht auf Versionen von Dateien und Verzeichnissen. Die meisten Programme wissen, wie mit einer einzelnen Version eines bestimmten Dateityps umgegangen wird. Wie arbeitet also ein Anwender - eines Versionskontrollsystems konkret mit einem abstrakten + eines Versions-Kontroll-Systems konkret mit einem abstrakten – und oft entfernten – Projektarchiv voll mit mehreren Versionen verschiedener Dateien? Wie schaffen es seine oder ihre Textbearbeitungs-Software, Präsentations-Software, Quelltexteditoren, Web-Design-Software oder sonstigen Programme, die alle nur mit einfachen Dateien umgehen können, Zugriff auf solche Dateien zu bekommen? Die - Antwort findet sich im Versionskontroll-Konstrukt, das als + Antwort findet sich im Versions-Kontroll-Konstrukt, das als Arbeitskopie bekannt ist. - Wenn die primäre Mission eines Versionskontrollsystems + Wenn die primäre Mission eines Versions-Kontroll-Systems darin besteht, die unterschiedlichen Versionen digitaler Informationen über die Zeit hinweg zu verfolgen, liegt eine sehr nahe sekundäre Mission darin, das kollaborative @@ -302,7 +302,7 @@ verwenden unterschiedliche Systeme auch unterschiedliche Strategien, um dies zu bewerkstelligen. Aus einer Reihe von Gründen ist es wichtig, diese Unterschiede zu verstehen. - Zunächst hilft es dabei, bestehende Versionskontrollsysteme zu + Zunächst hilft es dabei, bestehende Versions-Kontroll-Systeme zu vergleichen und gegenüberzustellen, falls Ihnen andere Systeme begegnen, die Subversion ähneln. Darüber hinaus wird es Ihnen helfen, Subversion effektiver zu benutzen, da Subversion @@ -324,7 +324,7 @@ to accidentally overwrite each other's changes in the repository. --> - Alle Versionskontrollsysteme haben das gleiche + Alle Versions-Kontroll-Systeme haben das gleiche fundamentale Problem zu lösen: Wie soll es Anwendern erlaubt werden, Informationen zu teilen, aber sie davor zu bewahren, sich gegenseitig auf die Füße zu treten? Es ist allzu @@ -410,7 +410,7 @@ Versionskontrolle Modelle Sperren-Ändern-Entsperren - Viele Versionskontrollsysteme verwenden ein + Viele Versions-Kontroll-Systeme verwenden ein Sperren-Ändern-Entsperren-Modell um zu verhindern, dass verschiedene Autoren sich gegenseitig die Änderungen löschen. Bei diesem Modell erlaubt das Projektarchiv nur jeweils @@ -564,7 +564,7 @@ Modelle kopieren-ändern-zusammenführen Subversion, CVS und viele andere - Versionskontrollsysteme benutzen ein + Versions-Kontroll-Systeme benutzen ein Kopieren–Ändern–Zusammenfassen-Modell als Alternative zum Sperren. In diesem Modell verbindet sich jeder Client der Anwender mit dem Projektarchiv und erzeugt @@ -572,7 +572,7 @@ gleichzeitig und unabhängig voneinander an ihren privaten Kopien. Am Ende werden dann alle Einzelkopien zu einer neuen, aktuellen Version zusammengeführt. Das - Versionskontrollsystem hilft oft bei dieser Zusammenführung, + Versions-Kontroll-System hilft oft bei dieser Zusammenführung, aber letztlich ist der Mensch dafür verantwortlich, das es korrekt abläuft. @@ -599,7 +599,7 @@ --> - out of date + veraltet Hier ist ein Beispiel: Harry und Sally haben sich jeweils eine eigene Arbeitskopie des im Projektarchiv vorhandenen Projektes geschaffen. Beide arbeiten nun an der @@ -794,9 +794,9 @@ version control. --> Wir haben bereits erwähnt, dass Subversion ein modernes, - netzbewusstes Versionskontrollsystem. Wie wir in + netzbewusstes Versions-Kontroll-System. Wie wir in beschrieben - haben (unser Versionskontroll-Überblick auf hoher Ebene), dient + haben (unser Versions-Kontroll-Überblick auf hoher Ebene), dient ein Projektarchiv als Kern-Speichermechanismus für die versionierten Daten von Subversion, und über Arbeitskopien kommunizieren Anwender und ihre Software mit diesen Daten. In @@ -826,7 +826,7 @@ --> Subversion implementiert das Konzept eines Projektarchivs für Versionskontrolle so, wie es jedes andere moderne - Versionskontrollsystem auch machen würde. Im Gegensatz zu + Versions-Kontroll-System auch machen würde. Im Gegensatz zu einer Arbeitskopie ist ein Subversion-Projektarchiv ein abstraktes Gebilde, das sich fast ausschließlich über die eigenen Subversion-Bibliotheken und -Werkzeuge manipulieren @@ -855,7 +855,7 @@ versionierten Dateien zusammen mit Metadaten, die dem System erlauben, erstere zu überwachen und mit dem Server zu kommunizieren – eine Arbeitskopie - genannt. Obwohl andere Versionskontrollsysteme den Begriff + genannt. Obwohl andere Versions-Kontroll-Systeme den Begriff Projektarchiv (Repository) für das client-seitige Objekt verwenden, ist es sowohl falsch als auch eine verbreitete Quelle für Missverständnisse, @@ -977,7 +977,7 @@ Revisionen globale - Anders als die meisten Versionskontrollsysteme + Anders als die meisten Versions-Kontroll-Systeme werden die Revisionsnummern von Subversion auf den kompletten Projektarchiv-Baum anstatt auf einzelne Dateien angewendet. Jede Revisionsnummer wählt @@ -991,7 +991,7 @@ Revision 5 aussieht
    . Beachten Sie, dass sich im Allgemeinen die Revisionen N und M einer Datei nicht notwendigerweise unterscheiden! - Viele andere Versionskontrollsysteme verwenden dateibezogene + Viele andere Versions-Kontroll-Systeme verwenden dateibezogene Revisionsnummern, so dass dieses Konzept zunächst ungewöhnlich aussieht. (Ehemalige CVS-Benutzer sollten sich für weitergehende Informationen @@ -1301,11 +1301,11 @@ projektarchiv-relative URL - Yirkumflex-Syntax + Zirkumflex-Syntax ^ - caret syntax + Zirkumflex-Syntax In Subversion 1.6 wurde eine neue Notation mit Zirkumflex (^) als Kurzschreibweise für der URL des Wurzelverzeichnisses des Projektarchivs @@ -1800,7 +1800,7 @@ einchecken - Übertragen + übertragen Angenommen, Sie nehmen Änderungen an button.c vor. Da sich das Verzeichnis .svn den ursprünglichen @@ -1833,7 +1833,7 @@ commit - Übertragen + übertragen Um Ihre Änderungen anderen gegenüber zu veröffentlichen, können Sie den Subversion-Befehl svn commit verwenden:
    @@ -1911,7 +1911,7 @@ update - altualisieren + aktualisieren Arbeitskopien @@ -2286,7 +2286,7 @@ möchten herausbekommen, wann ein Fehler das erste Mal in einer Datei auftauchte. Dies ist der Zeitmaschinen-Aspekt eines - Versionskontrollsystems – die Eigenschaft, die es + Versions-Kontroll-Systems – die Eigenschaft, die es ermöglicht, irgendeinen Teil Ihrer Arbeitskopie zeitlich nach vorne oder nach hinten zu verschieben.
    ======================================= --- /branches/1.8/de/book/ch03-advanced-topics.xml Fri Jan 16 13:41:33 2015 UTC +++ /branches/1.8/de/book/ch03-advanced-topics.xml Tue Feb 3 17:18:07 2015 UTC @@ -22,7 +22,7 @@ Falls Sie dieses Buch kapitelweise von vorne nach hinten lesen, sollten Sie sich bis hierhin ausreichende Kenntnisse über die Verwendung des Subversion-Clients angeeignet haben, um die - gebräuchlichsten Versionskontrolltätigkeiten ausführen zu können. + gebräuchlichsten Versions-Kontroll-Tätigkeiten ausführen zu können. Sie wissen, wie eine Arbeitskopie aus einem Subversion-Projektarchiv ausgecheckt wird. Sie kommen gut damit zurecht, Änderungen mittels svn commit und @@ -39,7 +39,7 @@ directory changes to and from a central repository. --> Subversions Funktionsumfang macht allerdings nicht bei - gewöhnlichen Versionskontrolltätigkeiten halt. Es + gewöhnlichen Versions-Kontroll-Tätigkeiten halt. Es bietet mehr, als lediglich den Transport von Datei- und Verzeichnisänderungen in ein und aus einem zentralen Projektarchiv zu ermöglichen. @@ -422,7 +422,7 @@ some examples.
    --> Revisionsnummern offenbaren nichts über die Welt außerhalb - des Versionskontrollsystems, doch manchmal müssen Sie einen + des Versions-Kontroll-Systems, doch manchmal müssen Sie einen Zeitpunkt mit einem Moment der Versionsgeschichte korrelieren. Um das zu ermöglichen, erlaubt die Option () auch @@ -609,7 +609,7 @@ --> Dateien und Verzeichnisse werden auf unseren Rechnern ständig kopiert, verschoben, umbenannt und vollständig - ersetzt. Ihr Versionskontrollsystem sollte nicht im Weg stehen, + ersetzt. Ihr Versions-Kontroll-System sollte nicht im Weg stehen, wenn Sie diese Dinge auch mit Dateien und Verzeichnissen unter Versionskontrolle machen. Die Dateiverwaltungsunterstützung von Subversion ist sehr befreiend, indem sie beinahe die gleiche @@ -1319,7 +1319,7 @@ Projektarchiv ablegt und wieder herausholt. Ganze Kapitel haben sich dieser fundamentalen Funktionalität des Werkzeugs gewidmet. Falls die Versionierungsunterstützung an diesem Punkt aufhörte, - wäre Subversion aus Versionskontrollperspektive immer noch + wäre Subversion aus Versions-Kontroll-Perspektive immer noch vollständig. Falls auf einem Verzeichnis vorhanden, ist der Wert eine Liste unversionierter - Dateimuster, die von svn status und + Dateinamen-Muster, die von svn status und anderen Unterbefehlen ignoriert werden sollen. Anders als bei svn:ignore werden diese Muster auf alle unversionierten @@ -4826,15 +4826,15 @@ --> - file patterns + Dateinamen-Muster globs - file patterns + Dateinamen-Muster - shell wildcard patterns - file patterns + Shell-Wildcard-Muster + Dateinamen-Muster Also bietet Ihnen Subversion mehrere Möglichkeiten, wie Sie ihm mitteilen können, welche Dateien Sie lieber nicht beachten möchten. Die eine Möglichkeit verwendet das @@ -4848,7 +4848,7 @@ und sind enger an den versionierten Baum gebunden, so dass hiervon jeder betroffen ist, der eine Arbeitskopie dieses Baumes besitzt. Alle dieser Möglichkeiten verwenden - Dateimuster (Ketten aus normalen Zeichen + Dateinamen-Muster (Ketten aus normalen Zeichen und solchen mit besonderer Bedeutung, die mit Dateinamen verglichen werden), um zu entscheiden, welche Dateien ignoriert werden können. @@ -4869,7 +4869,7 @@ --> Das Laufzeit-Konfigurationssystem von Subversion stellt eine Option global-ignores zur Verfügung, dessen - Wert eine Sammlung von Dateimustern ist, die durch Leerraum + Wert eine Sammlung von Dateinamen-Mustern ist, die durch Leerraum getrennt sind. Der Subversion-Client vergleicht diese Muster sowohl mit den Dateinamen der unter Versionskontrolle zu bringenden Kandidaten als auch mit den Namen der @@ -4886,7 +4886,7 @@ - Dateimuster in Subversion + Dateinamen-Muster in Subversion - Dateimuster (auch Globs oder + Dateinamen-Muster (auch Globs oder Shell-Jokerzeichen genannt) sind Ketten aus Zeichen, die mit Dateinamen verglichen werden sollen, typischerweise für die schnelle Auswahl einer Teilmenge von @@ -4918,7 +4918,7 @@ function. It supports the following wildcards, described here simply for your convenience: --> - Es gibt verschiedene Typen von Dateimuster-Regeln, doch + Es gibt verschiedene Typen von Dateinamen-Muster-Regeln, doch verwendet Subversion die auf Unix-Systemen verbreitete Variante, wie sie dort in der Systemfunktion fnmatch implementiert ist. Sie @@ -4966,7 +4966,7 @@ shell prompt. The following are some examples of patterns being used for various things: --> - Das gleiche Verhalten beim Abgleich von Dateimustern + Das gleiche Verhalten beim Abgleich von Dateinamen-Mustern können Sie bei der Eingabeaufforderung einer Unix-Shell beobachten. Es folgen einige Beispiele von Mustern für verschiedene Dinge: @@ -5013,7 +5013,7 @@ we've described here, but this basic usage level tends to suit the majority of Subversion users. --> - Dateimuster-Abgleich ist zwar ein bisschen komplizierter + Dateinamen-Muster-Abgleich ist zwar ein bisschen komplizierter als hier beschrieben, jedoch ist Beschränkung auf diese grundlegende Ebene für die Mehrheit der Subversion-Benutzer ausreichend. @@ -5043,10 +5043,10 @@ --> Wenn die Eigenschaft svn:ignore an einem versionierten Verzeichnis auftritt, wird erwartet, dass der Wert - eine Liste von (durch Zeilenvorschübe getrennten) Dateimustern + eine Liste von (durch Zeilenvorschübe getrennten) Dateinamen-Mustern enthält, die Subversion benutzen soll, um ignorierbare Objekte in demselben Verzeichnis zu bestimmen. - Diese Dateimuster setzen nicht jene außer Kraft, die in der + Diese Dateinamen-Muster setzen nicht jene außer Kraft, die in der Laufzeit-Konfigurations-Option global-ignores gefunden werden, sondern werden an deren Liste angehängt. An dieser Stelle lohnt es sich, noch einmal darauf hinzuweisen, @@ -5094,7 +5094,7 @@ Eigenschaft svn:global-ignores. So wie die Eigenschaft svn:ignore, kann svn:global-ignores nur auf einem Verzeichnis - gesetzt werden und enthält Dateimuster, die Subversion + gesetzt werden und enthält Dateinamen-Muster, die Subversion verwendet, um festzustellen, welche Objekte es ignorieren kann.Die zu ignorierenden Muster der Eigenschaft svn:global-ignores können durch Leerzeichen, @@ -5132,7 +5132,7 @@ --> - Die Unterstützung für ignorierbare Dateimuster in + Die Unterstützung für ignorierbare Dateinamen-Muster in Subversion erstreckt sich lediglich auf die einmalige Handlung, unversionierte Dateien und Verzeichnisse unter Versionskontrolle zu stellen. Sobald ein Objekt unter @@ -5434,7 +5434,7 @@ present. --> Wie bereits früher erwähnt, wird die Liste der zu - ignorierenden Dateimuster auch von svn add + ignorierenden Dateinamen-Muster auch von svn add und svn import verwendet. Beide dieser Befehle haben zur Folge, dass Subversion damit beginnt, eine Menge von Dateien und Verzeichnissen zu verwalten. Statt den @@ -5444,7 +5444,7 @@ die verzeichnisgebundenen und die ererbten Listen – um festzustellen, welche Dateien nicht im Rahmen einer größeren rekursiven Hinzufüge- oder Importaktion in das - Versionskontrollsystem gebracht werden sollen. Auch hier können + Versions-Kontroll-System gebracht werden sollen. Auch hier können Sie wieder die Option verwenden, um Subversion mitzuteilen, die Ignorier-Listen zu ignorieren und auf allen vorhandenen Dateien und Verzeichnissen zu @@ -5546,7 +5546,7 @@ diese Information sich mit jeder Änderung der Datei auch ändert, noch wichtiger, nachdem sich die Datei ändert, ist es für jeden Prozess außer dem - Versionskontrollsystem ein ziemlicher Aufwand, die Daten + Versions-Kontroll-System ein ziemlicher Aufwand, die Daten vollständig aktuell zu halten. Würde das den Autoren überlassen, veralteten die Informationen unausweichlich. @@ -7432,7 +7432,7 @@ Kommunikation wäre insofern auch keine schlechte Medizin für die gleichnamigen Harry und Sally aus Hollywood gewesen. Aus der Tatsache, dass das eigene - Versionskontrollsystem eine Kommunikationsform darstellt, folgt, + Versions-Kontroll-System eine Kommunikationsform darstellt, folgt, dass es keine schlechte Sache wäre, wenn diese Software die Serialisierung von nicht parallel durchführbaren Änderungen ermöglichte. Hier ist der Zeitpunkt für die @@ -7440,7 +7440,7 @@ gekommen. Hier reden wir nun über das Sperren in Subversion, das in etwa den Reserved Checkouts anderer - Versionskontrollsysteme entspricht. + Versions-Kontroll-Systeme entspricht. - Das Tolle an Versionskontrollsystemen ist, dass + Das Tolle an Versions-Kontroll-Systemen ist, dass Informationen nie verlorengehen. Selbst wenn Sie eine Datei oder ein Verzeichnis löschen, ist es zwar nicht mehr in der HEAD-Revision vorhanden, jedoch noch in @@ -3464,7 +3464,7 @@ --> Genauso oft wie der Begriff Änderungsmenge wird die Wendung die Rosinen - herauspicken in Versionskontrollsystemen + herauspicken in Versions-Kontroll-Systemen verwendet. Das bezieht sich darauf, eine bestimmte Änderungsmenge von einem Zweig auszuwählen und sie auf einen anderen anzuwenden. Die Rosinen herauszupicken kann @@ -4922,7 +4922,7 @@ changesets that affected the file, but also exactly which user wrote which line of code, and when she did it. --> - Ein Hauptmerkmal jedes Versionskontrollsystems ist es, + Ein Hauptmerkmal jedes Versions-Kontroll-Systems ist es, darüber Buch zu führen, wer was wann geändert hat. Die Unterbefehle svn log und svn blame sind die geeigneten Werkzeuge hierfür: Wenn sie auf @@ -6836,7 +6836,7 @@ aufpassen, da es sich bei diesen Mustern um bewährte Vorgehensweisen handelt, die von erfahrenen Menschen empfohlen werden. Diese Prozesse sind nicht spezifisch für Subversion; sie - sind anwendbar auf alle Versionskontrollsysteme. Trotzdem + sind anwendbar auf alle Versions-Kontroll-Systeme. Trotzdem mag es hilfreich sein, wenn sie anhand von Subversion erklärt werden. @@ -7279,7 +7279,7 @@ --> Allerdings möchten Sie von Zeit zu Zeit spezielle Anpassungen des Drittanbieter-Codes in Ihrem eigenen - Versionskontrollsystem verwalten. Um auf unser Beispiel aus der + Versions-Kontroll-System verwalten. Um auf unser Beispiel aus der Software=Entwicklung zurückzukommen, müssen Entwickler manchmal die Bibliothek der Drittanbieter für ihre Zwecke verändern. Diese Änderungen können neue Funktionalitäten oder @@ -7321,7 +7321,7 @@ Die Lösung dieses Problems besteht in der Verwendung von Lieferanten-Zweigen. Ein Lieferanten-Zweig ist ein Verzeichnisbaum in Ihrem eigenen - Versionskontrollsystem, der Informationen enthält, die von einem + Versions-Kontroll-System, der Informationen enthält, die von einem Drittanbieter – oder Lieferanten – bereitgestellt wird. Jede Version der Lieferantendaten, die Sie in Ihr Projekt aufnehmen wollen, wird Zulieferung @@ -7340,7 +7340,7 @@ --> Lieferanten-Zweige bieten zwei Vorteile. Erstens, wird durch das Vorhalten der aktuellen Zulieferung in Ihrem eigenen - Versionskontrollsystem sichergestellt, dass für Ihre + Versions-Kontroll-System sichergestellt, dass für Ihre Projektmitarbeiter stets die richtige Version der Lieferantendaten verfügbar ist. Sie erhalten die richtige Version automatisch beim Aktualisieren ihrer Arbeitskopien. ======================================= --- /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 3 12:29:28 2015 UTC +++ /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 3 17:18:07 2015 UTC @@ -424,7 +424,7 @@ two. --> Nehmen wir an, Sie seien als Projektarchiv-Administrator für - die Versionskontrollsysteme mehrerer Projekte zuständig. Ihre + die Versions-Kontroll-Systeme mehrerer Projekte zuständig. Ihre erste Entscheidung ist, ob Sie ein einzelnes Projektarchiv für mehrere Projekte verwenden, jedem Projekt sein eigenes Projektarchiv geben oder einen Kompromiss aus diesen beiden @@ -4760,7 +4760,7 @@ Das Auszugsformat eines Subversion Projektarchivs erlaubt ebenfalls die Umwandlung aus einem vollständig unterschiedlichen Speichermechanismus oder - Versionskontrollsystem. Da das Format der Auszugsdatei + Versions-Kontroll-System. Da das Format der Auszugsdatei größtenteils menschenlesbar ist, sollte es relativ einfach sein, in diesem Dateiformat generische Änderungsmengen zu beschreiben, wobei jede als neue Revision behandelt werden ======================================= --- /branches/1.8/de/book/ch06-server-configuration.xml Mon Jan 26 11:47:32 2015 UTC +++ /branches/1.8/de/book/ch06-server-configuration.xml Tue Feb 3 17:18:07 2015 UTC @@ -8123,7 +8123,7 @@ --> Vergessen Sie nicht, dass es sich hier um ein - Versionskontrollsystem handelt! Selbst falls jemand + Versions-Kontroll-System handelt! Selbst falls jemand versehentlich eine Änderung dorthin übergibt, wo sie eigentlich nicht hin sollte, ist es einfach, die Änderung rückgängig zu machen. Und sollte ein Anwender mit böser ======================================= --- /branches/1.8/de/book/ch08-embedding-svn.xml Tue Nov 25 16:56:50 2014 UTC +++ /branches/1.8/de/book/ch08-embedding-svn.xml Tue Feb 3 17:18:07 2015 UTC @@ -1126,7 +1126,7 @@ Verantwortlichkeit; ihre Aufgabe ist es, die Funktionen der Arbeitskopie-Bibliothek mit denen der RA-Schicht zu vermischen und eine API auf höchster Ebene für Anwendungen zur Verfügung - zu stellen, die allgemeine Versionskontrollaktionen + zu stellen, die allgemeine Versionskontroll-Aktionen durchführen wollen. Beispielsweise erwartet die Funktion svn_client_checkout() einen URL als Argument. Sie leitet diesen URL an die RA-Schicht weiter und @@ -2640,7 +2640,7 @@ interessante Verwendungen für die Subversion-API gefunden, von einfachen Projektarchiv-Hook-Skripten über Integrationen zwischen Subversion und einer anderen Anwendung bis zu vollständig - unterschiedlichen Versionskontrollsystemen. Womit wollen + unterschiedlichen Versions-Kontroll-Systemen. Womit wollen Sie es versuchen? ======================================= --- /branches/1.8/de/book/ch09-reference.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/ch09-reference.xml Tue Feb 3 17:18:07 2015 UTC @@ -636,133 +636,6 @@ - - - Anweisungen - - - Dies sind die - httpd.conf-Direktiven, die für - mod_authz_svn gültig sind: - - - - - AuthzForceUsernameCase Upper| Lower - - - - Entweder Upper - oder Lower, um die entsprechende - Umwandlung des authentifizierten Anwendernamens vor - der Autorisierungsprüfung in Klein- oder - Großschreibung vorzunehmen. Während Anwendernamen - unter Beachtung der Klein- oder Großschreibung mit - denjenigen in der Autorisierungs-Regel-Datei - verglichen werden, kann diese Direktive zumindest - gemischt geschriebene Anwendernamen in irgendetwas - konsistentes normalisieren. - - - - - - AuthzSVNAccessFile - file-path - - - - Für Zugriffsregeln, die Rechte auf Pfaden im - Subversion-Projektarchiv beschreiben, soll in - file-path nachgesehen - werden. - - - - - - AuthzSVNAnonymous On|Off - - - - Um zwei besondere Verhaltensweisen dieses Moduls - zu unterbinden, sollte diese Direktive auf - Off gesetzt werden: Die Interaktion - mit der Satisfy Any-Anweisung und - das Durchsetzen des Autorisierungsverfahrens auch - dann, wenn keine Require-Direktiven - vorhanden sind. Der Standardwert dieser Direktive ist - On. - - - - - - AuthzSVNAuthoritative On|Off - - - - Auf Off gesetzt, wird die - Weiterleitung der Zugriffskontrolle an tiefere Module - erlaubt. Der Standardwert dieser Direktive ist - On. - - - - - - AuthzSVNNoAuthWhenAnonymousAllowed On| Off - - - - Auf On setzen, um die - Authentifizierung und Autorisierung von Anfragen zu - unterbinden, die anonyme Benutzer durchführen dürfen. - Der Standardwert dieser Direktive ist - On. - - - - - - ======================================= --- /branches/1.8/de/book/foreword.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/foreword.xml Tue Feb 3 17:18:07 2015 UTC @@ -110,7 +110,7 @@ Leute immer wieder die gleichen grundlegenden Fragen auf der Subversion-Mailingliste stellten: Was sind die Standard-Arbeitsabläufe mit Subversion? Funktionieren Branches - und Tags genau so wie in anderen Versionskontrollsystemen? Wie + und Tags genau so wie in anderen Versions-Kontroll-Systemen? Wie finde ich heraus, wer eine bestimmte Änderung durchgeführt hat? ======================================= --- /branches/1.8/de/book/ref-svn.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/ref-svn.xml Tue Feb 3 17:18:07 2015 UTC @@ -836,7 +836,7 @@ Schaltet einen besonderen Ausgabemodus für svn diff ein, der für die Kompatibilität mit dem verbreiteten verteilten - Versionskontroll-System Git entworfen wurde. + Versions-Kontroll-System Git entworfen wurde.
    @@ -8318,7 +8318,7 @@ lediglich Metadaten der Arbeitskopie. Sie ändert keine Dateiinhalte versionierter oder unversionierter Dateien, führt keinerlei - Versionskontroll-Operationen aus (etwa Übergaben oder + Versions-Kontroll-Operationen aus (etwa Übergaben oder Aktualisierungen) usw. From svnbook at googlecode.com Wed Feb 4 02:47:36 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 04 Feb 2015 08:47:36 +0000 Subject: [svnbook] r4972 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c1dfae362bbb050e3f3d71@google.com> Revision: 4972 Author: jmfelderhoff at gmx.eu Date: Wed Feb 4 08:47:26 2015 UTC Log: [de] Translation: Branching and Merging Sections: * What's a Branch? * Using Branches ** Creating a Branch ** Working with Your Branch ** The Key Concepts Behind Branching * Basic Merging ** Changesets ** Keeping a Branch in Sync ** Reintegrating a Branch ** Mergeinfo and Previews https://code.google.com/p/svnbook/source/detail?r=4972 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 4 08:47:26 2015 UTC @@ -1,3 +1,5 @@ + + Verzweigen (Branching) und Zusammenführen @@ -107,8 +109,7 @@ branches - - This is the basic concept of a branch—namely, + This is the basic concept of a branch—namely, a line of development that exists independently of another line, yet still shares a common history if you look far enough back in time. A branch always begins life as a copy of something, and @@ -118,6 +119,7 @@ Zweige + Branches Branches @@ -355,7 +357,6 @@ Auch diesmal ist der Name, den Sie wählen, für Subversion unwichtig – Sie können einen Namen verwenden, der am besten für Sie und Ihr Team geeignet ist. - - Sie haben vielleicht schon gesehen, wie mit svn + + + Kopieren + Kopien aus der Ferne + + + svn + Unterbefehle + copy + + + Branches + erzeugen + Sie haben vielleicht schon gesehen, wie mit svn copy innerhalb einer Arbeitskopie eine Datei auf eine andere kopiert wird. Es kann allerdings auch verwendet - werden, um eine entfernte Kopie + werden, um eine Kopie aus der Ferne durchzuführen: eine Kopie die unmittelbar eine neue Revision des Projektarchivs zur Folge hat, und für die überhaupt keine Arbeitskopie notwendig ist. Kopieren Sie einfach einen URL auf @@ -398,13 +426,12 @@ -$ svn copy http://svn.example.com/repos/calc/trunk \ - http://svn.example.com/repos/calc/branches/my-calc-branch \ - -m "Privaten Zweig von /calc/trunk angelegt." + -m "Privaten Zweig von /calc/trunk angelegt." Revision 341 übertragen. $ @@ -428,7 +455,12 @@ every file and subdirectory within that working copy directory on the local disk. Copying a directory on the server, however, is a constant-time operation, and it's the way most - people create branches. + people create branches. In addition, this practice raises the + possibility of copying mixed-revision working copies. This isn't + inherently dangerous, but can cause unnecessary complications later + during merging. If you do choose to create a branch by copying a + working copy path, you should be sure the source directory has no + local modifications and is not at mixed-revisions. --> Dieser Befehl bewirkt eine fast sofortige Übergabe im Projektarchiv, wobei in Revision 341 ein neues Verzeichnis @@ -450,7 +482,15 @@ Platte dupliziert werden muss. Das Kopieren eines Verzeichnisses auf dem Server jedoch besitzt einen konstanten Zeitaufwand und ist die Art und Weise, auf die die meisten - Leute Zweige erstellen. + Leute Zweige erstellen. Zusätzlich eröffnet diese + Vorgehensweise die Möglichkeit, Arbeitskopien mit gemischten + Revisionen zu kopieren. Das ist nicht von Natur aus + gefährlich, kann jedoch später beim Zusammenführen zu + unnötigen Komplikationen führen. Falls Sie sich entscheiden, + einen Zweig über eine Kopie eines Pfades der Arbeitskopie zu + erstellen, sollten Sie sicherstellen, dass das + Quellverzeichnis weder lokale Änderungen noch gemischte + Revisionen hat.
    Ausgecheckt, Revision 341. @@ -603,33 +649,33 @@ Sie machen eine Änderung an - /calc/branches/my-calc-branch/button.c, + /calc/branches/my-calc-branch/src/button.c, die die Revision 342 erzeugt. Sie machen eine Änderung an - /calc/branches/my-calc-branch/integer.c, + /calc/branches/my-calc-branch/src/integer.c, die die Revision 343 erzeugt. Sally macht eine Änderung an - /calc/trunk/integer.c, die die Revision + /calc/trunk/src/integer.c, die die Revision 344 erzeugt. @@ -665,35 +711,45 @@ $ pwd /home/user/my-calc-branch -$ svn log -v integer.c +$ svn log -v src/integer.c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r343 | user | 2002-11-07 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines +r343 | user | 2013-02-15 14:11:09 -0500 (Fri, 15 Feb 2013) | 1 line Changed paths: - M /calc/branches/my-calc-branch/integer.c + M /calc/branches/my-calc-branch/src/integer.c * integer.c: frozzled the wazjub. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r341 | user | 2002-11-03 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines +r341 | user | 2013-02-15 07:41:25 -0500 (Fri, 15 Feb 2013) | 1 line Changed paths: A /calc/branches/my-calc-branch (from /calc/trunk:340) Creating a private branch of /calc/trunk. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r303 | sally | 2002-10-29 21:14:35 -0600 (Tue, 29 Oct 2002) | 2 lines +r154 | sally | 2013-01-30 04:20:03 -0500 (Wed, 30 Jan 2013) | 2 lines Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c * integer.c: changed a docstring. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines +… +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +r113 | sally | 2013-01-26 15:50:21 -0500 (Sat, 26 Jan 2013) | 2 lines Changed paths: - A /calc/trunk/integer.c + M /calc/trunk/src/integer.c -* integer.c: adding this file to the project. +* integer.c: Revise the fooplus API. +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +r8 | sally | 2013-01-17 16:55:36 -0500 (Thu, 17 Jan 2013) | 1 line +Changed paths: + A /calc/trunk/Makefile + A /calc/trunk/README + A /calc/trunk/doc/INSTALL + A /calc/trunk/src/button.c + A /calc/trunk/src/integer.c + A /calc/trunk/src/main.c + A /calc/trunk/src/real.c +Initial trunk code import for calc project. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -703,35 +759,43 @@ $ pwd /home/user/my-calc-branch -$ svn log -v integer.c +$ svn log -v src/integer.c ------------------------------------------------------------------------ -r343 | user | 2002-11-07 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen +r343 | user | 2013-02-15 14:11:09 -0500 (Fr, 15. Feb 2013) | 1 Zeile Geänderte Pfade: - M /calc/branches/my-calc-branch/integer.c + M /calc/branches/my-calc-branch/src/integer.c * integer.c: Wazjub gefrozzelt. - ------------------------------------------------------------------------ -r341 | user | 2002-11-03 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen +r341 | user | 2013-02-15 07:41:25 -0500 (Fr, 15. Feb 2013) | 1 Zeile Geänderte Pfade: A /calc/branches/my-calc-branch (from /calc/trunk:340) Privaten Zweig von /calc/trunk angelegt. - ------------------------------------------------------------------------ -r303 | sally | 2002-10-29 21:14:35 -0600 (Di, 29. Okt 2002) | 2 Zeilen +r154 | sally | 2013-01-30 04:20:03 -0500 (Mi, 30. Jan 2013) | 2 Zeilen Geänderte Pfade: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c * integer.c: Einen Docstring geändert. +------------------------------------------------------------------------ +r113 | sally | 2013-01-26 15:50:21 -0500 (Sa, 26. Jan 2013) | 2 Zeilen +Geänderte Pfade: + A /calc/trunk/src/integer.c +* integer.c: Die fooplus API überarbeitet. ------------------------------------------------------------------------ -r98 | sally | 2002-02-22 15:35:29 -0600 (Fr, 22. Feb 2002) | 2 Zeilen +r8 | sally | 2013-01-17 16:55:36 -0500 (Do, 17. Jan 2013) | 1 Zeile Geänderte Pfade: - A /calc/trunk/integer.c + A /calc/trunk/Makefile + A /calc/trunk/README + A /calc/trunk/doc/INSTALL + A /calc/trunk/src/button.c + A /calc/trunk/src/integer.c + A /calc/trunk/src/main.c + A /calc/trunk/src/real.c -* integer.c: Diese Datei dem Projekt hinzugefügt. - +Ursprünglicher Calc Projekt Quelltext-Import von trunk. ------------------------------------------------------------------------ @@ -763,28 +827,39 @@ $ pwd /home/sally/calc -$ svn log -v integer.c +$ svn log -v src/integer.c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r344 | sally | 2002-11-07 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines +r344 | sally | 2013-02-15 16:44:44 -0500 (Fri, 15 Feb 2013) | 1 line Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c -* integer.c: fix a bunch of spelling errors. - +Refactor the bazzle functions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r303 | sally | 2002-10-29 21:14:35 -0600 (Tue, 29 Oct 2002) | 2 lines +r154 | sally | 2013-01-30 04:20:03 -0500 (Wed, 30 Jan 2013) | 2 lines Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c * integer.c: changed a docstring. +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +… +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +r113 | sally | 2013-01-26 15:50:21 -0500 (Sat, 26 Jan 2013) | 2 lines +Changed paths: + M /calc/trunk/src/integer.c +* integer.c: Revise the fooplus API. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines +r8 | sally | 2013-01-17 16:55:36 -0500 (Thu, 17 Jan 2013) | 1 line Changed paths: - A /calc/trunk/integer.c + A /calc/trunk/Makefile + A /calc/trunk/README + A /calc/trunk/doc/INSTALL + A /calc/trunk/src/button.c + A /calc/trunk/src/integer.c + A /calc/trunk/src/main.c + A /calc/trunk/src/real.c -* integer.c: adding this file to the project. - +Initial trunk code import for calc project. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -794,28 +869,38 @@ $ pwd /home/sally/calc -$ svn log -v integer.c +$ svn log -v src/integer.c ------------------------------------------------------------------------ -r344 | sally | 2002-11-07 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen +r344 | sally | 2013-02-15 16:44:44 -0500 (Fr, 15. Feb 2013) | 1 Zeile Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c -* integer.c: Ein paar Rechtschreibfehler behoben. - +Die bazzle Funktionen refaktoriert. ------------------------------------------------------------------------ -r303 | sally | 2002-10-29 21:14:35 -0600 (Di, 29. Okt 2002) | 2 Zeilen +r154 | sally | 2013-01-30 04:20:03 -0500 (Mi, 30. Jan 2013) | 2 Zeilen Changed paths: - M /calc/trunk/integer.c + M /calc/trunk/src/integer.c * integer.c: Einen Docstring geändert. - ------------------------------------------------------------------------ -r98 | sally | 2002-02-22 15:35:29 -0600 (Fr, 22. Feb 2002) | 2 Zeilen +r113 | sally | 2013-01-26 15:50:21 -0500 (Sa, 26. Jan 2013) | 2 Zeilen Changed paths: - A /calc/trunk/integer.c + A /calc/trunk/src/integer.c -* integer.c: Diese Datei dem Projekt hinzugefügt. +* integer.c: Die fooplus API überarbeitet. +------------------------------------------------------------------------ +r8 | sally | 2013-01-17 16:55:36 -0500 (Do, 17. Jan 2013) | 1 line +Changed paths: + A /calc/trunk/Makefile + A /calc/trunk/README + A /calc/trunk/doc/INSTALL + A /calc/trunk/src/button.c + A /calc/trunk/src/integer.c + A /calc/trunk/src/main.c + A /calc/trunk/src/real.c + +Ursprünglicher Calc Projekt Quelltext-Import von trunk. ------------------------------------------------------------------------ @@ -828,8 +913,8 @@ does show that the two files share a common history. Before the branch copy was made in revision 341, the files used to be the same file. That's why you and - Sally both see the changes made in revisions 303 and - 98. + Sally both see the changes made between revisions 8 and + 154. --> Sally sieht ihre eigene Änderung in Revision 344, aber nicht die Änderung, die Sie in Revision 343 gemacht haben. Was @@ -839,8 +924,8 @@ Subversion, dass die beiden Dateien einen Teil der Geschichte gemeinsam haben. Bevor die Kopie des Zweiges in Revision 341 gemacht wurde, waren die Dateien dieselbe Datei. Deshalb - sehen sowohl Sie als auch Sally die Änderungen, die in den - Revisionen 303 und 98 gemacht wurden. + sehen sowohl Sie als auch Sally die Änderungen, die zwischen + den Revisionen 8 und 154 gemacht wurden. @@ -957,7 +1042,10 @@ Konflikten auf den Stamm zurückzuführen. - Stattdessen könnten Sie und Sally fortfahren, während der + + + Merging + + + Zusammenführen + Merging + Stattdessen könnten Sie und Sally fortfahren, während der Arbeit Änderungen gemeinsam zu verwenden. Es liegt an Ihnen, zu entscheiden, welche Änderungen teilenswert sind; Subversion bietet Ihnen die Fähigkeit, Änderungen selektiv zwischen Zweigen @@ -984,7 +1079,7 @@ In den folgenden Beispielen gehen wir davon aus, dass sowohl auf Ihrem Subversion-Client als auch auf dem Server Subversion - 1.7 (oder neuer) läuft. Falls einer von beiden älter als Version + 1.8 (oder neuer) läuft. Falls einer von beiden älter als Version 1.5 ist, wird es komplizierter: Das System wird Änderungen nicht automatisch mitverfolgen, so dass Sie schmerzhafte manuelle Methoden anwenden müssen, um ähnliche Resultate zu erzielen. Dass heißt, dass Sie stets die detaillierte Syntax beim Zusammenführen verwenden müssen, um bestimmte - Revisionsintervalle zu übertragen (siehe weiter unten - in diesem Kapitel), und besonders sorgfältig verfolgen müssen, - was bereits zusammengeführt ist und was nicht. Aus diesem Grund - empfehlen wir Ihnen dringend, + Revisionsintervalle zu übertragen (siehe + weiter + unten in diesem Kapitel), und besonders sorgfältig verfolgen + müssen, was bereits zusammengeführt ist und was nicht. Aus + diesem Grund empfehlen wir Ihnen dringend, sicherzustellen, dass Ihr Client und Server mindestens die Version 1.5 haben. @@ -1019,18 +1114,17 @@ merge tracking - - Subversion 1.5 introduced the + Subversion 1.5 introduced the merge tracking feature to Subversion. Prior to this feature keeping track of merges required cumbersome manual procedures or the use of external tools. Subsequent releases of Subversion introduced many enhancements and bug fixes to merge tracking, which is why we recommend using the - most recent versions on both your server and client. Keep in - mind that even if your server is running 1.5 or 1.6, you can still - use a 1.7 client. This is particularly important as regards merge - tracking, because the overwhelming majority of fixes to it are on - the client side. + most recent versions for both your server and client. Keep in + mind that even if your server is running 1.5-1.7, you can still + use a 1.8 client. This is particularly important with regard to merge + tracking, because the overwhelming majority of fixes and enhancements + to it are on the client side. --> @@ -1042,8 +1136,7 @@ Verfolgung von Zusammenführungen Merge-Tracking - - Subversion 1.5 führte die Funktionalität der + Subversion 1.5 führte die Funktionalität der Verfolgung von Zusammenführungen (merge tracking) in Subversion ein. Vor dieser Funktionalität erforderte das Verfolgen @@ -1053,11 +1146,11 @@ Merge-Tracking ein, weshalb wir empfehlen, die neuesten Versionen sowohl auf Ihrem Server als auch auf dem Client einzusetzen. Vergessen Sie nicht, dass Sie immer noch einen - 1.7 Client verwenden können, auch wenn auf Ihrem Server 1.5 - oder 1.6 laufen. Das ist besonders hinsichtlich des - Merge-Trackings wichtig, da eine überwältigende Mehrheit von - Fehlerbehebungen daran auf der Client-Seite statt gefunden - haben. + 1.8 Client verwenden können, auch wenn auf Ihrem Server + 1.5-1.7 laufen. Das ist besonders wichtig hinsichtlich des + Merge-Trackings, da die überwältigende Mehrheit der + Fehlerbehebungen und Verbesserungen auf der Client-Seite statt + gefunden hat. @@ -1068,7 +1161,10 @@ Änderungsmengen - Bevor wir weitermachen, sollten wir Sie warnen, dass Sie + + + changesets + i + + Änderungsmengen + changesets + Bevor wir weitermachen, sollten wir Sie warnen, dass Sie auf den kommenden Seiten viele Erörterungen zum Thema Änderungen erwarten. Viele mit Versions-Kontroll-Systemen erfahrene Leute benutzen die Begriffe @@ -1169,20 +1272,48 @@ Einen Zweig synchron halten - Machen wir mit unserem Beispiel weiter und nehmen an, dass + + + Merging + Synchronisierungs-Merge + + + svn + Unterbefehle + merge + Machen wir mit unserem Beispiel weiter und nehmen an, dass eine Woche vergangen ist seitdem Sie begonnen haben, auf Ihrem privaten Zweig zu arbeiten. Ihre Arbeit ist noch nicht beendet, jedoch wissen Sie, dass gleichzeitig andere Leute in @@ -1195,8 +1326,19 @@ erreicht – ein Merge zu dem Zweck, Ihren Zweig mit Änderungen zu aktualisieren, die seit der Erstellung Ihres Zweigs auf dem Ursprungszweig - vorgenommen wurden. - + vorgenommen wurden. + + Merging + automatisch + Ein automatischer Merge ist ganz + einfach einer, bei dem Sie das absolute Minimum an benötigten + Informationen für einen Merge angeben (d.h., eine einzelne + Merge-Quelle und ein Arbeitskopie-Ziel) und Subversion + entscheiden lassen, welche Änderungen zusammengeführt werden + müssen – bei einem automatischen Merge werden keine + Änderungsmengen mit oder + an svn merge + übergeben. --- Zusammenführen von r345 bis r356 in ».«: -U button.c -U integer.c --- Aufzeichnung der Informationen für Zusammenführung von r345 in ».«: +-- Aufzeichnung der Informationen für Zusammenführung von r341 bis r356 in ».«: U . $ - Diese einfache Syntax – svn merge + + + Eigenschaften + svn:mergeinfo + Diese einfache Syntax – svn merge URL – fordert Subversion auf, alle Änderungen von dem URL, die vorher noch nicht zusammengeführt wurden, mit dem aktuellen @@ -1289,22 +1440,21 @@ mergeinfo - - In this book and elsewhere (Subversion mailing lists, articles - on merge tracking, etc.) you will frequently come across the - term mergeinfo. This is simply shorthand - for the svn:mergeinfo property. + In this book and elsewhere (Subversion mailing + lists, articles on merge tracking, etc.) you will frequently + come across the term mergeinfo. This + is simply shorthand for the svn:mergeinfo + property. --> Mergeinfo - - In diesem Buch und anderswo (Subversion Mailing-Listen, - Artikeln über Merge-Tracking usw.) wird Ihnen oft der - Begriff Mergeinfo begegnen. Das ist - einfach die Abkürzung für die Eigenschaft + In diesem Buch und anderswo (Subversion + Mailing-Listen, Artikeln über Merge-Tracking usw.) wird + Ihnen oft der Begriff Mergeinfo + begegnen. Das ist einfach die Abkürzung für die Eigenschaft svn:mergeinfo. @@ -1317,20 +1467,21 @@ - Es kann sein, dass Sie nicht immer die - Zusammenführungs-Verfolgung von Subversion verwenden können, - vielleicht, weil auf Ihrem Server Subversion 1.4 oder älter - läuft. In einem solchen Szenario, können Sie - selbstverständlich immer noch zusammenführen, doch erwartet - Subversion von Ihnen, viele der historischen Berechnungen - selbst manuell vorzunehmen, die Ihnen das Merge-Tracking - abnehmen würde, wenn sie verfügbar wäre. + Es kann sein, dass Sie nicht immer das Merge-Tracking + von Subversion verwenden können, vielleicht, weil auf Ihrem + Server Subversion 1.4 oder älter läuft oder Sie einen + älteren Client verwenden. In einem solchen Szenario, können + Sie selbstverständlich immer noch zusammenführen, doch + erwartet Subversion von Ihnen, viele der historischen + Berechnungen selbst manuell vorzunehmen, die Ihnen das + Merge-Tracking abnehmen würde, wenn sie verfügbar + wäre. - Sagen wir einmal, Sie hätten in Revision 400 - /branches/foo-feature von - /trunk abgezweigt: + Im laufenden Beispiel wissen Sie, dass Sie in Revision + 341 /calc/trunk nach + /calc/branches/my-calc-branch + abgezweigt haben: -$ svn log -v -r 400 ^/branches/foo-feature +$ svn log -v -r341 ------------------------------------------------------------------------ -r400 | carol | 2011-11-09 10:51:27 -0500 (Mi, 09. Nov 2011) | 1 Zeile +r341 | user | 2013-02-15 07:41:25 -0500 (Fr, 15. Feb 2013) | 1 Zeile Geänderte Pfade: -A /branch/b2 (von /trunk:399) + A /calc/branches/my-calc-branch (von /calc/trunk:340) -Create branch for the foo feature +Creating a private branch of /calc/trunk. ------------------------------------------------------------------------ Wenn Sie soweit sind, Ihren Zweig mit den fortlaufenden Änderungen vom Stamm zu synchronisieren, geben Sie die Start-Revision al die Revision von - /trunk an, von wo aus Sie den Zweig - kopiert haben, und als End-Revision - HEAD: + /calc/trunk an, von wo aus Sie den + Zweig kopiert haben, und als End-Revision die letzte + Änderung auf /calc/trunk. Letztere + können Sie finden, indem Sie den Befehl svn + log mit der Option und dem + Optionsargument HEAD aufrufen: -$ svn merge ^/trunk -r399:HEAD --- Zusammenführen von r400 bis r556 in ».«: -A include/foo.h -U src/main.c -A src/foo.c -… +$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk +------------------------------------------------------------------------ +r351 | sally | 2013-02-16 08:04:22 -0500 (Sa, 16. Feb 2013) +------------------------------------------------------------------------ + +$ svn merge http://svn.example.com/repos/calc/trunk -r340:351 +U doc/INSTALL +U src/real.c +U src/button.c +U Makefile -$ svn ci -m "Den foo-Feature-Zweig mit ^/trunk bis r556 synchronisiert." -Sende include/foo.h -… -Übertrage Daten . -Revision 557 übertragen. Beim nächsten Mal, wenn Sie - /branches/foo-branch mit - /trunk synchronisieren, wiederholen Sie - diesen Prozess, mit der Ausnahme, dass die Start-Revision - die jüngste bereits vom Stamm - zusammengeführte Revision ist. Wenn Sie in Ihren + /calc/branches/my-calc-branch mit + /calc/trunk synchronisieren, + wiederholen Sie diesen Prozess, mit der Ausnahme, dass die + Start-Revision die jüngste bereits vom + Stamm zusammengeführte Revision ist. Wenn Sie in Ihren Protokollnachrichten darüber gut Buch geführt haben, sollten Sie in der Lage sein, festzustellen, welches diese jüngste Revision war, indem Sie die Protokollnachrichten Ihres @@ -1460,7 +1611,13 @@ -$ svn merge ^/trunk -r556:HEAD +$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk +------------------------------------------------------------------------ +r959 | sally | 2013-03-5 7:30:21 -0500 (Di, 05. Mär 2013) +------------------------------------------------------------------------ + +$ svn merge http://svn.example.com/repos/calc/trunk -r351:959 … @@ -1482,9 +1639,10 @@ $ svn status M . -M button.c -M integer.c -$ +M Makefile +M doc/INSTALL +M src/button.c +M src/real.c @@ -1493,13 +1651,9 @@ carefully with svn diff, and then build and test your branch. Notice that the current working directory (.) has also been - modified; svn diff will show that - its svn:mergeinfo property has been either - created or modified. This is important merge-related metadata - that you should not touch, since it is - needed by future svn merge commands. - (We'll learn more about this metadata later in the - chapter.) + modified; svn diff shows that + its svn:mergeinfo property has been created. + --> Zu diesem Zeitpunkt ist es weise, sich die Änderungen mithilfe von svn diff sorgfältig anzusehen, @@ -1507,9 +1661,48 @@ testen. Beachten Sie, dass auch das aktuelle Arbeitsverzeichnis (.) verändert wurde; svn diff zeigt an, dass - seine Eigenschaft svn:mergeinfo entweder - angelegt oder modifiziert wurde. Das ist ein wichtiges - Metadatum in Zusammenhang mit Zusammenführungen, das Sie + seine Eigenschaft svn:mergeinfo angelegt + wurde. + + + + +$ svn diff --depth empty . +Index: . +=================================================================== +--- . (Revision 351) ++++ . (Arbeitskopie) + +Eigenschaftsänderungen: . +___________________________________________________________________ ***The diff for this file has been truncated for email.*** From svnbook at googlecode.com Wed Feb 4 03:42:22 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 04 Feb 2015 09:42:22 +0000 Subject: [svnbook] r4973 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c1dfae146352050e40019a@google.com> Revision: 4973 Author: jmfelderhoff at gmx.eu Date: Wed Feb 4 09:42:09 2015 UTC Log: [de] Translation: Branching and Merging Sections: ** Undoing Changes https://code.google.com/p/svnbook/source/detail?r=4973 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 4 08:47:26 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 4 09:42:09 2015 UTC @@ -3301,8 +3301,8 @@ is to roll back a change that has already been committed. Suppose you're working away happily on a working copy of /calc/trunk, and you discover that the - change made way back in revision 303, which changed - integer.c, is completely wrong. It never + change made back in revision 392, which changed + several code files, is completely wrong. It never should have been committed. You can use svn merge to undo the change in your working copy, and then commit the local modification to the @@ -3316,33 +3316,38 @@ Projektarchiv übergeben worden war. Nehmen wir einmal an, Sie arbeiten fröhlich in einer Arbeitskopie von /calc/trunk und entdecken, dass die - damalige Änderung an integer.c in - Revision 303 völlig falsch war. Sie hätte nie übergeben werden - sollen. Sie können svn merge verwenden, um - die Änderung in Ihrer Arbeitskopie + damalige Änderungen an verschiedenen Quelltext-Dateien in + Revision 392 völlig falsch waren. Sie hätten nie übergeben + werden sollen. Sie können svn merge + verwenden, um die Änderung in Ihrer Arbeitskopie zurückzunehmen, und dann die lokale Änderung an - das Projektarchiv übergeben. Alles, was Sie hierfür tun müssen, - ist, eine umgekehrte Differenz anzugeben. - (Sie machen das durch die Angabe von oder durch das äquivalente .) + das Projektarchiv übergeben. Alles, was Sie hierfür tun + müssen, ist, eine umgekehrte Differenz + anzugeben. (Sie machen das durch die Angabe von + oder durch das äquivalente + .) -$ svn merge -c -303 ^/calc/trunk --- Rückwärtiges Zusammenführen von r303 in »integer.c«: -U integer.c --- Aufzeichnung der Informationen für rückwärtiges Zusammenführen von r303 in »integer.c«: - U A-branch +-- Aufzeichnung der Informationen für rückwärtiges Zusammenführen von r392 in ».«: + U . -$ svn status - M . -M integer.c +$ svn st +M src/button.c +M src/integer.c +M src/main.c +M src/real.c $ svn diff … -$ svn commit -m "Änderung aus in r303 rückgängig machen." +$ svn commit -m "Fehlerhafte Änderung aus r392 rückgängig machen." +Sending src/button.c +Sending src/integer.c +Sending src/main.c +Sending src/real.c Sende integer.c -Übertrage Daten . -Revision 350 übertragen. +Übertrage Daten .... +Revision 399 übertragen. @@ -3370,7 +3382,7 @@ merge to apply a changeset, or a whole range of changesets, to your working copy. In our case of undoing a change, we're asking svn merge to apply - changeset r303 to our working copy + changeset r392 to our working copy backward. --> Wie wir früher bereits erwähnten, kann man eine @@ -3380,7 +3392,7 @@ oder ein ganzes Intervall von Änderungsmengen auf Ihre Arbeitskopie anzuwenden. In unserem Fall, bei dem wir eine Änderung zurücknehmen, fordern wir svn - merge auf, die Änderungsmenge r303 + merge auf, die Änderungsmenge r392 rückwärts auf unsere Arbeitskopie anzuwenden. @@ -3406,16 +3418,16 @@ Nun denken Sie vielleicht: Gut, aber das hat doch nicht wirklich die Übergabe rückgängig gemacht, oder? Die Änderung - besteht immer noch in Revision 303. Falls jemand eine Version + besteht immer noch in Revision 392. Falls jemand eine Version des Projektes calc zwischen den - Revisionen 303 und 349 auscheckt, wird doch trotzdem die + Revisionen 392 und 398 auscheckt, wird doch trotzdem die fehlerhafte Änderung sichtbar, oder nicht? Zunächst sollten Sie svn log benutzen, um das exakte Koordinatenpaar zu ermitteln, das Sie @@ -3551,28 +3554,50 @@ das Verzeichnis gelöscht haben. Sie können das visuell tun oder ein Werkzeug zur Untersuchung der Protokollausgaben einsetzen (mit grep oder vielleicht durch - eine inkrementelle Suche in einem Editor). + eine inkrementelle Suche in einem Editor). Falls Sie wissen, + dass das fragliche Objekt kürzlich gelöscht wurde, können Sie + auch die Option verwenden, um die + Protokollausgabe für eine manuelle Untersuchung knapp genug zu + halten. -$ cd parent-dir -$ svn log -v -… +$ cd calc/trunk + +$ svn log -v --limit 3 ------------------------------------------------------------------------ -r808 | joe | 2003-12-26 14:29:40 -0600 (Fr, 26. Dez 2003) | 3 Zeilen +r401 | sally | 2013-02-18 23:15:44 -0500 (Di, 19. Feb 2013) | 1 Zeile Geänderte Pfade: - D /calc/trunk/real.c - M /calc/trunk/integer.c + M /calc/trunk/src/main.c + D /calc/trunk/src/real.c + -Schnelle Funktionen zur Fourier-Transformation zu integer.c hinzugefügt. -real.c gelöscht, da Code jetzt in double.c. -… +* calc/trunk/src/main.c: Hilfetext aktualisiert. + +* calc/trunk/src/real.c: Datei entfernt, keine der hier implementierten + APIs werden noch irgendwo verwendet. +------------------------------------------------------------------------ +r399 | sally | 2013-02-19 20:05:14 -0500 (Di, 19. Feb 2013) | 1 Zeile +Geänderte Pfade: + M /calc/trunk/src/button.c + M /calc/trunk/src/integer.c + M /calc/trunk/src/main.c + M /calc/trunk/src/real.c + +Fehlerhafte Änderung aus r392 rückgängig gemeacht. +------------------------------------------------------------------------ @@ -3580,20 +3605,20 @@ In the example, we're assuming that you're looking for a deleted file real.c. By looking through the logs of a parent directory, you've spotted that this file - was deleted in revision 808. Therefore, the last version of + was deleted in revision 400. Therefore, the last version of the file to exist was in the revision right before that. Conclusion: you want to resurrect the path /calc/trunk/real.c from revision - 807. + 399. --> In diesem Beispiel nehmen wir an, dass Sie nach der gelöschten Datei real.c suchen. Beim Durchsehen der Protokolle des Elternverzeichnisses haben Sie - entdeckt, dass diese Datei in Revision 808 gelöscht + entdeckt, dass diese Datei in Revision 400 gelöscht wurde. Daher war die letzte Revision in der die Datei noch vorhanden war die unmittelbare Vorgänger-Revision. Die Schlussfolgerung: Sie möchten den Pfad - /calc/trunk/real.c aus Revision 807 + /calc/trunk/real.c aus Revision 399 zurückholen. Die eine Option ist, svn merge zu - verwenden, um Revision 808 rückwärts + verwenden, um Revision 400 rückwärts anzuwenden. (Wir haben bereits in besprochen, wie Änderungen rückgängig gemacht werden.) Das @@ -3628,27 +3653,27 @@ In diesem besonderen Beispiel ist das aber wahrscheinlich nicht die beste Strategie. Die Rückwärts-Anwendung von - Revision 808 würde nicht nur real.c zum + Revision 400 würde nicht nur real.c zum Hinzufügen markieren, sondern, wie aus den Protokollmeldungen hervorgeht, dass ebenso bestimmte Änderungen an - integer.c zurücknehmen, was Sie aber - nicht wollen. Sie können sicherlich Revision 808 rückwärts + main.c zurücknehmen, was Sie aber + nicht wollen. Sie können sicherlich Revision 400 rückwärts anwenden und dann mit svn revert die - lokalen Änderungen an integer.c + lokalen Änderungen an main.c zurücknehmen; allerdings ist diese Technik nicht sehr - effektiv. Was wäre, wenn 90 Dateien in Revision 808 geändert + effektiv. Was wäre, wenn 90 Dateien in Revision 400 geändert worden wären? -$ svn commit -m "real.c aus Revision 807 wiederhergestellt, /calc/trunk/real.c." -Hinzufügen real.c -Übertrage Daten . -Revision 1390 übertragen. +# Übertragung der Wiederbelebung +… @@ -3691,7 +3712,7 @@ where it was copied from. In the future, running svn log on this file will traverse back through the file's resurrection and through all the history it had prior - to revision 807. In other words, this new + to revision 399. In other words, this new real.c isn't really new; it's a direct descendant of the original, deleted file. This is usually considered a good and useful thing. If, however, you wanted @@ -3705,7 +3726,7 @@ sich, woher es kopiert wurde. Künftig wird beim Anwenden von svn log auf diese Datei die gesamte Geschichte, über das Zurückholen hinweg, inklusive der - Geschichte vor Revision 807 durchlaufen. In anderen Worten, + Geschichte vor Revision 399 durchlaufen. In anderen Worten, dieses neue real.c ist nicht wirklich neu; es ist ein direkter Nachfahre der ursprünglichen, gelöschten Datei. Dies ist normalerweise eine gute und @@ -3721,15 +3742,10 @@ $ svn add real.c A real.c -$ svn commit -m "real.c aus Revision 807 wiederhergestellt." -Hinzufügen real.c -Übertrage Daten . -Revision 1390 übertragen. +# Übertragung der Wiederbelebung +… @@ -3750,19 +3766,19 @@ -$ svn copy ^/calc/trunk/real.c at 807 ^/calc/trunk/ \ - -m "real.c aus Revision 807 wiederhergestellt." -Revision 1390 übertragen. + -m "real.c aus Revision 399 wiederhergestellt." +Revision 402 übertragen. -$ svn update +$ svn up Updating '.': A real.c -Aktualisiert zu Revision 1390. +Aktualisiert zu Revision 402. From svnbook at googlecode.com Thu Feb 5 09:10:44 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 05 Feb 2015 15:10:44 +0000 Subject: [svnbook] r4975 committed - [de] Translation: Branching and Merging... Message-ID: <047d7b5d83913cca53050e58b538@google.com> Revision: 4975 Author: jmfelderhoff at gmx.eu Date: Thu Feb 5 15:10:27 2015 UTC Log: [de] Translation: Branching and Merging Sections: * Advanced Merging ** Cherrypicking ** Merge Syntax: Full Disclosure ** Merges Without Mergeinfo ** More on Merge Conflicts (started) https://code.google.com/p/svnbook/source/detail?r=4975 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 4 12:53:08 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 5 15:10:27 2015 UTC @@ -2328,7 +2328,7 @@ merge, um Ihre Änderungen automatisch zurück auf den Stamm zu replizieren. Diese Art von Merge wird - Merge + Merging Reintegrations-Merges automatischer Reintegrations-Merge genannt. Sie benötigen eine Arbeitskopie von @@ -3823,7 +3823,11 @@ Die Rosinen herauspicken - Genauso oft wie der Begriff Änderungsmenge + + + Merging + Rosinenpicken + Genauso oft wie der Begriff Änderungsmenge wird die Wendung die Rosinen herauspicken in Versions-Kontroll-Systemen verwendet. Das bezieht sich darauf, eine @@ -3851,139 +3859,246 @@ + Warum sollte jemand nur eine einzelne Änderung wollen? Das + kommt häufiger vor, als Sie denken. Gehen wir beispielsweise + einmal davon aus, dass Sie einen neuen Arbeitszweig + /calc/branches/my-calc-feature-branch durch + kopieren von /calc/trunk erstellt + haben: + + + +$ svn log ^/calc/branches/new-calc-feature-branch -v -r403 +------------------------------------------------------------------------ +r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile +Geänderte Pfade: + A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) + +Einen neuen Zweig calc für Arbeit an 'X' erzeugt. +------------------------------------------------------------------------ + + + + - Warum sollte jemand nur eine einzelne Änderung wollen? Das - kommt häufiger vor, als Sie denken. Gehen wir beispielsweise - einmal zurück in die Vergangenheit und stellen uns vor, dass - Sie Ihren Zweig noch nicht wieder mit dem Stamm - zusammengeführt hätten. In der Kaffeeküche bekommen Sie mit, - dass Sally eine interessante Änderung an - integer.c auf dem Stamm gemacht hat. Als - Sie sich die Geschichte der Übergaben auf dem Stamm ansehen, - entdecken Sie, dass sie in Revision 355 einen kritischen - Fehler beseitigt hat, der direkte Auswirkungen auf die - Funktion hat, an der Sie gerade arbeiten. Es kann sein, dass - Sie noch nicht bereit sind, alle Änderungen vom Stamm zu - übernehmen, jedoch benötigen Sie diese bestimmte + In der Kaffeeküche bekommen Sie mit, dass Sally eine + interessante Änderung an main.c auf dem + Stamm gemacht hat. Als Sie sich die Geschichte der Übergaben + auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 + einen kritischen Fehler beseitigt hat, der direkte + Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. + Es kann sein, dass Sie noch nicht bereit sind, alle Änderungen + vom Stamm zu übernehmen, jedoch benötigen Sie diese bestimmte Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu können. + + Ebenso wie Sie svn diff im vorigen + Beispiel benutzt haben, um sich Revision 355 anzusehen, können + Sie die gleiche Option an svn merge + übergeben: + -$ svn diff -c 355 ^/calc/trunk +$ svn log ^/calc/trunk -r413 -v +------------------------------------------------------------------------ +r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen +Geänderte Pfade: + M /calc/trunk/src/main.c + +Fehler #22 'Übergabe eines Null-Wertes im Argument foo von bar() +sollte erlaubt sein, aber ruft Schutzverletzung hervor'. +------------------------------------------------------------------------ -Index: integer.c +$ svn diff ^/calc/trunk -c413 +Index: src/main.c =================================================================== ---- integer.c (revision 354) -+++ integer.c (revision 355) -@@ -147,7 +147,7 @@ - case 6: sprintf(info->operating_system, "HPFS (OS/2 or NT)"); break; - case 7: sprintf(info->operating_system, "Macintosh"); break; - case 8: sprintf(info->operating_system, "Z-System"); break; -- case 9: sprintf(info->operating_system, "CP/MM"); -+ case 9: sprintf(info->operating_system, "CP/M"); break; - case 10: sprintf(info->operating_system, "TOPS-20"); break; - case 11: sprintf(info->operating_system, "NTFS (Windows NT)"); break; - case 12: sprintf(info->operating_system, "QDOS"); break; +--- src/main.c (revision 412) ++++ src/main.c (revision 413) +@@ -34,6 +34,7 @@ +… +# Details zur Fehlerbehebung +… - Ebenso wie Sie svn diff im vorigen - Beispiel benutzt haben, um sich Revision 355 anzusehen, können - Sie die gleiche Option an svn merge + So wie Sie svn diff im vorangegangenen + Beispiel verwendet haben, um Revision 413 zu untersuchen, + können Sie die gleiche Option an svn merge übergeben: -$ svn merge -c 355 ^/calc/trunk ---- Zusammenführen von r355 in ».«: -U integer.c --- Aufzeichnung der Informationen für Zusammenführung von r355 in ».«: +-- Aufzeichnung der Informationen für Zusammenführung von r413 in ».«: U . -$ svn status -M integer.c +$ svn st + M . +M src/main.c Sie können nun Ihre üblichen Tests durchführen, bevor Sie - diese Änderung an den Zweig übergeben. Nach der Übergabe merkt - sich Subversion, dass r355 mit dem Zweig zusammengeführt - wurde, so dass künftige magische - Merges, die Ihren Zweig mit dem Stamm synchronisieren, r355 - überspringen. (Das Mergen derselben Änderung auf - denselben Zweig führt fast immer zu einem Konflikt!) + diese Änderung an den Zweig übergeben. Nach der Übergabe + bringt Subversion das svn:mergeinfo ihres + Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit + dem Zweig zusammengeführt wurde. Das verhindert, dass künftige + automatische Synchronisierungs-Merges versuchen, r413 erneut + zusammenzuführen. (Das Mergen derselben Änderung auf denselben + Zweig führt fast immer zu einem Konflikt!) Beachten Sie auch + das Mergeinfo + /calc/branches/my-calc-branch:341-379, Das wurde bei + unserem in r380 gemachten Reintegrations-Merge nach + /calc/trunk vom Zweig + /calc/branches/my-calc-branch aufgezeichnet. Als + wir den Zweig my-calc-branch in r403 + erstellt haben, wurde diese Mergeinfo mit der Kopie + mitgenommen. -$ cd my-calc-branch +$ svn pg svn:mergeinfo -v +Eigenschaften von ».«: + svn:mergeinfo + /calc/branches/my-calc-branch:341-379 + /calc/trunk:413 + + -$ svn propget svn:mergeinfo . -/trunk:341-349,355 -# Beachten Sie, dass r355 nicht als Merge-Kandidat aufgeführt wird, -# da es bereits zusammengeführt wurde. + Beachten Sie auch, dass mergeinfo r413 + nicht als Kandidaten für einen Merge anzeigt, da sie bereits + zusammengeführt wurde: + + + $ svn mergeinfo ^/calc/trunk --show-revs eligible -r350 -r351 -r352 -r353 -r354 -r356 -r357 -r358 -r359 -r360 +r404 +r405 +r406 +r407 +r409 +r410 +r411 +r412 +r414 +r415 +r416 +… +r455 +r456 +r457 + + + + Das oben stehende bedeutet, wenn schließlich die Zeit für + einen automatischen Synchronisierungs-Merge gekommen ist, dass + Subversion den Merge in zwei Teile aufspaltet. Zunächst werden + alle in Frage kommenden Merges bis Revision 412 ausgeführt. + Dann werden alle in Frage kommenden Revisionen von Revision + 412 bis zur Revision HEAD ausgeführt. Da + wir uns bereits r413 herausgepickt haben, wird diese Änderung + übersprungen change is skipped: + + + $ svn merge ^/calc/trunk ---- Zusammenführen von r350 bis r354 in ».«: - U . -U integer.c -U Makefile ---- Zusammenführen von r356 bis r360 in ».«: +--- Zusammenführen von r414 bis r458 in ».«: +G doc/INSTALL +G src/main.c +G src/integer.c +G Makefile +-- Aufzeichnung der Informationen für Zusammenführung von r403 bis r458 in ».«:\n" U . -U integer.c -U button.c - Dieser Anwendungsfall des Abgleichens (oder + + + Merging + nachziehen + Dieser Anwendungsfall des Abgleichens (oder Nachziehens) von Fehlerbehebungen von einem Zweig zu einem anderen ist vielleicht der gängigste Grund für Änderungen, die Rosinen herauszupicken; es kommt ständig @@ -4006,7 +4125,7 @@ invocation merged two distinct ranges? The svn merge command applied two independent patches to your working copy to skip over - changeset 355, which your branch already contained. There's + changeset 413, which your branch already contained. There's nothing inherently wrong with this, except that it has the potential to make conflict resolution trickier. If the first range of changes creates conflicts, @@ -4014,15 +4133,14 @@ the merge process to continue and apply the second range of changes. If you postpone a conflict from the first wave of changes, the whole merge command will bail out with an error - message.At least, this is true in Subversion - 1.7 at the time of this writing. This behavior may improve - in future versions of Subversion. + message and you must resolve the conflict before running the + merge a second time to get the remainder of the changes. --> Haben Sie bemerkt, wie im letzten Beispiel der Aufruf von svn merge zwei unterschiedliche Abgleichsintervalle zusammengeführt hat? Der Befehl führte zwei unabhängige Patches auf Ihrer Arbeitskopie aus, um die - Änderungsmenge 355 zu überspringen, die Ihr Zweig bereits + Änderungsmenge 413 zu überspringen, die Ihr Zweig bereits beinhaltete. An und für sich ist daran nichts falsch, bis auf die Tatsache, dass die Möglichkeit besteht, eine Konfliktauflösung komplizierter zu machen. Falls das erste @@ -4031,17 +4149,16 @@ um den Merge fortzusetzen und das zweite Änderungsintervall anzuwenden. Wenn Sie die Konfliktauflösung der ersten Phase aufschieben, wird der komplette Merge-Befehl mit einer - Fehlermeldung abbrechen.Zumindest trifft das - zur Zeit für Subversion 1.7 zu. Dieses Verhalten könnte - sich in künftigen Versionen von Subversion - verbessern. + Fehlermeldung abbrechen und Sie müssen den Konflikt + auflösen, bevor Sie den Merge erneut anwenden, um den Rest + der Änderungen zu bekommen. Merge-Syntax: Die vollständige Enthüllung @@ -4158,13 +4275,13 @@ Falls Sie svn merge benutzen, um einfache Kopien von Änderungen zwischen Zweigen vorzunehmen, - wird es üblicherweise automatisch das Richtige machen. + wird ein automatische Merge üblicherweise das Richtige machen. Beispielsweise wird ein Befehl wie der folgende: @@ -4206,6 +4323,31 @@ Befehl drei Hauptargumente: + + + Merging + linke Seite + + + + Merging + rechte Seite + + + + Merging + Ziel + + @@ -4294,7 +4441,10 @@ bezeichnet und die Ziel-Arbeitskopie angegeben wird. Die zweite Syntax wird als Kurzform verwendet, wenn Sie zwei unterschiedliche Revisionen desselben URL vergleichen. - Die letzte Syntax zeigt, dass das Arbeitskopie-Argument + + Merging + 2-URL + Die letzte Syntax zeigt, dass das Arbeitskopie-Argument optional ist; entfällt es, wird das aktuelle Verzeichnis genommen. @@ -4478,7 +4628,15 @@ Natürliche Historie und implizite Mergeinfo - Wie wir bei der Erörterung von + + + Mergeinfo + implizit + + + natürliche Historie + Mergeinfo, implizit + Wie wir bei der Erörterung von bereits erwähnten, sagt man, dass ein Pfad mit der gesetzten Eigenschaft svn:mergeinfo @@ -4666,16 +4832,18 @@ -$ svn merge -r 1288:1351 http://svn.example.com/myrepos/branch --- Zusammenführen von r1289 bis r1361 in ».«: - C bar.c - C foo.c - C docs --- Aufzeichnung der Informationen für Zusammenführung von r1289 bis r1351 in ».«: +-- Aufzeichnung der Informationen für Zusammenführung von r105 bis r115 in ».«: U . - > lokal fehlend, eingehend editiert bei Zusammenführung -! C foo.c - > lokal fehlend, eingehend editiert bei Zusammenführung -! C docs - > lokal fehlend, eingehend editiert bei Zusammenführung + M . +! C doc + > lokal Verzeichnis fehlend, empfangen Verzeichnis editiert bei Zusammenführung +! C src/button.c + > lokal Datei fehlend, empfangen Verzeichnis editiert bei Zusammenführung +! C src/integer.c + > lokal Datei fehlend, empfangen Verzeichnis editiert bei Zusammenführung +! C src/main.c + > lokal Datei fehlend, empfangen Verzeichnis editiert bei Zusammenführung +! C src/real.c + > lokal Datei fehlend, empfangen Verzeichnis editiert bei Zusammenführung +Konfliktübersicht: + Baumkonflikte: 5 Im vorangegangenen Beispiel kann es der Fall gewesen sein, - dass bar.c, foo.c und - docs alle in beiden Momentaufnahmen des - Zweiges vorkommen, die verglichen werden. Das resultierende + dass doc und die vier + *.c-Dateien alle in beiden + Momentaufnahmen des Zweiges vorkommen, die verglichen werden. + Das resultierende Delta will den Inhalt der entsprechenden Pfade in Ihrer Arbeitskopie verändern, doch sind diese Pfade in der Arbeitskopie aber nicht vorhanden. Wie auch immer, das Überwiegen von Baumkonflikten bedeutet höchstwahrscheinlich, dass der Benutzer die falschen Bäume miteinander - verglichen hat; es ist das klassische Zeichen für einen + verglichen hat oder Sie machen einen Merge auf das falsche + Ziel in der Arbeitskopie; beides sind klassische Zeichen für einen Anwenderfehler. Falls dies passiert, ist es einfach, alle durch das Zusammenführen hervorgerufenen Änderungen rekursiv rückgängig zu machen (svn revert . @@ -4743,21 +4922,23 @@ -$ svn merge -c 1701 http://svn.example.com/myrepos/branchX --accept postpone +$ svn merge ^/paint/trunk -r289:291 --- Zusammenführen von r1701 in ».«: -C glub.c -C sputter.c --- Aufzeichnung der Informationen für Zusammenführung von r1701 in ».«: +-- Aufzeichnung der Informationen für Zusammenführung von r290 bis r291 in ».«: U . Konfliktübersicht: - Textkonflikte: 2 + Textkonflikte: 1 +Konflikt in Datei »Makefile« entdeckt. C:\SVN\src-branch-1.7.x>svn st M . From svnbook at googlecode.com Fri Feb 6 09:58:56 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 06 Feb 2015 15:58:56 +0000 Subject: [svnbook] r4976 committed - [de] Translation: Branching and Merging... Message-ID: <001a11363b7e7ee0de050e6d7f8f@google.com> Revision: 4976 Author: jmfelderhoff at gmx.eu Date: Fri Feb 6 15:58:40 2015 UTC Log: [de] Translation: Branching and Merging Sections: ** More on Merge Conflicts (temporary version) https://code.google.com/p/svnbook/source/detail?r=4976 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 5 15:10:27 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 6 15:58:40 2015 UTC @@ -1263,7 +1263,6 @@ zusammenführen. - +Nachtrag zu r400: Tippfehler im Hifetext. +------------------------------------------------------------------------ +r400 | bill | 2013-02-19 20:55:08 -0500 (Di, 19. Feb 2013) | 4 Zeilen +Geänderte Pfade: + M /calc/trunk/src/main.c D /calc/trunk/src/real.c Konfliktübersicht: Textkonflikte: 1 Konflikt in Datei »Makefile« entdeckt. +Conflict discovered in file 'Makefile'. +Select: (p) postpone, (df) diff-full, (e) edit, (m) merge, + (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p -C:\SVN\src-branch-1.7.x>svn st +$ svn st M . -? glub.c.merge-left.r1700 -? glub.c.merge-right.r1701 -C glub.c -? glub.c.working -? sputter.c.merge-left.r1700 -? sputter.c.merge-right.r1701 -C sputter.c -? sputter.c.working From svnbook at googlecode.com Mon Feb 9 23:31:18 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 10 Feb 2015 05:31:18 +0000 Subject: [svnbook] r4977 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c1e7024116a2050eb53278@google.com> Revision: 4977 Author: jmfelderhoff at gmx.eu Date: Tue Feb 10 05:31:01 2015 UTC Log: [de] Translation: Branching and Merging ** More on Merge Conflicts ** Blocking Changes ** Merge-Sensitive Logs and Annotations https://code.google.com/p/svnbook/source/detail?r=4977 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 6 15:58:40 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 05:31:01 2015 UTC @@ -4905,14 +4905,13 @@ dass doc und die vier *.c-Dateien alle in beiden Momentaufnahmen des Zweiges vorkommen, die verglichen werden. - Das resultierende - Delta will den Inhalt der entsprechenden Pfade in Ihrer - Arbeitskopie verändern, doch sind diese Pfade in der - Arbeitskopie aber nicht vorhanden. Wie auch immer, das + Das resultierende Delta will den Inhalt der entsprechenden + Pfade in Ihrer Arbeitskopie verändern, doch sind diese Pfade + in der Arbeitskopie aber nicht vorhanden. Wie auch immer, das Überwiegen von Baumkonflikten bedeutet höchstwahrscheinlich, - dass der Benutzer die falschen Bäume miteinander - verglichen hat oder Sie machen einen Merge auf das falsche - Ziel in der Arbeitskopie; beides sind klassische Zeichen für einen + dass der Benutzer die falschen Bäume miteinander verglichen + hat oder Sie machen einen Merge auf das falsche Ziel in der + Arbeitskopie; beides sind klassische Zeichen für einen Anwenderfehler. Falls dies passiert, ist es einfach, alle durch das Zusammenführen hervorgerufenen Änderungen rekursiv rückgängig zu machen (svn revert . @@ -4932,7 +4931,7 @@ $ svn st - + $ svn merge ^/paint/trunk -r289:291 @@ -4948,13 +4947,13 @@ Select: (p) postpone, (df) diff-full, (e) edit, (m) merge, (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p --> +Konflikt in Datei »Makefile« entdeckt. +Auswahl: (p) später auflösen, (df) Änderungen anzeigen, + (e) Dateibearbeiten, (m) Zusammenführung, + (mc) eigene Seite des Konflikts, + (tc) fremde Seite des Konflikts, (s) alle Optionen anzeigen: p Konfliktübersicht: Textkonflikte: 1 -Konflikt in Datei »Makefile« entdeckt. -Conflict discovered in file 'Makefile'. -Select: (p) postpone, (df) diff-full, (e) edit, (m) merge, - (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p - $ svn st M . C Makefile @@ -5072,184 +5071,276 @@ automatisch in den Zweig eingebracht werden. - Die einzige Möglichkeit, über Subversion 1.7 eine - Änderungsmenge zu blockieren, besteht darin, dem System + Um eine + Änderungsmenge zu blockieren müssen Sie Subversion vorzugaukeln, dass die Änderung bereits eingearbeitet wurde. Dazu rufen Sie den Unterbefehl mit der Option - auf: + auf. Das veranlasst Subversion + dazu, Mergeinfo wie bei einem tatsächlichen Merge anzulegen, + obwohl kein Diff angewendet worden ist: $ cd my-calc-branch -$ svn propget svn:mergeinfo . -/trunk:1680-3305 - -# In den Metadaten r3328 als bereits zusammengeführt vermerken. -$ svn merge -c 3328 --record-only ^/calc/trunk -- Aufzeichnung der Informationen für Zusammenführung von r3328 in ».«: +-- Aufzeichnung der Informationen für Zusammenführung von r387 bis r388 in ».«: U . + +# Nur Mergeinfo wird geändert. +$ svn st + M . -$ svn status -M . +$ svn pg svn:mergeinfo -vR +Eigenschaften von ».«: + svn:mergeinfo + /calc/trunk:341-378,387-388 -$ svn propget svn:mergeinfo . -/trunk:1680-3305,3328 -$ svn commit -m "Das Zusammenführen von r3328 mit dem Zweig verhindern." -… +$ svn commit -m "Block r387-388 from being merged to my-calc-branch." +Sending . + +Committed revision 461.--> +$ svn commit -m "Das Zusammenführen von r387-388 mit my-calc-branch verhindern." +Sende . + +Revision 461 übertragen. - Beginnend mit Subversion 1.7 sind Zusammenführungen mit + Seit Subversion 1.7 sind Zusammenführungen mit transitiv. Das bedeutet, dass zusätzlich zur Aufzeichnung der Mergeinfo die die blockierte(n) Revision(en) beschreiben, alle Unterschiede der Eigenschaft svn:mergeinfo der Quelle - ebenfalls angewendet werden. Sagen wir zum Beispiel mal, dass - wir die Zusammenführung der "Frazzle"-Funktionalität von - ^/trunk mit unserem - ^/branches/proj-X Zweig für immer - blockieren möchten. Wir wissen, dass die gesamte Arbeit an - "Frazzle" auf seinem eigenen Zweig gemacht wurde, der in - Revision 1055 wieder in trunk - eingegliedert wurde: + ebenfalls angewendet werden. Sagen wir mal zum Beispiel, dass + wir die Zusammenführung der Funktionalität + "paint-python-wrapper" von ^/paint/trunk + mit unserem ^/paint/branches/paint-1.0.x + Zweig für immer blockieren möchten. Wir wissen, dass die + gesamte Arbeit an dieser Funktionalität auf seinem eigenen + Zweig gemacht wurde, der in Revision 465 wieder in + /paint/trunk eingegliedert wurde: -$ svn log -v ^/trunk -r 1055 ------------------------------------------------------------------------- -r1055 | francesca | 2011-09-22 07:40:06 -0400 (Do, 22. Sep 2011) | 3 Zeilen +r465 | joe | 2013-02-25 14:05:12 -0500 (Mo, 25. Feb 2013) | 1 Zeile Geänderte Pfade: - M /trunk - M /trunk/src/frazzle.c - -Den Frazzle-Zweig wieder in trunk eingegliedert. + M /paint/trunk + A /paint/trunk/python (von /paint/branches/paint-python-wrapper/python:464) + +Paint Python Wrapper reintegriert. +------------------------------------------------------------------------ - Da Revision 1055 eine Zusammenführung zur + Da Revision 465 eine Zusammenführung zur Wiedereingliederung war, wissen wir, dass beschreibende Informationen aufgezeichnet wurden: -$ svn diff ^/trunk -c 1055 --depth empty +$ svn diff ^/paint/trunk --depth empty -c465 Index: . =================================================================== ---- . (revision 1054) -+++ . (revision 1055) +--- . (revision 464) ++++ . (revision 465) Eigenschaftsänderungen: . ___________________________________________________________________ -Modifiziert: svn:mergeinfo - Zusammengeführt /branches/frazzle-feature-branch:r997-1003 +Hinzugefügt: svn:mergeinfo + Zusammengeführt /paint/branches/paint-python-wrapper:r463-464 Das einfache Blockieren der Zusammenführungen der Revision - 1055 von ^/trunk ist nicht narrensicher, - da jemand r996:1003 direkt von - ^/branches/frazzle-feature-branch + 465 von /paint/trunk ist nicht + narrensicher, da jemand 462:464 direkt von + /paint/branches/paint-python-wrapper zusammenführen könnte. Glücklicherweise wird das durch die transitive Natur der Merges mit - in Subversion 1.7 verhindert: die Zusammenführung mit + verhindert: die Zusammenführung mit wendet den - svn:mergeinfo-Diff von Revision 1055 an, - und blockiert somit sowohl direkte Merges vom frazzle-Zweig - als auch, wie es vor Subversion 1.7 schon - immer war, Merges der Revision 1055 direkt von - ^/trunk: + svn:mergeinfo-Diff von Revision 465 an, und + blockiert somit sowohl direkte Merges dieser Änderung von + /paint/trunk als + auch indirekte von + /paint/branches/paint-python-wrapper: + -$ cd branches/proj-X +$ cd paint/branches/paint-1.0.x -$ svn merge ^/trunk . -c 1055 --record-only --- Zusammenführen von r1055 in ».«: - G . --- Aufzeichnung der Informationen für Zusammenführung von r1055 in ».«: +-- Aufzeichnung der Informationen für Zusammenführung von r465 in ».«: G . -$ svn diff --depth empty . +$ svn diff --depth empty Index: . -=================================================================== ---- . (Revision 1070) +--- . (Revision 462) +++ . (Arbeitskopie) Eigenschaftsänderungen: . ___________________________________________________________________ -Geändert: svn:mergeinfo - Zusammengeführt /trunk:r1055 - Zusammengeführt /branches/frazzle-feature-branch:r997-1003 +Hinzugefügt: svn:mergeinfo + Zusammengeführt /paint/branches/paint-python-wrapper:r463-464 + Zusammengeführt /paint/trunk:r465 + +$ svn ci -m "Die Python-Wrapper aus der ersten Release von Paint sperren." +Sende . + +Revision 466 übertragen. + + Nun sind alle künftigen Versuche, die Funktionalität mit + /paint/trunk zusammenzuführen, + inoperativ: + + + +$ svn merge ^/paint/trunk -c465 +-- Aufzeichnung der Informationen für Zusammenführung von r456 in ».«: + U . + +$ svn st # keine Änderung + +$ svn merge ^/paint/branches/paint-python-wrapper -r462:464 +-- Aufzeichnung der Informationen für Zusammenführung von r463 bis r464 in ».«: + U . + +$ svn st # keine Änderung +$ + + + + + Falls Sie später feststellen, dass Sie die blockierte + Funktionalität doch nach + /paint/trunk herüberbringen müssen, + haben Sie die Wahl. Sie können r466 (die Revision, in der die + Funktionalität blockiert wurde) rückwärts patchen wie in + erörtert. + Sobald Sie die Änderung übertragen haben, können Sie r465 die + von /paint/trunk zusammenführen. + Alternativ können Sie einfach r465 von + /paint/trunk erneut zusammenführen, indem + Sie die Option verwenden, + die beim Zusammenführen jegliche Mergeinfo ignoriert und den + erwünschten Diff einfach anwendet; siehe + . + + + +$ svn merge ^/paint/trunk -c465 --ignore-ancestry +-- Zusammenführen von r465 in ».«: +A python +A python/paint.py + G . + + + - - - Einen reintegrierten Zweig am Leben erhalten - - - Es gibt einen anderen Weg, als einen Zweig nach der - Reintegration zu zerstören und erneut zu erzeugen. Zum - Verständnis, warum das funktioniert, müssen Sie verstehen, - warum der Zweig unmittelbar nach dem Reintegrieren zunächst - nicht weiterverwendbar ist. - - - Nehmen wir an, Sie haben den Zweig in Revision - A angelegt. Bei der Arbeit auf diesem - Zweig haben Sie eine oder mehrere Revisionen erzeugt, die - Änderungen an dem Zweig beinhalten. Vor der Reintegration des - Zweigs zurück auf die Hauptentwicklungslinie haben Sie eine - abschließende Zusammenführung von dort auf Ihren Zweig - vollzogen und das Ergebnis dieser Merges als Revision - B übertragen. - - - Bei der Reintegration Ihres Zweigs auf die - Hauptentwicklungslinie erzeugen Sie eine neue Revision - X die jene ändert. Die Änderungen an der - Hauptentwicklungslinie in dieser Revision - X sind semantisch äquivalent zu den - Änderungen, die Sie zwischen Revision A - und B auf Ihrem Zweig vorgenommen haben. - - - - Falls Sie jetzt versuchen, ausstehende Änderungen von der - Hauptentwicklungslinie mit Ihrem Zweig zusammenzuführen, wird - Subversion die in Revision X - vorgenommenen Änderungen als Kandidaten für die - Merges betrachten. Da Ihr Zweig jedoch bereits alle in - Revision X vorgenommenen Änderungen - enthält, kann das Zusammenführen dieser Änderungen - fälschlicherweise zu Konflikten führen! Bei diesen Konflikten - handelt es sich oft um Baumkonflikte, besonders dann, wenn - während der Entwicklung auf dem Zweig dort oder auf der - Hauptentwicklungslinie Umbenennungen gemacht wurden. - - - Wie soll also damit umgegangen werden? Wir müssen - sicherstellen, dass Subversion nicht versucht, die Revision - X mit dem Zweig zusammenzuführen. Das - wird mit der Merge-Option - erreicht, die in - - vorgestellt wurde. - - - Um die nur vermerkte Zusammenführung auszuführen, - erstellen Sie sich eine Arbeitskopie des Zweigs, der in - Revision X frisch reintegriert wurde, und - führen Sie lediglich die Revision X von - der Hauptentwicklungslinie mit Ihrem Zweig zusammen, indem Sie - sicherstellen, dass Sie die Option - verwenden. - - - Dieser Merge verwendet die Syntax zum Herauspicken der - Rosinen, wie sie in - vorgestellt - wurde. Um mit dem aktuellen Beispiel aus - - fortzufahren, in dem Revision X die - Revision 391 war: - - - - -$ cd my-calc-branch -$ svn update -Aktualisiert zu Revision 393. -$ svn merge --record-only -c 391 ^/calc/trunk -$ svn commit -m "Block revision 391 from being merged into my-calc-branch." -Sende . - -Revision 394 übertragen. - - - - - - - Nun ist Ihr Zweig wieder bereit, Änderungen von der - Hauptentwicklungslinie aufzunehmen. Nach einer weiteren - Synchronisierung Ihres Zweigs auf die Hauptentwicklungslinie - können Sie sogar ein zweites Mal Ihren Zweig reintegrieren. - Falls notwendig, können Sie einen weiteren, nur vermerkten - Merge machen, um den Zweig am Leben zu erhalten. Spülen und - wiederholen. - - - Nun sollte es auch offensichtlich sein, warum das Löschen - und Wiederherstellen des Zweigs den selben Effekt hat wie die - obige nur vermerkte Zusammenführung. Da die Revision - X Teil der natürlichen Historie des - frisch erzeugten Zweigs ist (siehe Anmerkung - ), - wird Subversion niemals versuchen, die Revision - X mit dem Zweig zusammenzuführen, und - vermeidet dadurch fälschliche Konflikte. - - - $ cd my-calc-branch + $ svn log -q ------------------------------------------------------------------------ -r390 | user | 2002-11-22 11:01:57 -0600 (Fr, 22. Nov 2002) | 1 Zeile +r461 | user | 2013-02-25 05:57:48 -0500 (Mo, 25. Feb 2013) ------------------------------------------------------------------------ -r388 | user | 2002-11-21 05:20:00 -0600 (Do, 21. Nov 2002) | 2 Zeilen +r379 | user | 2013-02-18 10:56:35 -0500 (Mo, 18. Feb 2013) ------------------------------------------------------------------------ -r381 | user | 2002-11-20 15:07:06 -0600 (Mi, 20. Nov 2002) | 2 Zeilen +r378 | user | 2013-02-18 09:48:28 -0500 (Mo, 18. Feb 2013) ------------------------------------------------------------------------ -r359 | user | 2002-11-19 19:19:20 -0600 (Di, 19. Nov 2002) | 2 Zeilen +… ------------------------------------------------------------------------ -r357 | user | 2002-11-15 14:29:52 -0600 (Fr, 15. Nov 2002) | 2 Zeilen +r8 | sally | 2013-01-17 16:55:36 -0500 (Do, 17. Jan 2013) ------------------------------------------------------------------------ -r343 | user | 2002-11-07 13:50:10 -0600 (Do, 07. Nov 2002) | 2 Zeilen +r7 | bill | 2013-01-17 16:49:36 -0500 (Do, 17. Jan 2013) ------------------------------------------------------------------------ -r341 | user | 2002-11-03 07:17:16 -0600 (So, 03. Nov 2002) | 2 Zeilen +r3 | bill | 2013-01-17 09:07:04 -0500 (Do, 17. Jan 2013) ------------------------------------------------------------------------ -r303 | sally | 2002-10-29 21:14:35 -0600 (Di, 29. Okt 2002) | 2 Zeilen ------------------------------------------------------------------------- -r98 | sally | 2002-02-22 15:35:29 -0600 (Fr, 22. Feb 2002) | 2 Zeilen ------------------------------------------------------------------------- Aber ist das wirklich eine genaue Wiedergabe aller Änderungen, die auf dem Zweig stattgefunden haben? Was hier - ausgelassen wird, ist, dass die Revisionen 390, 381 und 357 - tatsächlich Ergebnisse des Zusammenführens von Änderungen aus - dem Stamm waren. Wenn Sie sich eins dieser Protokolle im - Detail anschauen, können Sie die verschiedenen - Änderungsmengen vom Stamm, die die Änderungen auf dem Zweig - ausmachen, nirgendwo sehen: + ausgelassen wird, ist, dass die Revisionen 352, 362, 372 und + 379 tatsächlich Ergebnisse des Zusammenführens von Änderungen + aus dem Stamm waren. Wenn Sie sich eins dieser Protokolle im + Detail anschauen, können Sie die verschiedenen Änderungsmengen + vom Stamm, die die Änderungen auf dem Zweig ausmachen, + nirgendwo sehen: -$ svn log -v -r 390 +$ svn log ^/calc/branches/my-calc-branch -r352 -v ------------------------------------------------------------------------ -r390 | user | 2002-11-22 11:01:57 -0600 (Fr, 22. Nov 2002) | 1 Zeile +r352 | user | 2013-02-16 09:35:18 -0500 (Sa, 16. Feb 2013) | 1 Zeile Geänderte Pfade: - M /branches/my-calc-branch/button.c - M /branches/my-calc-branch/README + M /calc/branches/my-calc-branch + M /calc/branches/my-calc-branch/Makefile + M /calc/branches/my-calc-branch/doc/INSTALL + M /calc/branches/my-calc-branch/src/button.c + M /calc/branches/my-calc-branch/src/real.c -Letzte Zusammenführung der Änderungen von trunk changes in my-calc-branch. +Synchronisierung der letzten Änderungen von trunk mit my-calc-branch. @@ -5617,110 +5521,125 @@ -$ svn log -v -r 390 -g +$ svn log ^/calc/branches/my-calc-branch -r352 -v -g ------------------------------------------------------------------------ -r390 | user | 2002-11-22 11:01:57 -0600 (Fr, 22. Nov 2002) | 1 Zeile +r352 | user | 2013-02-16 09:35:18 -0500 (Sa, 16. Feb 2013) | 1 Zeile Geänderte Pfade: - M /branches/my-calc-branch/button.c - M /branches/my-calc-branch/README + M /calc/branches/my-calc-branch + M /calc/branches/my-calc-branch/Makefile + M /calc/branches/my-calc-branch/doc/INSTALL + M /calc/branches/my-calc-branch/src/button.c + M /calc/branches/my-calc-branch/src/real.c -Letzte Zusammenführung der Änderungen von trunk in my-calc-branch. +Synchronisierung der letzten Änderungen von trunk mit my-calc-branch. ------------------------------------------------------------------------ -r383 | sally | 2002-11-21 03:19:00 -0600 (Do, 21. Nov 2002) | 2 Zeilen +r351 | sally | 2013-02-16 08:04:22 -0500 (Sa, 16. Feb 2013) | 2 Zeilen Geänderte Pfade: - M /branches/my-calc-branch/button.c -Zusammengeführt mittels: r390 + M /calc/trunk/src/real.c +Zusammengeführt mittels: r352 -Inverse Grafik auf Knopf behoben. +Arbeiten auf dem Stamm vom calc-Projekt. +------------------------------------------------------------------------ +… ------------------------------------------------------------------------ -r382 | sally | 2002-11-20 16:57:06 -0600 (Mi, 20. Nov 2002) | 2 Zeilen +Trunk work on calc project. +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +r344 | sally | 2013-02-15 16:44:44 -0500 (Fri, 15 Feb 2013) | 1 line +Changed paths: --> +------------------------------------------------------------------------ +r344 | sally | 2013-02-15 16:44:44 -0500 (Fr, 15. Feb 2013) | 1 Zeile Geänderte Pfade: - M /branches/my-calc-branch/README -Zusammengeführt mittels: r390 - -Meine letzte Änderung in README dokumentiert. + M /calc/trunk/src/integer.c +Zusammengeführt mittels: r352 + +Die bazzle-Funktionen refaktoriert. Dadurch, dass wir die Protokoll-Operation aufgefordert haben, die Geschichte der Zusammenführungen zu verwenden, sehen wir nicht nur die Revision, die wir abgefragt haben - (r390), sondern auch die zwei Revisionen, die hier mitkamen - – ein paar Änderungen, die Sally auf dem Stamm gemacht - hat. Das ist ein wesentlich vollständigeres Bild der - Geschichte! + (r352), sondern auch die anderen Revisionen, die hier mitkamen + – die Arbeit von Sally auf dem Stamm. Das ist ein + wesentlich vollständigeres Bild der Geschichte! Auch der svn blame-Befehl versteht die Option (). Falls diese Option vergessen wird, könnte jemand, der sich die zeilenweisen Anmerkungen von - button.c ansieht, fälschlicherweise davon - ausgehen, dass Sie für die Zeilen verantwortlich sind, die - einen bestimmten Fehler beseitigt haben: + Makefile ansieht, fälschlicherweise davon + ausgehen, dass Sie für die Zeilen einer bestimmten Änderung + verantwortlich sind: -$ svn blame button.c +$ svn blame src/button.c … - 390 user retval = inverse_func(button, path); - 390 user return retval; - 390 user } + 352 user retval = inverse_func(button, path); + 352 user return retval; + 352 user } … Obwohl es zutrifft, dass Sie diese drei Zeilen in Revision - 390 übergeben haben, sind zwei davon tatsächlich von Sally in - Revision 383 geschrieben worden: + 352 übergeben haben, sind zwei davon tatsächlich von Sally in + Revision 348 geschrieben worden und sind durch einen + Synchronisierungs-Merge in Ihren Zweig geraten: $ svn blame button.c -g … -G 383 sally retval = inverse_func(button, path); -G 383 sally return retval; - 390 user } +G 348 sally retval = inverse_func(button, path); +G 348 sally return retval; + 352 user } … From svnbook at googlecode.com Tue Feb 10 00:49:15 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 10 Feb 2015 06:49:15 +0000 Subject: [svnbook] r4978 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c2c3acfe2eb1050eb64817@google.com> Revision: 4978 Author: jmfelderhoff at gmx.eu Date: Tue Feb 10 06:47:15 2015 UTC Log: [de] Translation: Branching and Merging ** Noticing or Ignoring Ancestry ** Merges and Moves https://code.google.com/p/svnbook/source/detail?r=4978 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 05:31:01 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 06:47:15 2015 UTC @@ -5664,9 +5664,8 @@ ancestry - - When conversing with a Subversion developer, you might - very likely hear reference to the term + When conversing with a Subversion developer, you + might very likely hear reference to the term ancestry. This word is used to describe the relationship between two objects in a repository: if they're related to each other, one @@ -5675,9 +5674,8 @@ Abstammung - - Wenn Sie sich mit einem Subversion-Entwickler unterhalten, - wird wahrscheinlich auch der Begriff + Wenn Sie sich mit einem Subversion-Entwickler + unterhalten, wird wahrscheinlich auch der Begriff Abstammung erwähnt. Dieses Wort wird verwendet, um die Beziehung zwischen zwei Objekten im Projektarchiv zu beschreiben: Wenn sie in Beziehung zueinander @@ -5792,7 +5790,12 @@ - Die Option + + + Merge-Tracking + unterbinden + + Die Option unterbindet auch . Das bedeutet, dass weder svn:mergeinfo @@ -5841,14 +5849,14 @@ Leider funktioniert dieses Szenario im Augenblick noch nicht so richtig und gilt als einer der Schwachpunkte von Subversion. Das Problem ist, das der Subversion-Befehl - svn update nicht so stabil ist, wie er sein + svn merge nicht so stabil ist, wie er sein sollte, besonders wenn es um Kopier- und Verschiebeoperationen geht. @@ -5860,8 +5868,9 @@ merge. Instead of telling the client, Copy that file you already have to this new location, it sends down an entirely new file. This can lead to - problems, especially because the same thing happens with - renamed files. A lesser-known fact about Subversion is that + problems, particularly tree conflicts in the case of renames, + which involve not only the new copy, but a deletion of the old + path—a lesser-known fact about Subversion is that it lacks true renames—the svn move command is nothing more than an aggregation of svn copy and svn @@ -5874,92 +5883,202 @@ merge ausführt. Statt dem Client mitzuteilen: Kopiere die Datei, die du bereits hast an diesen neuen Ort, sendet es eine völlig neue Datei. Das kann zu - Problemen führen, besonders, weil dasselbe mit umbenannten - Dateien passiert. Eine weniger bekannte Tatsache über - Subversion ist, dass es keine echten - Umbenennungen hat – der Befehl svn - move ist weiter nichts als eine Verbindung von - svn copy und svn + Problemen führen, im Falle von Umbenennungen besonders zu + Baumkonflikten, die nicht nur die neue Kopie betreffen, + sondern die Löschung des alten Pfades ^ndash; eine weniger + bekannte Tatsache über Subversion ist, dass es keine + echten Umbenennungen hat – der Befehl + svn move ist weiter nichts als eine + Verbindung von svn copy und svn delete. - Nehmen wir beispielsweise an, dass Sie während Ihrer - Arbeit auf Ihrem privaten Zweig integer.c - in whole.c umbenennen. Tatsächlich haben - Sie eine neue Datei auf Ihrem Zweig erzeugt, die eine Kopie - der ursprünglichen Datei ist, und letztere gelöscht. - Zwischenzeitlich hat Sally einige Verbesserungen an - integer.c in trunk - übergeben. Nun entscheiden Sie sich, Ihren Zweig mit dem Stamm - zusammenzuführen: - + Nehmen wir beispielsweise an, dass Sie einige Änderungen + an Ihrem privaten Zweig /calc/branch/my-calc-branch + machen möchten. Zunächst führen Sie einen + automatischen Synchronisierungs-Merge mit + /calc/trunk durch und übertragen das + Ergebnis in r470: $ cd calc/trunk -$ svn merge --reintegrate ^/calc/branches/my-calc-branch -- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«: -D integer.c -A whole.c -U . -- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«: U . + +$ svn ci -m "Synchronisierung aller Änderungen von ^/calc/trunk bis r469." +Sende . +Sende Makefile +Sende README +Sende FAQ +Sende doc/INSTALL +Sende src/main.c +Sende src/button.c +Sende src/integer.c +Übertrage Daten .... +Revision 470 übertragen. + + Dann benennen Sie in r471 integer.c + in whole.c um und editieren dieselbe + Datei in r473. Tatsächlich haben Sie eine neue Datei auf Ihrem + Zweig erzeugt (die eine Kopie der ursprünglichen Datei plus + einiger Bearbeitungen ist) und die ursprüngliche Datei + gelöscht. Zwischenzeitlich hat Sally in r472 auf + /calc/trunk selber einige Verbesserungen + an integer.c übergeben: + + + +$ svn log -v -r472 ^/calc/trunk +------------------------------------------------------------------------ +r472 | sally | 2013-02-26 07:05:18 -0500 (Di, 26. Feb 2013) | 1 Zeile +Geänderte Pfade: + M /calc/trunk/src/integer.c + +Arbeit auf dem Stamm von integer.c. +------------------------------------------------------------------------ + + - Auf den ersten Blick sieht es gar nicht schlecht aus, - jedoch ist es nicht das, was Sie und Sally erwartet hätten. - Die Zusammenführung hat die letzte Version der Datei - integer.c gelöscht (diejenige, die Sallys - Änderungen beinhaltet) und blindlings Ihre neue Datei - whole.c hinzugefügt – die ein - Duplikat der älteren Version von - integer.c ist. Das Endergebnis ist, dass - durch die Zusammenführung Ihrer Umbenennung auf - dem Zweig mit dem Stamm Sallys jüngste Änderungen aus der - letzten Revision entfernt wurden. + Nun entscheiden Sie sich, Ihren Zweig auf den Stamm + zurückzuführen. Wie wird Subversion Ihre Umbenennung und + Bearbeitung mit den Bearbeiungen durch Sally + kombinieren? + + + +$ svn merge ^/calc/branches/my-calc-branch +-- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«: + C src/integer.c + U src/real.c +A src/whole.c +-- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«: + U . +Konfliktübersicht: + Baumkonflikte: 1 + +$ svn st + M . + C src/integer.c + > lokale Datei geändert, eingehendes Löschen einer Datei bei Zusammenführung + M src/real.c +A + src/whole.c +Konfliktübersicht: + Baumkonflikte: 1 + + + Die Antwort ist, dass Subversion diese Änderungen + keineswegs kombiniert, sondern + stattdessen einen Baumkonflikt erzeugtFalls + Sally ihre Änderung in r472 nicht gemacht hätte, dann wäre + Subversion aufgefallen, dass integer.c in + der Ziel-Arbeitskopie identisch zu integer.c + auf der linken Seite des Merge ist, und hätte Ihnen die + Umbenennung ohne Baumkonflikt durchgehen lassen: + + +$ svn merge ^/calc/branches/my-calc-branch +-- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«: + U src/real.c +A src/whole.c +D src/integer.c +-- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«: + U . + + , da es Ihre Hilfe benötigt, um + herauszufinden, welche Teile Ihrer Änderungen und welche Teile + von Sallys Änderungen schließlich in + whole.c landen sollen, oder ob die + Umbenennung überhaupt stattfinden soll! + + - Es ist kein echter Datenverlust. Sallys Änderungen - befinden sich noch immer in der Geschichte des Projektarchivs, - allerdings mag es nicht sofort ersichtlich sein, dass es - passiert ist. Die Lehre, die es aus dieser Geschichte zu - ziehen gilt, lautet, dass Sie sehr vorsichtig mit dem - Zusammenführen von Kopien und Umbenennungen zwischen Zweigen - sein sollten, solange sich Subversion an dieser Stelle nicht - verbessert hat. + Vor der Übergabe werden Sie den Baumkonflikt auflösen + müssen, was einiger manueller Eingriffe Ihrerseits bedarf, + siehe . Die Moral der + Geschichte ist, dass Sie dabei vorsichtig sein sollten, wenn Sie + Kopien und Umbenennungen zwischen Zweigen zusammenführen, und + auf manuelle Eingriffe vorbereitet sind, + bis sich Subversion verbessert. From svnbook at googlecode.com Tue Feb 10 10:50:38 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 10 Feb 2015 16:50:38 +0000 Subject: [svnbook] r4979 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c2adccbcfeac050ebeaf59@google.com> Revision: 4979 Author: jmfelderhoff at gmx.eu Date: Tue Feb 10 16:50:23 2015 UTC Log: [de] Translation: Branching and Merging Sections: * Advanced Merging ** Blocking Merge Tracking Unaware Clients ** The Final Word on Merge Tracking * Traversing Branches * Tags * Branch Maintenance ** Repository Layout ** Data Lifetimes * Common Branching Patterns ** Release Branches ** Feature Branches * Vendor Branches (intro) https://code.google.com/p/svnbook/source/detail?r=4979 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 06:47:15 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 10 16:50:23 2015 UTC @@ -3798,2297 +3798,2297 @@ - - - Fortgeschrittenes Zusammenführen + + + Fortgeschrittenes Zusammenführen - - Hier endet die automatische Magie. Früher oder später, - sobald Sie den Dreh beim Verzweigen und Zusammenführen heraus - haben, werden Sie Subversion fragen müssen, - bestimmte Änderungen von einem Ort zum - anderen zusammenzuführen. Um dies tun zu können, werden Sie - damit beginnen müssen, kompliziertere Argumente an svn - merge zu übergeben. Der nächste Abschnitt beschreibt - die vollständig erweiterte Syntax des Befehls und behandelt eine - Anzahl verbreiteter Szenarien, die diese benötigen. + + Hier endet die automatische Magie. Früher oder später, + sobald Sie den Dreh beim Verzweigen und Zusammenführen heraus + haben, werden Sie Subversion fragen müssen, + bestimmte Änderungen von einem Ort zum + anderen zusammenzuführen. Um dies tun zu können, werden Sie + damit beginnen müssen, kompliziertere Argumente an svn + merge zu übergeben. Der nächste Abschnitt beschreibt + die vollständig erweiterte Syntax des Befehls und behandelt eine + Anzahl verbreiteter Szenarien, die diese benötigen. - - - - Die Rosinen herauspicken + + + + Die Rosinen herauspicken - - - - Merging - Rosinenpicken - Genauso oft wie der Begriff Änderungsmenge - wird die Wendung die Rosinen - herauspicken in Versions-Kontroll-Systemen - verwendet. Das bezieht sich darauf, eine - bestimmte Änderungsmenge von einem Zweig auszuwählen und sie - auf einen anderen anzuwenden. Die Rosinen herauszupicken kann - sich auch darauf beziehen, eine bestimmte Menge von (nicht - notwendigerweise angrenzenden) Änderungsmengen von einem auf - einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu - den üblicheren Merge-Szenarien, bei denen der - nächste zusammenhängende Bereich von Revisionen - automatisch dupliziert wird. + + + + Merging + Rosinenpicken + Genauso oft wie der Begriff Änderungsmenge + wird die Wendung die Rosinen + herauspicken in Versions-Kontroll-Systemen + verwendet. Das bezieht sich darauf, eine + bestimmte Änderungsmenge von einem Zweig auszuwählen und sie + auf einen anderen anzuwenden. Die Rosinen herauszupicken kann + sich auch darauf beziehen, eine bestimmte Menge von (nicht + notwendigerweise angrenzenden) Änderungsmengen von einem auf + einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu + den üblicheren Merge-Szenarien, bei denen der + nächste zusammenhängende Bereich von Revisionen + automatisch dupliziert wird. - - Warum sollte jemand nur eine einzelne Änderung wollen? Das - kommt häufiger vor, als Sie denken. Gehen wir beispielsweise - einmal davon aus, dass Sie einen neuen Arbeitszweig - /calc/branches/my-calc-feature-branch durch - kopieren von /calc/trunk erstellt - haben: + + Warum sollte jemand nur eine einzelne Änderung wollen? Das + kommt häufiger vor, als Sie denken. Gehen wir beispielsweise + einmal davon aus, dass Sie einen neuen Arbeitszweig + /calc/branches/my-calc-feature-branch durch + kopieren von /calc/trunk erstellt + haben: - - -$ svn log ^/calc/branches/new-calc-feature-branch -v -r403 ------------------------------------------------------------------------- -r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile -Geänderte Pfade: - A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) - -Einen neuen Zweig calc für Arbeit an 'X' erzeugt. ------------------------------------------------------------------------- - - + + + $ svn log ^/calc/branches/new-calc-feature-branch -v -r403 + ------------------------------------------------------------------------ + r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile + Geänderte Pfade: + A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) + + Einen neuen Zweig calc für Arbeit an 'X' erzeugt. + ------------------------------------------------------------------------ + + - - In der Kaffeeküche bekommen Sie mit, dass Sally eine - interessante Änderung an main.c auf dem - Stamm gemacht hat. Als Sie sich die Geschichte der Übergaben - auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 - einen kritischen Fehler beseitigt hat, der direkte - Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. - Es kann sein, dass Sie noch nicht bereit sind, alle Änderungen - vom Stamm zu übernehmen, jedoch benötigen Sie diese bestimmte - Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu - können. + + In der Kaffeeküche bekommen Sie mit, dass Sally eine + interessante Änderung an main.c auf dem + Stamm gemacht hat. Als Sie sich die Geschichte der Übergaben + auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 + einen kritischen Fehler beseitigt hat, der direkte + Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. + Es kann sein, dass Sie noch nicht bereit sind, alle Änderungen + vom Stamm zu übernehmen, jedoch benötigen Sie diese bestimmte + Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu + können. - - Ebenso wie Sie svn diff im vorigen - Beispiel benutzt haben, um sich Revision 355 anzusehen, können - Sie die gleiche Option an svn merge - übergeben: + + Ebenso wie Sie svn diff im vorigen + Beispiel benutzt haben, um sich Revision 355 anzusehen, können + Sie die gleiche Option an svn merge + übergeben: - - -$ svn log ^/calc/trunk -r413 -v ------------------------------------------------------------------------- -r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen -Geänderte Pfade: - M /calc/trunk/src/main.c - -Fehler #22 'Übergabe eines Null-Wertes im Argument foo von bar() -sollte erlaubt sein, aber ruft Schutzverletzung hervor'. ------------------------------------------------------------------------- + + + $ svn log ^/calc/trunk -r413 -v + ------------------------------------------------------------------------ + r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen + Geänderte Pfade: + M /calc/trunk/src/main.c + + Fehler #22 'Übergabe eines Null-Wertes im Argument foo von bar() + sollte erlaubt sein, aber ruft Schutzverletzung hervor'. + ------------------------------------------------------------------------ -$ svn diff ^/calc/trunk -c413 -Index: src/main.c -=================================================================== ---- src/main.c (revision 412) -+++ src/main.c (revision 413) -@@ -34,6 +34,7 @@ -… # Details zur Fehlerbehebung -… - - + … + + - - So wie Sie svn diff im vorangegangenen - Beispiel verwendet haben, um Revision 413 zu untersuchen, - können Sie die gleiche Option an svn merge - übergeben: + + So wie Sie svn diff im vorangegangenen + Beispiel verwendet haben, um Revision 413 zu untersuchen, + können Sie die gleiche Option an svn merge + übergeben: - - -$ cd new-calc-feature-branch + + + $ cd new-calc-feature-branch -$ svn merge ^/calc/trunk -c413 ---- Zusammenführen von r413 in ».«: -U src/main.c --- Aufzeichnung der Informationen für Zusammenführung von r413 in ».«: - U . + $ svn merge ^/calc/trunk -c413 + --- Zusammenführen von r413 in ».«: + U src/main.c + -- Aufzeichnung der Informationen für Zusammenführung von r413 in ».«: + U . -$ svn st - M . -M src/main.c - - + $ svn st + M . + M src/main.c + + - - Sie können nun Ihre üblichen Tests durchführen, bevor Sie - diese Änderung an den Zweig übergeben. Nach der Übergabe - bringt Subversion das svn:mergeinfo ihres - Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit - dem Zweig zusammengeführt wurde. Das verhindert, dass künftige - automatische Synchronisierungs-Merges versuchen, r413 erneut - zusammenzuführen. (Das Mergen derselben Änderung auf denselben - Zweig führt fast immer zu einem Konflikt!) Beachten Sie auch - das Mergeinfo - /calc/branches/my-calc-branch:341-379, Das wurde bei - unserem in r380 gemachten Reintegrations-Merge nach - /calc/trunk vom Zweig - /calc/branches/my-calc-branch aufgezeichnet. Als - wir den Zweig my-calc-branch in r403 - erstellt haben, wurde diese Mergeinfo mit der Kopie - mitgenommen. + + Sie können nun Ihre üblichen Tests durchführen, bevor Sie + diese Änderung an den Zweig übergeben. Nach der Übergabe + bringt Subversion das svn:mergeinfo ihres + Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit + dem Zweig zusammengeführt wurde. Das verhindert, dass künftige + automatische Synchronisierungs-Merges versuchen, r413 erneut + zusammenzuführen. (Das Mergen derselben Änderung auf denselben + Zweig führt fast immer zu einem Konflikt!) Beachten Sie auch + das Mergeinfo + /calc/branches/my-calc-branch:341-379, Das wurde bei + unserem in r380 gemachten Reintegrations-Merge nach + /calc/trunk vom Zweig + /calc/branches/my-calc-branch aufgezeichnet. Als + wir den Zweig my-calc-branch in r403 + erstellt haben, wurde diese Mergeinfo mit der Kopie + mitgenommen. - - -$ svn pg svn:mergeinfo -v -Eigenschaften von ».«: - svn:mergeinfo - /calc/branches/my-calc-branch:341-379 - /calc/trunk:413 - - + + + $ svn pg svn:mergeinfo -v + Eigenschaften von ».«: + svn:mergeinfo + /calc/branches/my-calc-branch:341-379 + /calc/trunk:413 + + - - Beachten Sie auch, dass mergeinfo r413 - nicht als Kandidaten für einen Merge anzeigt, da sie bereits - zusammengeführt wurde: + + Beachten Sie auch, dass mergeinfo r413 + nicht als Kandidaten für einen Merge anzeigt, da sie bereits + zusammengeführt wurde: - - -$ svn mergeinfo ^/calc/trunk --show-revs eligible -r404 -r405 -r406 -r407 -r409 -r410 -r411 -r412 -r414 -r415 -r416 -… -r455 -r456 -r457 - - + + + $ svn mergeinfo ^/calc/trunk --show-revs eligible + r404 + r405 + r406 + r407 + r409 + r410 + r411 + r412 + r414 + r415 + r416 + … + r455 + r456 + r457 + + - - Das oben stehende bedeutet, wenn schließlich die Zeit für - einen automatischen Synchronisierungs-Merge gekommen ist, dass - Subversion den Merge in zwei Teile aufspaltet. Zunächst werden - alle in Frage kommenden Merges bis Revision 412 ausgeführt. - Dann werden alle in Frage kommenden Revisionen von Revision - 412 bis zur Revision HEAD ausgeführt. Da - wir uns bereits r413 herausgepickt haben, wird diese Änderung - übersprungen change is skipped: + + Das oben stehende bedeutet, wenn schließlich die Zeit für + einen automatischen Synchronisierungs-Merge gekommen ist, dass + Subversion den Merge in zwei Teile aufspaltet. Zunächst werden + alle in Frage kommenden Merges bis Revision 412 ausgeführt. + Dann werden alle in Frage kommenden Revisionen von Revision + 412 bis zur Revision HEAD ausgeführt. Da + wir uns bereits r413 herausgepickt haben, wird diese Änderung + übersprungen change is skipped: - - -$ svn merge ^/calc/trunk ---- Zusammenführen von r403 bis r412 in ».«: -U doc/INSTALL -U src/main.c -U src/button.c -U src/integer.c -U Makefile -U README ---- Zusammenführen von r414 bis r458 in ».«: -G doc/INSTALL -G src/main.c -G src/integer.c -G Makefile --- Aufzeichnung der Informationen für Zusammenführung von r403 bis r458 in ».«:\n" - U . - - + + + $ svn merge ^/calc/trunk + --- Zusammenführen von r403 bis r412 in ».«: + U doc/INSTALL + U src/main.c + U src/button.c + U src/integer.c + U Makefile + U README + --- Zusammenführen von r414 bis r458 in ».«: + G doc/INSTALL + G src/main.c + G src/integer.c + G Makefile + -- Aufzeichnung der Informationen für Zusammenführung von r403 bis r458 in ».«:\n" + U . + + - - - - Merging - nachziehen - Dieser Anwendungsfall des Abgleichens (oder - Nachziehens) von Fehlerbehebungen von - einem Zweig zu einem anderen ist vielleicht der gängigste Grund - für Änderungen, die Rosinen herauszupicken; es kommt ständig - vor, beispielsweise, wenn ein Team einen - Software-Release-Zweig verwendet. (Wir - erörtern dieses Muster in .) + + + + Merging + nachziehen + Dieser Anwendungsfall des Abgleichens (oder + Nachziehens) von Fehlerbehebungen von + einem Zweig zu einem anderen ist vielleicht der gängigste Grund + für Änderungen, die Rosinen herauszupicken; es kommt ständig + vor, beispielsweise, wenn ein Team einen + Software-Release-Zweig verwendet. (Wir + erörtern dieses Muster in .) - - - Haben Sie bemerkt, wie im letzten Beispiel der Aufruf - von svn merge zwei unterschiedliche - Abgleichsintervalle zusammengeführt hat? Der Befehl führte - zwei unabhängige Patches auf Ihrer Arbeitskopie aus, um die - Änderungsmenge 413 zu überspringen, die Ihr Zweig bereits - beinhaltete. An und für sich ist daran nichts falsch, bis - auf die Tatsache, dass die Möglichkeit besteht, eine - Konfliktauflösung komplizierter zu machen. Falls das erste - Änderungsintervall Konflikte erzeugt, - müssen Sie diese interaktiv auflösen, - um den Merge fortzusetzen und das zweite Änderungsintervall - anzuwenden. Wenn Sie die Konfliktauflösung der ersten Phase - aufschieben, wird der komplette Merge-Befehl mit einer - Fehlermeldung abbrechen und Sie müssen den Konflikt - auflösen, bevor Sie den Merge erneut anwenden, um den Rest - der Änderungen zu bekommen. - + + + Haben Sie bemerkt, wie im letzten Beispiel der Aufruf + von svn merge zwei unterschiedliche + Abgleichsintervalle zusammengeführt hat? Der Befehl führte + zwei unabhängige Patches auf Ihrer Arbeitskopie aus, um die + Änderungsmenge 413 zu überspringen, die Ihr Zweig bereits + beinhaltete. An und für sich ist daran nichts falsch, bis + auf die Tatsache, dass die Möglichkeit besteht, eine + Konfliktauflösung komplizierter zu machen. Falls das erste + Änderungsintervall Konflikte erzeugt, + müssen Sie diese interaktiv auflösen, + um den Merge fortzusetzen und das zweite Änderungsintervall + anzuwenden. Wenn Sie die Konfliktauflösung der ersten Phase + aufschieben, wird der komplette Merge-Befehl mit einer + Fehlermeldung abbrechen und Sie müssen den Konflikt + auflösen, bevor Sie den Merge erneut anwenden, um den Rest + der Änderungen zu bekommen. + - - Ein Wort zur Warnung: Während svn diff - und svn merge vom Konzept her sehr ähnlich - sind, haben sie in vielen Fällen eine unterschiedliche Syntax. - Gehen Sie sicher, dass Sie Details hierzu in nachlesen oder svn help - fragen. Zum Beispiel benötigt svn merge - einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an - dem es den erzeugten Patch anwenden kann. Falls das Ziel - nicht angegeben wird, nimmt es an, dass Sie eine der folgenden - häufigen Operationen durchführen möchten: + + Ein Wort zur Warnung: Während svn diff + und svn merge vom Konzept her sehr ähnlich + sind, haben sie in vielen Fällen eine unterschiedliche Syntax. + Gehen Sie sicher, dass Sie Details hierzu in nachlesen oder svn help + fragen. Zum Beispiel benötigt svn merge + einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an + dem es den erzeugten Patch anwenden kann. Falls das Ziel + nicht angegeben wird, nimmt es an, dass Sie eine der folgenden + häufigen Operationen durchführen möchten: - - - - Sie möchten Verzeichnisänderungen auf Ihr aktuelles - Arbeitsverzeichnis abgleichen. - - - - Sie möchten die Änderungen in einer bestimmten Datei - mit einer Datei gleichen Namens in Ihrem aktuellen - Arbeitsverzeichnis zusammenführen. - - + + + + Sie möchten Verzeichnisänderungen auf Ihr aktuelles + Arbeitsverzeichnis abgleichen. + + + + Sie möchten die Änderungen in einer bestimmten Datei + mit einer Datei gleichen Namens in Ihrem aktuellen + Arbeitsverzeichnis zusammenführen. + + - - Falls Sie ein Verzeichnis zusammenführen und keinen - Zielpfad angegeben haben, nimmt svn merge - den ersten Fall an und versucht, die Änderungen auf Ihr - aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei - zusammenführen und diese Datei (oder eine gleichnamige Datei) - in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt - svn merge den zweiten Fall an und wendet - die Änderungen auf eine lokale Datei gleichen Namens - an. + + Falls Sie ein Verzeichnis zusammenführen und keinen + Zielpfad angegeben haben, nimmt svn merge + den ersten Fall an und versucht, die Änderungen auf Ihr + aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei + zusammenführen und diese Datei (oder eine gleichnamige Datei) + in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt + svn merge den zweiten Fall an und wendet + die Änderungen auf eine lokale Datei gleichen Namens + an. - + - - - - Merge-Syntax: Die vollständige Enthüllung + + + + Merge-Syntax: Die vollständige Enthüllung - - Sie haben nun einige Beispiele zum Befehl svn - merge gesehen und werden bald einige mehr sehen. - Falls Sie verwirrt darüber sind, wie das Zusammenführen genau - funktioniert, sind Sie nicht alleine. Viele Anwender - (besonders diejenigen, für die Versionskontrolle etwas Neues - ist) sind anfangs verwirrt darüber, wie die korrekte Syntax - des Befehls lautet und wann das Feature verwendet werden soll. - Aber, keine Angst, dieser Befehl ist tatsächlich viel - einfacher als Sie denken! Es gibt eine einfache Technik, die - verstehen hilft, wie sich svn merge genau - verhält. + + Sie haben nun einige Beispiele zum Befehl svn + merge gesehen und werden bald einige mehr sehen. + Falls Sie verwirrt darüber sind, wie das Zusammenführen genau + funktioniert, sind Sie nicht alleine. Viele Anwender + (besonders diejenigen, für die Versionskontrolle etwas Neues + ist) sind anfangs verwirrt darüber, wie die korrekte Syntax + des Befehls lautet und wann das Feature verwendet werden soll. + Aber, keine Angst, dieser Befehl ist tatsächlich viel + einfacher als Sie denken! Es gibt eine einfache Technik, die + verstehen hilft, wie sich svn merge genau + verhält. - - Die Hauptquelle der Verwirrung ist der - Name des Befehls. Der Begriff - merge (Zusammenführung, Mischung) deutet - irgendwie an, dass Zweige miteinander verschmolzen werden, - oder dass irgendeine geheimnisvolle Mischung der Daten - erfolgt. Das ist nicht der Fall. Ein besserer Name für den - Befehl wäre vielleicht svn - ermittele-die-Unterschiede-und-wende-sie-an - gewesen, da das alles ist, was passiert: Die Bäume im - Projektarchiv werden verglichen und die Unterschiede in eine - Arbeitskopie eingearbeitet. + + Die Hauptquelle der Verwirrung ist der + Name des Befehls. Der Begriff + merge (Zusammenführung, Mischung) deutet + irgendwie an, dass Zweige miteinander verschmolzen werden, + oder dass irgendeine geheimnisvolle Mischung der Daten + erfolgt. Das ist nicht der Fall. Ein besserer Name für den + Befehl wäre vielleicht svn + ermittele-die-Unterschiede-und-wende-sie-an + gewesen, da das alles ist, was passiert: Die Bäume im + Projektarchiv werden verglichen und die Unterschiede in eine + Arbeitskopie eingearbeitet. - - Falls Sie svn merge benutzen, um - einfache Kopien von Änderungen zwischen Zweigen vorzunehmen, - wird ein automatische Merge üblicherweise das Richtige machen. - Beispielsweise wird ein Befehl wie der folgende: + + Falls Sie svn merge benutzen, um + einfache Kopien von Änderungen zwischen Zweigen vorzunehmen, + wird ein automatische Merge üblicherweise das Richtige machen. + Beispielsweise wird ein Befehl wie der folgende: - - -$ svn merge ^/calc/branches/some-branch - - + + + $ svn merge ^/calc/branches/some-branch + + - - versuchen, alle Änderungen, die auf - some-branch gemacht worden sind, in Ihr - aktuelles Arbeitsverzeichnis zu kopieren, welches vermutlich - eine Arbeitskopie ist, die mit dem Zweig irgendeine - historische Verbindung teilt. Der Befehl ist klug genug, nur - die Änderungen zu kopieren, die Ihre Arbeitskopie noch nicht - hat. Wenn Sie diesen Befehl einmal die Woche wiederholen, wird - er nur die neuesten Änderungen vom Zweig - kopieren, die seit Ihrem letzten Zusammenführen - stattfanden. + Allgemeines Vorgehen für die Verwaltung von Lieferanten-Zweigen + + Die Fortführung von Anpassungen an einer Bibliothek von + Drittanbietern erfordert drei Datenquellen: die Version der + Bibliothek des Drittanbieters, auf die die Anpassungen zuletzt + aufgesetzt haben, die angepasste Version (d.h., der + eigentliche Lieferanten-Zweig) der Bibliothek, die von Ihrem + Projekt verwendet wird und irgendeine neue Version der + Bibliothek, auf die Sie zu aktualisieren hoffen. Die + Verwaltung des Lieferanten-Zweigs (der nach unserer Definition + innerhalb Ihres Quelltext-Projektarchivs leben sollte) besteht + dann im Wesentlichen aus Merge-Operationen (im allgemeinen + Sinn). Doch verfolgen unterschiedliche Teams auch + unterschiedliche Ansätze gegenüber den anderen Datenquellen + – den unveränderten Versionen des Quelltextes der + Drittanbieter-Bibliothek. Aus diesem Grund gibt es + wahrscheinlich verschiedene besondere Wege, die benötigten + Merges auszuführen. + + + Strenggenommen können diese Merges im allgemeinen SInn auf + verschiedene Weisen durchgeführt werden. Aus Gründen der + Einfachheit und mit dem Ziel, wenigstens + etwas Konkretes in diesem Abschnitt des + Buches zu liefern, gehen wir davon aus, dass es lediglich + einen einzigen Lieferanten-Zweig gibt, der ständig Upgrades + auf die neueste herausgegebene Version der Drittanbieter-Bibliothek + erhält, indem er Aktualisierungen bekommt, die die + Unterschiede zwischen der gegenwärtigen und der neuen + unveränderten Version der Bibliothek beschreiben. + + + + Ein weiterer Ansatz ist es, neue Lieferanten-Zweige für + jede nachfolgende unveränderte Version der Bibliothek + anzulegen und die Unterschiede zwischen der aktuellen + unveränderten und ihrer angepassten Version (vom aktuellen + Lieferanten-Zweig) auf den neuen Zweig anzuwenden. An diesem + Ansatz gibt es nichts audzusetzen, jedoch sind wir der + Meinung, dass wir nicht jede berechtihte Möglichkeit an + dieser Stelle dokumentieren müssen. + + + + Die folgenden Abschnitte untersuchen, wie + Lieferanten-Zweige in ein paar unterschiedlichen Szenarios + erzeugt und verwaltet werden. In den folgenden Beispielen + nehmen wir an, dass die Bibliothek des Drittanbieters + libcomplex heißt, und wir einen Lieferanten-Zweig basierend + auf libcomplex 1.0.0 anlegen, der in unserem Projektarchiv + unter ^/vendor/libcomplex-custom liegt. + Wir werden uns dann ansehen, wie wir einen Upgrade auf + libcomplex 1.0.1 machen können und gleichzeitig unsere + Anpassungen an die Bibliothek bewahren können. + + + + + Vendor Branches from Foreign Repositories + + + Managing vendor branches generally works like this: first, you create a top-level directory (such as @@ -8614,9 +8718,9 @@ Lesen der Konfigurationsdatei, darum sollten Sie darüber hinaus keine weiteren Zeichen maskieren. + ]]>A - From svnbook at googlecode.com Wed Feb 11 07:09:33 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 11 Feb 2015 13:09:33 +0000 Subject: [svnbook] r4981 committed - [de] Translation: Branching and Merging... Message-ID: <089e01537216eaa9aa050ecfb6fc@google.com> Revision: 4981 Author: jmfelderhoff at gmx.eu Date: Wed Feb 11 13:09:17 2015 UTC Log: [de] Translation: Branching and Merging Sections: * Vendor Branches ** Vendor Branches from Foreign Repositories https://code.google.com/p/svnbook/source/detail?r=4981 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 11 06:46:40 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 11 13:09:17 2015 UTC @@ -1748,11 +1748,11 @@ Committed revision 352. --> $ svn commit -m "Die letzten Änderungen von trunk mit my-calc-branch synchronisiert." -Sende . -Sende Makefile -Sende doc/INSTALL -Sende src/button.c -Sende src/real.c +Sende . +Sende Makefile +Sende doc/INSTALL +Sende src/button.c +Sende src/real.c Übertrage Daten .. Revision 352 übertragen. @@ -2416,10 +2416,10 @@ Committed revision 380. --> $ svn commit -m "my-calc-branch mit Stamm zusammenführen!" -Sende . -Sende Makefile -Sende src/main.c -Sende src/real.c +Sende . +Sende Makefile +Sende src/main.c +Sende src/real.c Übertrage Daten .. Revision 380 übertragen. @@ -3364,11 +3364,11 @@ Committed revision 399. --> $ svn commit -m "Fehlerhafte Änderung aus r392 rückgängig machen." -Sending src/button.c -Sending src/integer.c -Sending src/main.c -Sending src/real.c -Sende integer.c +Sende src/button.c +Sende src/integer.c +Sende src/main.c +Sende src/real.c +Sende integer.c Übertrage Daten .... Revision 399 übertragen. @@ -3791,2294 +3791,2294 @@ - + - + - - - - - - Fortgeschrittenes Zusammenführen + + + + + + Fortgeschrittenes Zusammenführen - - Hier endet die automatische Magie. Früher oder später, - sobald Sie den Dreh beim Verzweigen und Zusammenführen heraus - haben, werden Sie Subversion fragen müssen, - bestimmte Änderungen von einem Ort zum - anderen zusammenzuführen. Um dies tun zu können, werden Sie - damit beginnen müssen, kompliziertere Argumente an svn - merge zu übergeben. Der nächste Abschnitt beschreibt - die vollständig erweiterte Syntax des Befehls und behandelt eine - Anzahl verbreiteter Szenarien, die diese benötigen. + + Hier endet die automatische Magie. Früher oder später, + sobald Sie den Dreh beim Verzweigen und Zusammenführen heraus + haben, werden Sie Subversion fragen müssen, + bestimmte Änderungen von einem Ort zum + anderen zusammenzuführen. Um dies tun zu können, werden Sie + damit beginnen müssen, kompliziertere Argumente an svn + merge zu übergeben. Der nächste Abschnitt beschreibt + die vollständig erweiterte Syntax des Befehls und behandelt eine + Anzahl verbreiteter Szenarien, die diese benötigen. - - - - Die Rosinen herauspicken + + + + Die Rosinen herauspicken - - - - Merging - Rosinenpicken - Genauso oft wie der Begriff Änderungsmenge - wird die Wendung die Rosinen - herauspicken in Versions-Kontroll-Systemen - verwendet. Das bezieht sich darauf, eine - bestimmte Änderungsmenge von einem Zweig auszuwählen und sie - auf einen anderen anzuwenden. Die Rosinen herauszupicken kann - sich auch darauf beziehen, eine bestimmte Menge von (nicht - notwendigerweise angrenzenden) Änderungsmengen von einem auf - einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu - den üblicheren Merge-Szenarien, bei denen der - nächste zusammenhängende Bereich von Revisionen - automatisch dupliziert wird. + + + + Merging + Rosinenpicken + Genauso oft wie der Begriff Änderungsmenge + wird die Wendung die Rosinen + herauspicken in Versions-Kontroll-Systemen + verwendet. Das bezieht sich darauf, eine + bestimmte Änderungsmenge von einem Zweig auszuwählen und sie + auf einen anderen anzuwenden. Die Rosinen herauszupicken kann + sich auch darauf beziehen, eine bestimmte Menge von (nicht + notwendigerweise angrenzenden) Änderungsmengen von einem auf + einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu + den üblicheren Merge-Szenarien, bei denen der + nächste zusammenhängende Bereich von Revisionen + automatisch dupliziert wird. - - Warum sollte jemand nur eine einzelne Änderung wollen? Das - kommt häufiger vor, als Sie denken. Gehen wir beispielsweise - einmal davon aus, dass Sie einen neuen Arbeitszweig - /calc/branches/my-calc-feature-branch durch - kopieren von /calc/trunk erstellt - haben: + + Warum sollte jemand nur eine einzelne Änderung wollen? Das + kommt häufiger vor, als Sie denken. Gehen wir beispielsweise + einmal davon aus, dass Sie einen neuen Arbeitszweig + /calc/branches/my-calc-feature-branch durch + kopieren von /calc/trunk erstellt + haben: - - - $ svn log ^/calc/branches/new-calc-feature-branch -v -r403 - ------------------------------------------------------------------------ - r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile - Geänderte Pfade: - A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) - - Einen neuen Zweig calc für Arbeit an 'X' erzeugt. - ------------------------------------------------------------------------ - - + + +$ svn log ^/calc/branches/new-calc-feature-branch -v -r403 +------------------------------------------------------------------------ +r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile +Geänderte Pfade: + A /calc/branches/new-calc-feature-branch (from /calc/trunk:402) + +Einen neuen Zweig calc für Arbeit an 'X' erzeugt. +------------------------------------------------------------------------ + + - - In der Kaffeeküche bekommen Sie mit, dass Sally eine - interessante Änderung an main.c auf dem - Stamm gemacht hat. Als Sie sich die Geschichte der Übergaben - auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 - einen kritischen Fehler beseitigt hat, der direkte - Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. - Es kann sein, dass Sie noch nicht bereit sind, alle Änderungen - vom Stamm zu übernehmen, jedoch benötigen Sie diese bestimmte - Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu - können. + + In der Kaffeeküche bekommen Sie mit, dass Sally eine + interessante Änderung an main.c auf dem + Stamm gemacht hat. Als Sie sich die Geschichte der Übergaben + auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 + einen kritischen Fehler beseitigt hat, der direkte + Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. + Es kann sein, dass Sie noch nicht bereit sind, alle Änderungen + vom Stamm zu übernehmen, jedoch benötigen Sie diese bestimmte + Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu + können. - - Ebenso wie Sie svn diff im vorigen - Beispiel benutzt haben, um sich Revision 355 anzusehen, können - Sie die gleiche Option an svn merge - übergeben: + + Ebenso wie Sie svn diff im vorigen + Beispiel benutzt haben, um sich Revision 355 anzusehen, können + Sie die gleiche Option an svn merge + übergeben: - - - $ svn log ^/calc/trunk -r413 -v - ------------------------------------------------------------------------ - r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen - Geänderte Pfade: - M /calc/trunk/src/main.c - - Fehler #22 'Übergabe eines Null-Wertes im Argument foo von bar() - sollte erlaubt sein, aber ruft Schutzverletzung hervor'. - ------------------------------------------------------------------------ + + +$ svn log ^/calc/trunk -r413 -v +------------------------------------------------------------------------ +r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen +Geänderte Pfade: + M /calc/trunk/src/main.c + +Fehler #22 'Übergabe eines Null-Wertes im Argument foo von bar() +sollte erlaubt sein, aber ruft Schutzverletzung hervor'. +------------------------------------------------------------------------ - $ svn diff ^/calc/trunk -c413 - Index: src/main.c - =================================================================== - --- src/main.c (revision 412) - +++ src/main.c (revision 413) - @@ -34,6 +34,7 @@ - … -# Details zur Fehlerbehebung - … - - +$ svn diff ^/calc/trunk -c413 +Index: src/main.c +=================================================================== +--- src/main.c (revision 412) ++++ src/main.c (revision 413) +@@ -34,6 +34,7 @@ +… +Details zur Fehlerbehebung +… + + - - So wie Sie svn diff im vorangegangenen - Beispiel verwendet haben, um Revision 413 zu untersuchen, - können Sie die gleiche Option an svn merge - übergeben: + + So wie Sie svn diff im vorangegangenen + Beispiel verwendet haben, um Revision 413 zu untersuchen, + können Sie die gleiche Option an svn merge + übergeben: - - - $ cd new-calc-feature-branch + + +$ cd new-calc-feature-branch - $ svn merge ^/calc/trunk -c413 - --- Zusammenführen von r413 in ».«: - U src/main.c - -- Aufzeichnung der Informationen für Zusammenführung von r413 in ».«: - U . +$ svn merge ^/calc/trunk -c413 +--- Zusammenführen von r413 in ».«: +U src/main.c +-- Aufzeichnung der Informationen für Zusammenführung von r413 in ».«: + U . - $ svn st - M . - M src/main.c - - +$ svn st + M . +M src/main.c + + - - Sie können nun Ihre üblichen Tests durchführen, bevor Sie - diese Änderung an den Zweig übergeben. Nach der Übergabe - bringt Subversion das svn:mergeinfo ihres - Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit - dem Zweig zusammengeführt wurde. Das verhindert, dass künftige - automatische Synchronisierungs-Merges versuchen, r413 erneut - zusammenzuführen. (Das Mergen derselben Änderung auf denselben - Zweig führt fast immer zu einem Konflikt!) Beachten Sie auch - das Mergeinfo - /calc/branches/my-calc-branch:341-379, Das wurde bei - unserem in r380 gemachten Reintegrations-Merge nach - /calc/trunk vom Zweig - /calc/branches/my-calc-branch aufgezeichnet. Als - wir den Zweig my-calc-branch in r403 - erstellt haben, wurde diese Mergeinfo mit der Kopie - mitgenommen. + + Sie können nun Ihre üblichen Tests durchführen, bevor Sie + diese Änderung an den Zweig übergeben. Nach der Übergabe + bringt Subversion das svn:mergeinfo ihres + Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit + dem Zweig zusammengeführt wurde. Das verhindert, dass künftige + automatische Synchronisierungs-Merges versuchen, r413 erneut + zusammenzuführen. (Das Mergen derselben Änderung auf denselben + Zweig führt fast immer zu einem Konflikt!) Beachten Sie auch + das Mergeinfo + /calc/branches/my-calc-branch:341-379, Das wurde bei + unserem in r380 gemachten Reintegrations-Merge nach + /calc/trunk vom Zweig + /calc/branches/my-calc-branch aufgezeichnet. Als + wir den Zweig my-calc-branch in r403 + erstellt haben, wurde diese Mergeinfo mit der Kopie + mitgenommen. - - - $ svn pg svn:mergeinfo -v - Eigenschaften von ».«: - svn:mergeinfo - /calc/branches/my-calc-branch:341-379 - /calc/trunk:413 - - + + +$ svn pg svn:mergeinfo -v +Eigenschaften von ».«: + svn:mergeinfo + /calc/branches/my-calc-branch:341-379 + /calc/trunk:413 + + - - Beachten Sie auch, dass mergeinfo r413 - nicht als Kandidaten für einen Merge anzeigt, da sie bereits - zusammengeführt wurde: + + Beachten Sie auch, dass mergeinfo r413 + nicht als Kandidaten für einen Merge anzeigt, da sie bereits + zusammengeführt wurde: - - - $ svn mergeinfo ^/calc/trunk --show-revs eligible - r404 - r405 - r406 - r407 - r409 - r410 - r411 - r412 - r414 - r415 - r416 - … - r455 - r456 - r457 - - + + +$ svn mergeinfo ^/calc/trunk --show-revs eligible +r404 +r405 +r406 +r407 +r409 +r410 +r411 +r412 +r414 +r415 +r416 +… +r455 +r456 +r457 + + - - Das oben stehende bedeutet, wenn schließlich die Zeit für - einen automatischen Synchronisierungs-Merge gekommen ist, dass - Subversion den Merge in zwei Teile aufspaltet. Zunächst werden - alle in Frage kommenden Merges bis Revision 412 ausgeführt. - Dann werden alle in Frage kommenden Revisionen von Revision - 412 bis zur Revision HEAD ausgeführt. Da - wir uns bereits r413 herausgepickt haben, wird diese Änderung - übersprungen change is skipped: + + Das oben stehende bedeutet, wenn schließlich die Zeit für + einen automatischen Synchronisierungs-Merge gekommen ist, dass + Subversion den Merge in zwei Teile aufspaltet. Zunächst werden + alle in Frage kommenden Merges bis Revision 412 ausgeführt. + Dann werden alle in Frage kommenden Revisionen von Revision + 412 bis zur Revision HEAD ausgeführt. Da + wir uns bereits r413 herausgepickt haben, wird diese Änderung + übersprungen change is skipped: - - - $ svn merge ^/calc/trunk - --- Zusammenführen von r403 bis r412 in ».«: - U doc/INSTALL - U src/main.c - U src/button.c - U src/integer.c - U Makefile - U README - --- Zusammenführen von r414 bis r458 in ».«: - G doc/INSTALL - G src/main.c - G src/integer.c - G Makefile - -- Aufzeichnung der Informationen für Zusammenführung von r403 bis r458 in ».«:\n" - U . - - + + +$ svn merge ^/calc/trunk +--- Zusammenführen von r403 bis r412 in ».«: +U doc/INSTALL +U src/main.c +U src/button.c +U src/integer.c +U Makefile +U README +--- Zusammenführen von r414 bis r458 in ».«: +G doc/INSTALL +G src/main.c +G src/integer.c +G Makefile +-- Aufzeichnung der Informationen für Zusammenführung von r403 bis r458 in ».«:\n" + U . + + - - - - Merging - nachziehen - Dieser Anwendungsfall des Abgleichens (oder - Nachziehens) von Fehlerbehebungen von - einem Zweig zu einem anderen ist vielleicht der gängigste Grund - für Änderungen, die Rosinen herauszupicken; es kommt ständig - vor, beispielsweise, wenn ein Team einen - Software-Release-Zweig verwendet. (Wir - erörtern dieses Muster in .) + + + + Merging + nachziehen + Dieser Anwendungsfall des Abgleichens (oder + Nachziehens) von Fehlerbehebungen von + einem Zweig zu einem anderen ist vielleicht der gängigste Grund + für Änderungen, die Rosinen herauszupicken; es kommt ständig + vor, beispielsweise, wenn ein Team einen + Software-Release-Zweig verwendet. (Wir + erörtern dieses Muster in .) - - - Haben Sie bemerkt, wie im letzten Beispiel der Aufruf - von svn merge zwei unterschiedliche - Abgleichsintervalle zusammengeführt hat? Der Befehl führte - zwei unabhängige Patches auf Ihrer Arbeitskopie aus, um die - Änderungsmenge 413 zu überspringen, die Ihr Zweig bereits - beinhaltete. An und für sich ist daran nichts falsch, bis - auf die Tatsache, dass die Möglichkeit besteht, eine - Konfliktauflösung komplizierter zu machen. Falls das erste - Änderungsintervall Konflikte erzeugt, - müssen Sie diese interaktiv auflösen, - um den Merge fortzusetzen und das zweite Änderungsintervall - anzuwenden. Wenn Sie die Konfliktauflösung der ersten Phase - aufschieben, wird der komplette Merge-Befehl mit einer - Fehlermeldung abbrechen und Sie müssen den Konflikt - auflösen, bevor Sie den Merge erneut anwenden, um den Rest - der Änderungen zu bekommen. - + + + Haben Sie bemerkt, wie im letzten Beispiel der Aufruf + von svn merge zwei unterschiedliche + Abgleichsintervalle zusammengeführt hat? Der Befehl führte + zwei unabhängige Patches auf Ihrer Arbeitskopie aus, um die + Änderungsmenge 413 zu überspringen, die Ihr Zweig bereits + beinhaltete. An und für sich ist daran nichts falsch, bis + auf die Tatsache, dass die Möglichkeit besteht, eine + Konfliktauflösung komplizierter zu machen. Falls das erste + Änderungsintervall Konflikte erzeugt, + müssen Sie diese interaktiv auflösen, + um den Merge fortzusetzen und das zweite Änderungsintervall + anzuwenden. Wenn Sie die Konfliktauflösung der ersten Phase + aufschieben, wird der komplette Merge-Befehl mit einer + Fehlermeldung abbrechen und Sie müssen den Konflikt + auflösen, bevor Sie den Merge erneut anwenden, um den Rest + der Änderungen zu bekommen. + - - Ein Wort zur Warnung: Während svn diff - und svn merge vom Konzept her sehr ähnlich - sind, haben sie in vielen Fällen eine unterschiedliche Syntax. - Gehen Sie sicher, dass Sie Details hierzu in nachlesen oder svn help - fragen. Zum Beispiel benötigt svn merge - einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an - dem es den erzeugten Patch anwenden kann. Falls das Ziel - nicht angegeben wird, nimmt es an, dass Sie eine der folgenden - häufigen Operationen durchführen möchten: + + Ein Wort zur Warnung: Während svn diff + und svn merge vom Konzept her sehr ähnlich + sind, haben sie in vielen Fällen eine unterschiedliche Syntax. + Gehen Sie sicher, dass Sie Details hierzu in nachlesen oder svn help + fragen. Zum Beispiel benötigt svn merge + einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an + dem es den erzeugten Patch anwenden kann. Falls das Ziel + nicht angegeben wird, nimmt es an, dass Sie eine der folgenden + häufigen Operationen durchführen möchten: - - - - Sie möchten Verzeichnisänderungen auf Ihr aktuelles - Arbeitsverzeichnis abgleichen. - - - - Sie möchten die Änderungen in einer bestimmten Datei - mit einer Datei gleichen Namens in Ihrem aktuellen - Arbeitsverzeichnis zusammenführen. - - + + + + Sie möchten Verzeichnisänderungen auf Ihr aktuelles + Arbeitsverzeichnis abgleichen. + + + + Sie möchten die Änderungen in einer bestimmten Datei + mit einer Datei gleichen Namens in Ihrem aktuellen + Arbeitsverzeichnis zusammenführen. + + - - Falls Sie ein Verzeichnis zusammenführen und keinen - Zielpfad angegeben haben, nimmt svn merge - den ersten Fall an und versucht, die Änderungen auf Ihr - aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei - zusammenführen und diese Datei (oder eine gleichnamige Datei) - in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt - svn merge den zweiten Fall an und wendet - die Änderungen auf eine lokale Datei gleichen Namens - an. + + Falls Sie ein Verzeichnis zusammenführen und keinen + Zielpfad angegeben haben, nimmt svn merge + den ersten Fall an und versucht, die Änderungen auf Ihr + aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei + zusammenführen und diese Datei (oder eine gleichnamige Datei) + in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt + svn merge den zweiten Fall an und wendet + die Änderungen auf eine lokale Datei gleichen Namens + an. - + - - - - Merge-Syntax: Die vollständige Enthüllung + + + + Merge-Syntax: Die vollständige Enthüllung - - Sie haben nun einige Beispiele zum Befehl svn - merge gesehen und werden bald einige mehr sehen. - Falls Sie verwirrt darüber sind, wie das Zusammenführen genau - funktioniert, sind Sie nicht alleine. Viele Anwender - (besonders diejenigen, für die Versionskontrolle etwas Neues - ist) sind anfangs verwirrt darüber, wie die korrekte Syntax - des Befehls lautet und wann das Feature verwendet werden soll. - Aber, keine Angst, dieser Befehl ist tatsächlich viel - einfacher als Sie denken! Es gibt eine einfache Technik, die - verstehen hilft, wie sich svn merge genau - verhält. + + Sie haben nun einige Beispiele zum Befehl svn + merge gesehen und werden bald einige mehr sehen. + Falls Sie verwirrt darüber sind, wie das Zusammenführen genau + funktioniert, sind Sie nicht alleine. Viele Anwender + (besonders diejenigen, für die Versionskontrolle etwas Neues + ist) sind anfangs verwirrt darüber, wie die korrekte Syntax + des Befehls lautet und wann das Feature verwendet werden soll. + Aber, keine Angst, dieser Befehl ist tatsächlich viel + einfacher als Sie denken! Es gibt eine einfache Technik, die + verstehen hilft, wie sich svn merge genau + verhält. - - Die Hauptquelle der Verwirrung ist der - Name des Befehls. Der Begriff - merge (Zusammenführung, Mischung) deutet - irgendwie an, dass Zweige miteinander verschmolzen werden, - oder dass irgendeine geheimnisvolle Mischung der Daten - erfolgt. Das ist nicht der Fall. Ein besserer Name für den - Befehl wäre vielleicht svn - ermittele-die-Unterschiede-und-wende-sie-an - gewesen, da das alles ist, was passiert: Die Bäume im - Projektarchiv werden verglichen und die Unterschiede in eine - Arbeitskopie eingearbeitet. + + Die Hauptquelle der Verwirrung ist der + Name des Befehls. Der Begriff + merge (Zusammenführung, Mischung) deutet + irgendwie an, dass Zweige miteinander verschmolzen werden, + oder dass irgendeine geheimnisvolle Mischung der Daten + erfolgt. Das ist nicht der Fall. Ein besserer Name für den + Befehl wäre vielleicht svn ***The diff for this file has been truncated for email.*** From svnbook at googlecode.com Wed Feb 11 23:56:53 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 12 Feb 2015 05:56:53 +0000 Subject: Issue 227 in svnbook: i am magno omen Message-ID: <0-7155889305988986295-8132385028994744263-svnbook=googlecode.com@googlecode.com> Status: New Owner: ---- Labels: Type-Defect Priority-Medium New issue 227 by alexserr... at gmail.com: i am magno omen https://code.google.com/p/svnbook/issues/detail?id=227 Plect to change over time. If you need to, quote the book paragraph(s) that are incorrect, and recommend corrections. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Thu Feb 12 00:45:16 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 12 Feb 2015 06:45:16 +0000 Subject: [svnbook] r4982 committed - [de] Translation: Branching and Merging... Message-ID: <047d7bdc0dfc709d1f050ede7640@google.com> Revision: 4982 Author: jmfelderhoff at gmx.eu Date: Thu Feb 12 06:45:07 2015 UTC Log: [de] Translation: Branching and Merging ** Vendor Branches from Mirrored Sources (part 1) https://code.google.com/p/svnbook/source/detail?r=4982 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 11 13:09:17 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 12 06:45:07 2015 UTC @@ -8508,8 +8508,12 @@ + + Lieferanten-Zweige aus gespiegelten Quellen + + Im vorhergehenden Abschnitt + () haben + wir uns angesehen, wie ein Lieferanten-Zweig angelegt und + verwaltet wird, wenn die Zulieferungen über Subversion zu + erreichen sind, was der Idealfall bei Lieferanten-Zweigen ist. + Subversion kann sehr gut mit Merges von Dingen umgehen, die + von Subversion verwaltet wurden. Unglücklicherweise trifft es + nicht immer zu, dass Bibliotheken von Drittanbietern + öffentlich über Subversion zugreifbar sind. Oftmals hängt ein + Projekt von einer Bibliothek ab, die über Wege außerhalb von + Subversion ausgeliefert wird, wie etwa Quelltext-Tarballs. + Unter derartigen Umständen empfehlen wir dringend, alles zu + tun, um diese Informationen außerhalb von Subversion möglichst + sauber in Subversion einzupflegen. Lassen Sie uns nun einen + Ansatz für Lieferanten-Zweige untersuchen, bei dem die + verschiedenen freigegebenen Versionen der + Drittanbieter-Bibliothek innerhalb unseres eigenen + Projektarchivs gespiegelt werden. + + Das erstmalige Aufsetzen des Lieferanten-Zweiges ist + wirklich recht einfach. Für unser Beispiel nehmen wir an, dass + libcomplex 1.0.0 über den verbreiteten Tarball-Mechanismus + verteilt wird. Um unseren Lieferanten-Zweig zu erstellen, + holen wir zunächst den Inhalt des libcomplex 1.0.0 Tarballs + als nur-lesbaren (durch Konvention) Lieferanten-Tag in + unser Projektarchiv. @@ -8546,7 +8578,7 @@ libcomplex-1.0.0/tests/TODO $ svn import libcomplex-1.0.0 \ http://svn.example.com/projects/vendor/libcomplex-1.0.0 \ - --no-ignore --no-auto-props \ + --no-ignore --no-auto-props \ + -m "libcomplex 1.0.0 Quellen importieren." +Füge hinzu libcomplex-custom +Füge hinzu libcomplex-custom/README +Füge hinzu libcomplex-custom/LICENSE +… +Füge hinzu libcomplex-custom/src +Füge hinzu libcomplex-custom/src/code.h +Füge hinzu libcomplex-custom/src/code.c +Übertrage Daten ....................................... +Revision 1160 übertragen. $ + Note that in our example, we used the option during import so that Subversion is sure to pick up every file in the vendor drop From svnbook at googlecode.com Thu Feb 12 06:53:59 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 12 Feb 2015 12:53:59 +0000 Subject: Issue 227 in svnbook: i am magno omen In-Reply-To: <0-7155889305988986295-8132385028994744263-svnbook=googlecode.com@googlecode.com> References: <0-7155889305988986295-8132385028994744263-svnbook=googlecode.com@googlecode.com> Message-ID: <1-7155889305988986295-8132385028994744263-svnbook=googlecode.com@googlecode.com> Updates: Status: Invalid Comment #1 on issue 227 by cmpilato: i am magno omen https://code.google.com/p/svnbook/issues/detail?id=227 (No comment was entered for this change.) -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Thu Feb 12 11:23:22 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 12 Feb 2015 17:23:22 +0000 Subject: [svnbook] r4983 committed - [de] Translation: Branching and Merging... Message-ID: <047d7b3a98307b93f4050ee76018@google.com> Revision: 4983 Author: jmfelderhoff at gmx.eu Date: Thu Feb 12 17:23:13 2015 UTC Log: [de] Translation: Branching and Merging Sections: * Vendor Branches ** Vendor Branches from Mirrored Sources (part 2) https://code.google.com/p/svnbook/source/detail?r=4983 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 12 06:45:07 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 12 17:23:13 2015 UTC @@ -8614,45 +8614,56 @@ the auto-props feature do its thing, but the key to making that work well is ensuring that each vendor drop gets identical auto-prop treatment.. - - Now that the first vendor release drop is present in our - repository, we can create our vendor branch from it just as we - would create any other branch—using svn - copy. --> - Note that in our example, we used - the option during import so that - Subversion is sure to pick up every file in the vendor drop - and not to omit any of them. We also supply - the option so that our client - doesn't manufacture property information which isn't present - in the vendor drop.Technically, we could let - the auto-props feature do its thing, but the key to making - that work well is ensuring that each vendor drop gets - identical auto-prop treatment.. - + Beachten Sie, dass wir in unserem Beispiel während des + Imports die Option verwendeten, + damit Subversion zuverlässig jede Datei der Zulieferung + aufnimmt und keine ausläßt. Wir geben auch die Option + an, damit unser Client keine + nicht in der Zulieferung enthaltene Eigenschafts-Informationen + erzeugt.Technisch gesehen, könnten wir die + Funktionalität der auto-props gewähren lassen, jedoch ist der + Schlüssel des guten Gelingens, dass jede Zulieferung bezüglich + auto-prop gleich behandelt wird.. + + + Nun, da sich die erste Zulieferung des Drittanbieters in + unserem Projektarchiv befindet, können wir daraus unseren + Lieferanten-Zweig anlegen, genauso, wie jeden anderen Zweig + – mit svn copy. $ svn copy http://svn.example.com/projects/vendor/libcomplex-1.0.0 \ http://svn.example.com/projects/vendor/libcomplex-custom \ - -m "Initialize libcomplex vendor branch from libcomplex 1.0.0." -Committed revision 1161. + -m "Initialize libcomplex vendor branch from libcomplex 1.0.0." +Revision 1161 übertragen. $ + + Okay. An dieser Stelle haben wir einen Lieferanten-Zweig + basierend auf libcomplex 1.0.0. Wir sind bereit, die für + unsere Zwecke notwendigen Anpassungen an libcomplex + vorzunehmen – indem wir sie direkt in den + Lieferanten-Zweig übergeben – und unsere angepasste + libcomplex in eigenen Applikationen zu verwenden. + + Nach einer Weile wird libcomplex 1.0.1 freigegeben. + Nachdem wir uns die Änderungen angesehen haben, entscheiden + wir uns, unseren Lieferanten-Zweig auf den Stand der neuen + Version zu bringen. Um diese Aktualisierung auf unserem Zweig + vornehmen zu können, müssen wir im Prinzip dieselben + Änderungsmengen auf unseren Lieferanten-Zweig anwenden, die + der Lieferant zwischen 1.0.0 und 1.0.1 erstellt hat, ohne + dabei unsere Anpassungen zu überschreiben. Die sicherte Weise, + auf der das geschehen kann, ist es, zunächst libcomplex 1.0.1 + in unser Projektarchiv zu holen als Delta zum + Quelltext von 1.0.0 in unserem Projektarchiv. + Anschließend verwenden wir die 2-URL-Form des Befehls + svn merge zum Replizieren derselben + Änderungen auf den Lieferanten-Zweig. + + + Es stellt sich heraus, dass es mehrere unterschiedliche + Ansätze gibt, die wir verfolgen können, um libcomplex 1.0.1 + auf die richtige Weise in unser Projektarchiv zu bekommen. + Die nochmalige Verwendung der Operation + svn import Operation wäre ein + falscher Ansatz, da die Zweige für + libcomplex 1.0.0 und 1.0.1 keinen gemeinsamen Stammbaum + hätten. Der Ansatz, den wir hier + beschreiben, ist relativ rudimentär, jedoch ist er unserer + Beschreibung dienlich. + + Erinnern Sie sich, dass wir möchten, dass die Spiegelung + der Zulieferung von libcomplex 1.0.1 einen gemeinsamen + Stammbaum mit unserer Zulieferung von 1.0.0 hat, was später zu + dern besten Ergebnissen führen wird, wenn wir die Änderungen + zwichen diesen Zulieferungen in unseren Lieferanten-Zweig + einbringen möchten. Wir beginnen also damit, einen Zweig für + libcomplex-1.0.1 als Kopie unseres vorher erstellten + ly created libcomplex-1.0.0 Lieferanten-Tags + – eine Kopie, die schließlich eine Replik von libcomplex + 1.0.1 wird. + $ svn copy http://svn.example.com/projects/vendor/libcomplex-1.0.0 \ - http://svn.example.com/projects/vendor/libcomplex-1.0.1 \ + http://svn.example.com/projects/vendor/libcomplex-1.0.1 \ + -m "Einrichten eines Baugeländes für libcomplex 1.0.1." +Revision 1282 übertragen. $ + What we need now is to make a working copy of our libcomplex-1.0.1 branch, and then to make it actually look like libcomplex 1.0.1. To do this, we'll take advantage of @@ -8734,12 +8798,35 @@ + + As you can see, after checking out what was really + libcomplex 1.0.0 atop the libcomplex 1.0.1 exploded tarball, + we are left with a working copy that contains local + modifications—those modifications required to morph our + previous vendor release drop into our new one. + Admittedly, this is a pretty simple example. The changes required to perform this particular upgrade involved merely content changes to existing files. In reality, new versions @@ -8755,9 +8842,14 @@ vendor drop items to version control in this situation. + + However we make it happen, once our new vendor tag working + copy is reconciled with the original source distribution, we + can commit those changes to our repository. @@ -8772,12 +8864,20 @@ + + We're finally ready to upgrade our vendor branch. + Remember, our goal is to get the changes made by the vendor + between the 1.0.0 and 1.0.1 releases of their library into our + vendor branch. There is where a 2-URL svn + merge operation, applied to a working copy of our + vendor branch, comes into play. @@ -8806,6 +8906,7 @@ + + As you can see, svn merge has merged + the requisite changes into our working copy, flagging a + conflict where the vendor modified the same region of one of + the files as we did during our customizations. Subversion + detects this conflict, and gives us the opportunity to resolve + it (using the methods described in + ) so that our + customizations to what is now libcomplex 1.0.1 continue to + make sense. Once we've resolved the conflicts and performed + any testing or review we need, we can commit the changes to + our vendor branch. @@ -8834,6 +8947,11 @@ + Our vendor branch upgrade is complete. And the next time we need to upgrade that branch, we'll follow the same procedure we used to upgrade it this time. From svnbook at googlecode.com Fri Feb 13 00:45:13 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 13 Feb 2015 06:45:13 +0000 Subject: [svnbook] r4984 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c2e6cc2386bd050ef294e8@google.com> Revision: 4984 Author: jmfelderhoff at gmx.eu Date: Fri Feb 13 06:44:59 2015 UTC Log: [de] Translation: Branching and Merging ** Vendor Branches from Mirrored Sources (part 3) https://code.google.com/p/svnbook/source/detail?r=4984 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 12 17:23:13 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 13 06:44:59 2015 UTC @@ -8759,15 +8759,16 @@ checkout overlayed to remain as local modifications in the new working copy. --> - What we need now is to make a working copy of our - libcomplex-1.0.1 branch, and then to make it actually look - like libcomplex 1.0.1. To do this, we'll take advantage of - the fact that svn checkout can overlay an - existing directory and, if the option - is provided, do so in manner that allows the differences - between the checked-out tree and the target tree that the - checkout overlayed to remain as local modifications in the new - working copy. + Nun müssen wir eine Arbeitskopie unseres libcomplex-1.0.1 + Zweiges erstellen and ihn dann so herrichten, dass er + eigentlich wie like libcomplex 1.0.1 aussieht. Um das zu + erreichen, nutzen wir die Tatsache aus, das svn + checkout ein bereits bestehendes Verzeichnis + überlagern kann; wenn die Option + angegeben wird, geschieht das auf eine Art und Weise, dass die + Unterschiede zwischen dem ausgecheckten Baum und dem durch den + Checkout überlagerten Zielbaumm als lokale Änderungen in der + Arbeitskopie verbleiben. @@ -8788,8 +8789,9 @@ … E libcomplex-1.0.1/src/code.c E libcomplex-1.0.1/tests -E libcomplex-1.0.1/tests/TODO -Checked out revision 1282. +E libcomplex-1.0.1/tests/TODO +Ausgecheckt, Revision 1282. $ svn status libcomplex-1.0.1 M libcomplex-1.0.1/src/code.h M libcomplex-1.0.1/src/code.c @@ -8805,11 +8807,12 @@ modifications—those modifications required to morph our previous vendor release drop into our new one. --> - As you can see, after checking out what was really - libcomplex 1.0.0 atop the libcomplex 1.0.1 exploded tarball, - we are left with a working copy that contains local - modifications—those modifications required to morph our - previous vendor release drop into our new one. + Wie Sie sehen können, bleibt nach dem Auschecken von der + eigentlichen libcomplex 1.0.0 über den ausgepackten libcomplex + 1.0.1 eine Arbeitskopie mit lokalen Änderungen zurück – + diejenigen Änderungen, die benötigt werden, um unsere + bisherige freigegebene Zulieferung in unsere neue zu + verwandeln. - Admittedly, this is a pretty simple example. The changes - required to perform this particular upgrade involved merely - content changes to existing files. In reality, new versions - of third-party libraries might also add or remove files or - directories, might rename files or directories, and so on. In - those situations, it can be much more challenging to morph the - new vendor tag into a state where it accurately reflects the - vendor drop it claims to reflect. We'll leave the details of - such transformations as an exercise to the - reader.Here's a hint, though: svn - add --force /path/to/working-copy --no-ignore - --no-auto-props is super handy for adding any new - vendor drop items to version control in this - situation. + Das ist zugegebenermaßen ein ziemlich einfaches Beispiel. + Die für die Aktualisierung notwendigen Änderungen waren + lediglich inhaltliche Änderungen an bestehenden Dateien. In + der Realität könnten neue Versionen der Bibliotheken von + Drittanbietern auch sowohl Dateien als auch Verzeichnisse + hinzufügen oder entfernen, Dateien oder Verzeichnisse + umbenennen, usw. In solchen Situationen kann es eine viel + größere Herausforderung sein, das neue Lieferanten-Tag in + einen Zustand zu überführen, in dem es exakt die Zulieferung + wiedergibt, die es verspricht. Wir überlassen die Details + derartiger Transformationen dem Leser als Übung. + Trotzdem ein Hinweis: svn add --force + /path/to/working-copy --no-ignore --no-auto-props + ist außerordentlich praktisch, um in dieser Situation alle + neuen Objekte einer Zulieferung unter Versions-Kontrolle zu + stellen. - However we make it happen, once our new vendor tag working - copy is reconciled with the original source distribution, we - can commit those changes to our repository. + Wie auch immer wir es schaffen, sobald unsere neue auf dem + Lieferanten-Tag basierende Arbeitskopie mit dem + Original-Quellpaket abgeglichen ist, können wir diese + Änderungen in unser Projektarchiv übertragen. $ svn commit -m "Upgrade vendor branch to libcomplex 1.0.1." \ - libcomplex-1.0.1 + libcomplex-1.0.1 +Sende libcomplex-1.0.1/README +Sende libcomplex-1.0.1/src/code.h +Sende libcomplex-1.0.1/src/code.c +Übertrage Daten ... +Revision 1283 übertragen. $ From svnbook at googlecode.com Fri Feb 13 17:28:35 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 13 Feb 2015 23:28:35 +0000 Subject: [svnbook] r4986 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c2f3d0755279050f0098e3@google.com> Revision: 4986 Author: jmfelderhoff at gmx.eu Date: Fri Feb 13 23:28:27 2015 UTC Log: [de] Translation: Branching and Merging ** Vendor Branches from Mirrored Sources (rest) https://code.google.com/p/svnbook/source/detail?r=4986 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 13 13:26:38 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 13 23:28:27 2015 UTC @@ -8398,7 +8398,7 @@ http://svn.othervendor.com/repos/libcomplex/tags/1.0.1 \ libcomplex-custom --- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«: +-- Zusammenführen der Unterschiede zwischen fremden Projektarchiv-URLs in ».«: U libcomplex-custom/src/code.h C libcomplex-custom/src/code.c U libcomplex-custom/README - We're finally ready to upgrade our vendor branch. - Remember, our goal is to get the changes made by the vendor - between the 1.0.0 and 1.0.1 releases of their library into our - vendor branch. There is where a 2-URL svn - merge operation, applied to a working copy of our - vendor branch, comes into play. + Wir sind schließlich soweit, dass wir unseren + Lieferanten-Zweig aktualisieren können. Wenn Sie sich + entsinnen, besteht unser Ziel darin, die vom Lieferanten + zwischen den Versionen 1.0.0 und 1.0.1 ihrer Bibliothek + gemachten Änderungen in unseren Lieferanten-Zweig zu bekommen. + our vendor branch. An diesem Punkt betritt eine svn + merge-Operation mit 2 URLs die Bühne, die auf eine + Arbeitskopie unseres Lieferanten-Zweig angewendet wird. @@ -8900,20 +8902,29 @@ … E libcomplex-custom/src/code.c E libcomplex-custom/tests -E libcomplex-custom/tests/TODO -Checked out revision 1283. +E libcomplex-custom/tests/TODO +Ausgecheckt, Revision 1283. $ cd libcomplex-custom $ svn merge ^/vendor/libcomplex-1.0.0 \ - ^/vendor/libcomplex-1.0.1 ---- Merging differences between URLs into '.': + ^/vendor/libcomplex-1.0.1 +-- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«: U src/code.h C src/code.c -U README +U README +Konfliktübersicht: + Textkonflikte: 1 +Konflikt in Datei »src/code.c« entdeckt. +Auswahl: (p) später auflösen, (df) Änderungen anzeigen, + (e) Dateibearbeiten, (m) Zusammenführung, + (mc) eigene Seite des Konflikts, + (tc) fremde Seite des Konflikts, (s) alle Optionen anzeigen: @@ -8930,30 +8941,37 @@ any testing or review we need, we can commit the changes to our vendor branch. --> - As you can see, svn merge has merged - the requisite changes into our working copy, flagging a - conflict where the vendor modified the same region of one of - the files as we did during our customizations. Subversion - detects this conflict, and gives us the opportunity to resolve - it (using the methods described in - ) so that our - customizations to what is now libcomplex 1.0.1 continue to - make sense. Once we've resolved the conflicts and performed - any testing or review we need, we can commit the changes to - our vendor branch. + Wie Sie sehen können, hat svn merge die + erforderlichen Änderungen in unsere Arbeitskopie gebracht und + einen Konflikt markiert, bei dem der Lieferant den gleichen + Bereich einer der Dateien geändert hat wie wir während unserer + Anpassungen. Subversion erntdeckt diesen Konflikt und bietet + uns die Gelegenheit zur Auflösung (mittels der in + beschriebenen + Methoden), so dass unsere Anpassungen an, mittlerweile, + libcomplex 1.0.1 weiterhin einen Sinn ergeben. Sobald wir die + Konflikte aufgelöst sowie notwendige Tests und Überprüfungen + gemacht haben, können wir die Änderungen in unseren + Lieferanten-Zweig übertragen. $ svn status M src/code.h M src/code.c -M README +M README +$ svn commit -m "Aktualisierung des Lieferanten-Zweigs auf libcomplex 1.0.1." +Sende README +Sende src/code.h +Sende src/code.c +Übertrage Daten ..." +Revision 1294 übertragen. $ @@ -8963,9 +8981,11 @@ we need to upgrade that branch, we'll follow the same procedure we used to upgrade it this time. --> - Our vendor branch upgrade is complete. And the next time - we need to upgrade that branch, we'll follow the same - procedure we used to upgrade it this time. + Die Aktualisierung unseres Lieferanten-Zweiges ist + vollbracht. Wenn wir beim nächsten Mal diesen Zweig + aktualisieren müssen verfolgen wir die selbe Vorgehensweise, + die wir bei der jetzigen Aktualisierung eingeschlagen + sind. From svnbook at googlecode.com Sat Feb 14 03:50:00 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sat, 14 Feb 2015 09:50:00 +0000 Subject: [svnbook] r4987 committed - [de] Translation: Branching and Merging... Message-ID: <001a11c200d2d18e39050f0946c6@google.com> Revision: 4987 Author: jmfelderhoff at gmx.eu Date: Sat Feb 14 09:49:37 2015 UTC Log: [de] Translation: Branching and Merging * Summary ** Branching and merging commands https://code.google.com/p/svnbook/source/detail?r=4987 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 13 23:28:27 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Sat Feb 14 09:49:37 2015 UTC @@ -9325,7 +9325,7 @@ Merge a branch back into trunk --> Zurückführen des Zweigs in den Stamm - svn merge --reintegrate branchURL; svn commit + svn merge branchURL; svn commit From svnbook at googlecode.com Sat Feb 14 04:19:25 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sat, 14 Feb 2015 10:19:25 +0000 Subject: [svnbook] r4988 committed - [de] Translation: Branching and Merging: proofreading Message-ID: <047d7b2e4a480709c7050f09b0f8@google.com> Revision: 4988 Author: jmfelderhoff at gmx.eu Date: Sat Feb 14 10:19:17 2015 UTC Log: [de] Translation: Branching and Merging: proofreading https://code.google.com/p/svnbook/source/detail?r=4988 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Sat Feb 14 09:49:37 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Sat Feb 14 10:19:17 2015 UTC @@ -1174,11 +1174,11 @@ --> - changesets + Changesets i Änderungsmengen - changesets + Changesets Bevor wir weitermachen, sollten wir Sie warnen, dass Sie auf den kommenden Seiten viele Erörterungen zum Thema Änderungen erwarten. Viele mit @@ -2808,7 +2808,7 @@ --> Das Diagramm zeigt, dass /calc/branches/my-calc-branch von - /calc/trunk at 340 herüberkopiert wurde und + /calc/trunk at 340 herüber kopiert wurde und der letzte automatische Merge der Reintegrations-Merge war, den wir vom Zweig zum Stamm in r380 gemacht haben. Beachten Sie, dass das Diagramm die vier automatischen @@ -2929,11 +2929,11 @@ is considered by default. --> Seit Subversion 1.7 kann der Unterbefehl svn - mergeinfo auch Unterbaum-Mergeinfo und + mergeinfo auch Teilbaum-Mergeinfo und nichterbliche Mergeinfo berücksichtigen. Mit den Option oder - wird Unterbaum-Mergeinfo berücksichtigt, während nicht - ererbbare Mergeinfo standardmäßig beachtet wird. + wird Teilbaum-Mergeinfo berücksichtigt, während nicht + vererbbare Mergeinfo standardmäßig beachtet wird. Nun entscheiden Sie sich, Ihren Zweig auf den Stamm zurückzuführen. Wie wird Subversion Ihre Umbenennung und - Bearbeitung mit den Bearbeiungen durch Sally + Bearbeitung mit den Bearbeitungen durch Sally kombinieren? @@ -6122,7 +6122,7 @@ Mergeinfo auswerten, automatische Merges versuchen, werden Sie wahrscheinlich in alle möglichen Konflikte laufen, die durch wiederholtes - Mergeb hervorgerufen wurden. + Mergen hervorgerufen wurden. Diese Situation wird am besten vermieden, indem regelmäßig - ein automatischer Merg vom Stamm auf den Zweig gemacht wird. + ein automatischer Merge vom Stamm auf den Zweig gemacht wird. Machen Sie es zur Gewohnheit: Arbeiten Sie wöchentlich die Änderungen der vergangenen Woche vom Stamm in den Zweig ein. @@ -8106,7 +8106,7 @@ differences between the current and new pristine versions of that library. --> - Strenggenommen können diese Merges im allgemeinen SInn auf + Strenggenommen können diese Merges im allgemeinen Sinn auf verschiedene Weisen durchgeführt werden. Aus Gründen der Einfachheit und mit dem Ziel, wenigstens etwas Konkretes in diesem Abschnitt des @@ -8134,8 +8134,8 @@ anzulegen und die Unterschiede zwischen der aktuellen unveränderten und ihrer angepassten Version (vom aktuellen Lieferanten-Zweig) auf den neuen Zweig anzuwenden. An diesem - Ansatz gibt es nichts audzusetzen, jedoch sind wir der - Meinung, dass wir nicht jede berechtihte Möglichkeit an + Ansatz gibt es nichts auszusetzen, jedoch sind wir der + Meinung, dass wir nicht jede berechtigte Möglichkeit an dieser Stelle dokumentieren müssen. @@ -8184,7 +8184,7 @@ Drittanbieter-Bibliothek selbst über Subversion erreichbar ist. Für das Beispiel nehmen wir an, dass die besprochene Bibliothek libcomplex in einem öffentlich zugänglichen - Subversion-Projektarchiv entwickelt wird und deren Enwickler + Subversion-Projektarchiv entwickelt wird und deren Entwickler vernünftige Freigabeverfahren verwenden, zu denen die Erzeugung von Tags für jede stabile freigegebene Version zählt. @@ -8237,7 +8237,7 @@ Kopieren, Kopien aus fremden Projektarchiven Seit Subversion 1.5 kann svn merge sogenannte Merges aus fremden - Projektarchiver ausführen, wobei die Quellen des + Projektarchiven ausführen, wobei die Quellen des Merges in einem anderen Projektarchiv liegen, als das Projektarchiv, aus dem die Arbeitskopie des Merge-Ziels ausgecheckt wurde. Und in Subversion 1.8 wurde das Verhalten @@ -8341,14 +8341,14 @@ accurately replicated in your own repository. --> Sollten Sie eine ältere Version von Subversion - verwenden, ist die Vorgehensweide, die der neuen + verwenden, ist die Vorgehensweise, die der neuen Unterstützung von Kopien aus fremden Projektarchiven durch svn copy am nächsten kommt, eine Arbeitskopie des Lieferanten-Tags zu importieren (mit svn import), und dabei die Optionen und - zu verwenden, do dass der - komplette Baum umd alle versionierten Eigenschaften akkurat + zu verwenden, so dass der + komplette Baum und alle versionierten Eigenschaften akkurat in Ihrem Projektarchiv repliziert werden. @@ -8492,7 +8492,7 @@ werden, falls die Original-Quellen für Subversion erreichbar sind. Es gibt jedoch einige erwähnenswerte Schwächen. Zunächst werden Merges aus fremden Projektarchiven nicht automatisch - von Subversion verfolgt wie Merges inerhalb des eigenen + von Subversion verfolgt wie Merges innerhalb des eigenen Projektarchivs. Das bedeutet, der Anwender trägt die Last und muss wissen, welche Merges auf dem Lieferanten-Zweig stattgefunden haben und wie der nächste Merge aufzusetzen ist, @@ -8728,13 +8728,13 @@ Erinnern Sie sich, dass wir möchten, dass die Spiegelung der Zulieferung von libcomplex 1.0.1 einen gemeinsamen Stammbaum mit unserer Zulieferung von 1.0.0 hat, was später zu - dern besten Ergebnissen führen wird, wenn wir die Änderungen - zwichen diesen Zulieferungen in unseren Lieferanten-Zweig + den besten Ergebnissen führen wird, wenn wir die Änderungen + zwischen diesen Zulieferungen in unseren Lieferanten-Zweig einbringen möchten. Wir beginnen also damit, einen Zweig für libcomplex-1.0.1 als Kopie unseres vorher erstellten - ly created libcomplex-1.0.0 Lieferanten-Tags - – eine Kopie, die schließlich eine Replik von libcomplex - 1.0.1 wird. + libcomplex-1.0.0 Lieferanten-Tags – eine + Kopie, die schließlich eine Replik von libcomplex 1.0.1 + wird. @@ -8767,7 +8767,7 @@ überlagern kann; wenn die Option angegeben wird, geschieht das auf eine Art und Weise, dass die Unterschiede zwischen dem ausgecheckten Baum und dem durch den - Checkout überlagerten Zielbaumm als lokale Änderungen in der + Checkout überlagerten Zielbaum als lokale Änderungen in der Arbeitskopie verbleiben. @@ -8858,14 +8858,16 @@ Änderungen in unser Projektarchiv übertragen. - + +$ svn commit -m "Aktualisierung Lieferanten-Zweig auf libcomplex 1.0.1." \ + libcomplex-1.0.1 Sende libcomplex-1.0.1/README Sende libcomplex-1.0.1/src/code.h Sende libcomplex-1.0.1/src/code.c @@ -8945,7 +8947,7 @@ erforderlichen Änderungen in unsere Arbeitskopie gebracht und einen Konflikt markiert, bei dem der Lieferant den gleichen Bereich einer der Dateien geändert hat wie wir während unserer - Anpassungen. Subversion erntdeckt diesen Konflikt und bietet + Anpassungen. Subversion entdeckt diesen Konflikt und bietet uns die Gelegenheit zur Auflösung (mittels der in beschriebenen Methoden), so dass unsere Anpassungen an, mittlerweile, From svnbook at googlecode.com Sat Feb 14 09:35:03 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sat, 14 Feb 2015 15:35:03 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output Message-ID: <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Status: New Owner: ---- Labels: Type-Defect Priority-Medium New issue 228 by gan.ainm... at gmail.com: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 In subsection "Vendor Branches from Mirrored Sources" of the chapter "Branching and Merging", the command output of "svn merge ^/vendor/libcomplex-1.0.0 ^/vendor/libcomplex-1.0.1" contains the line "--- Merging differences between URLs into '.':", i.e., a message not stating the type of URL, however, a scan of the complete source tree of Subversion 1.8 only shows occurrences of either "...repository URLs..." or "...foreign repository URLs..." -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Sat Feb 14 20:04:40 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 15 Feb 2015 02:04:40 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <1-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Updates: Labels: Milestone-en-1.6 Comment #1 on issue 228 by cmpilato: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 I believe you're correct. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Mon Feb 16 00:38:58 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 16 Feb 2015 06:38:58 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <1-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <1-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <2-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Comment #2 on issue 228 by gan.ainm... at gmail.com: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 Why milestone 1.6? I was referring to the 1.8 book. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Mon Feb 16 08:27:06 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 16 Feb 2015 14:27:06 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <2-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <2-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <3-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Comment #3 on issue 228 by cmpilato: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 I set the milestone to the oldest currently-maintained version that exhibits the problem as a reminder to myself of how far to go with backporting the fix. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Tue Feb 17 15:06:35 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 17 Feb 2015 21:06:35 +0000 Subject: [svnbook] r4989 committed - [de] Lieferanten-Zweige: Umformulierungen. Message-ID: <089e01182358f5db09050f4f1360@google.com> Revision: 4989 Author: jmfelderhoff at gmx.eu Date: Tue Feb 17 21:06:27 2015 UTC Log: [de] Lieferanten-Zweige: Umformulierungen. https://code.google.com/p/svnbook/source/detail?r=4989 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Sat Feb 14 10:19:17 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 17 21:06:27 2015 UTC @@ -7880,15 +7880,15 @@ Zweige Lieferanten-Zweige - Besonders in der Software=Entwicklung haben die von Ihnen - versionsverwalteten Daten oft einen engen Bezug zu Daten von - anderen, oder sind vielleicht abhängig davon. Allgemein wird der - Bedarf ihres Projektes erfordern, dass Sie bezüglich der - externen Datenquelle so aktuell wie möglich bleiben, ohne dabei - die Stabilität Ihres Projektes zu opfern. Dieses Szenario - entfaltet sich immer dort, wo die von einer Gruppe erzeugten + Besonders in der Software-Entwicklung haben Ihre + versionsverwalteten Daten oft einen engen Bezug zu Daten aus + anderen Quellen oder sind vielleicht sogar davon abhängig. Im + allgemeinen wird es ihr Projekt erfordern, dass Sie hinsichtlich + dieser externen Datenquelle so aktuell wie möglich bleiben, ohne + dabei die Stabilität des Projektes zu opfern. Dieses Szenario + taucht immer dort auf, wo die von einer Gruppe erzeugten Informationen direkte Auswirkungen auf diejenigen Informationen - hat, die von einer anderen Gruppe erstellt werden. + haben, die von einer anderen Gruppe erstellt werden. - So könnte es sein, dass Software-Entwickler beispielsweise an + Software-Entwickler könnten beispielsweise an einer Anwendung arbeiten, die die Bibliothek eines Drittanbieters benötigt. Subversion hat eine solche Abhängigkeit von der Bibliothek Apache Portable Runtime (APR) (siehe Allerdings möchten Sie von Zeit zu Zeit spezielle Anpassungen des Drittanbieter-Codes in Ihrem eigenen - Versions-Kontroll-System verwalten. Um auf unser Beispiel aus der - Software=Entwicklung zurückzukommen, müssen Entwickler manchmal - die Bibliothek der Drittanbieter für ihre Zwecke verändern. - Diese Änderungen können neue Funktionalitäten oder - Fehlerbehebungen beinhalten und werden nur solange intern + Versions-Kontroll-System verwalten. Um auf unser Beispiel aus + der Software=Entwicklung zurückzukommen, müssen Entwickler + manchmal die Bibliothek der Drittanbieter für ihre Zwecke + verändern. Diese Änderungen können neue Funktionalitäten oder + Fehlerbehebungen umfassen und werden nur solange intern verwaltet, bis sie eines Tages Teil einer offiziellen Auslieferung der Bibliothek werden. Es kann aber auch sein, dass diese Änderungen niemals an die Entwickler der Bibliothek zurückgegeben werden, sondern lediglich als spezielle - Anpassungen bestehen, um die Bibliothek für Bedürfnisse der - Software-Entwickler geeigneter zu machen. + Anpassungen für die Bedürfnisse der Software-Entwickler bestehen + bleiben. - Angenommen, Ihre Aufgabe ist es, ein Dokument für eine + Angenommen, Sie haben die Aufgabe, ein Dokument für eine Abteilung Ihrer Firma zu pflegen – eine Art Handbuch. Eines Tages fragt eine andere Abteilung nach dem - gleichen Handbuch, jedoch an einigen Stellen für ihre - Bedürfnisse abgewandelt, da sie auf etwas andere + gleichen Handbuch, jedoch an einigen Stellen auf ihre + Bedürfnisse angepasst, da sie auf etwas andere Weise arbeiten. Verzweigen (Branching) und Zusammenführen - (Merging)Die + (MergingDie Begriffe Verzweigen bzw. Zweig und Zusammenführen werden durchgängig in den Ausgaben von Subversion verwendet, sofern die entsprechenden deutschen @@ -43,17 +43,17 @@ Branch, Merge, Diff Bestandteil des Vokabulars der - Entwicklergemeinde sind. sind grundlegende + Entwicklergemeinde sind.) sind grundlegende Konzepte der Versionskontrolle, die zwar konzeptuell einfach zu - beschreiben sind, die allerdings hinreichend Komplexität und - Feinheiten mit sich bringen, dass sie ein eigenes Kapitel in + beschreiben sind, allerdings auch hinreichend Komplexität und + Feinheiten mit sich bringen, so dass sie ein eigenes Kapitel in diesem Buch verdient haben. Hier werden wir Ihnen sowohl die - dahinter stehenden allgemeinen Konzepte vorstellen, als auch den - irgendwie einzigartigen Ansatz von Subversion hierzu. Falls Sie sich - noch nicht mit den grundlegenden Konzepten von Subversions vertraut - gemacht haben sollten (zu finden in ), - möchten wir Ihnen dazu raten, bevor Sie dieses Kapitel - lesen. + dahinter stehenden allgemeinen Konzepte vorstellen als auch den, + gewissermaßen einzigartigen, Ansatz von Subversion hierzu. Sollten + Sie sich noch nicht mit den grundlegenden Konzepten von + Subversions vertraut gemacht haben (zu finden in + ), möchten wir Ihnen vor dem Lesen + dieses Kapitel dazu raten. @@ -148,15 +148,15 @@ mix and match different lines of development in your daily work. --> - Subversion verfügt über Befehle, die Ihnen helfen, parallele - Zweige Ihrer Dateien und Verzeichnisse zu verwalten. Es erlaubt - Ihnen, durch das Kopieren Ihrer Daten, Zweige zu erstellen und - merkt sich, dass die Zweige untereinander in Beziehung - stehen. Es hilft Ihnen auch, Änderungen von einem Zweig auf den - anderen zu duplizieren. Schließlich ermöglicht es, dass Teile - Ihrer Arbeitskopie verschiedene Zweige repräsentieren können, - was Ihnen während Ihrer täglichen Arbeit erlaubt, verschiedene - Entwicklungslinien zu mischen und + Subversion verfügt über Befehle, die Ihnen dabei helfen, + parallele Zweige Ihrer Dateien und Verzeichnisse zu verwalten. + Es erlaubt Ihnen, durch Kopieren Ihrer Daten Zweige zu + erstellen und merkt sich, dass die Zweige untereinander in + Beziehung stehen. Es hilft Ihnen auch dabei, Änderungen von einem + Zweig auf einen anderen zu duplizieren. Schließlich ermöglicht es, + dass Teile Ihrer Arbeitskopie verschiedene Zweige repräsentieren + können, was Ihnen bei Ihrer täglichen Arbeit erlaubt, + verschiedene Entwicklungslinien zu mischen und gegenüberzustellen. @@ -176,10 +176,10 @@ in the repository. If you don't, go back and read about revisions in . --> - An dieser Stelle sollten Sie verstehen, wie jede Übergabe an - das Projektarchiv dort einen neuen Zustand des Dateibaums - (genannt Revision) erzeugt. Wenn nicht, blättern - Sie zurück und lesen Sie in + An dieser Stelle sollten Sie ein Verständnis haben, wie jede + Übergabe an das Projektarchiv dort einen neuen Zustand des + Dateibaums (genannt Revision) erzeugt. Wenn + nicht, blättern Sie zurück und lesen Sie in über Revisionen nach. @@ -222,9 +222,9 @@ main line of development is going to take place. --> - Wie bereits vorher sei hier angenommen, dass sowohl Sally - als auch Sie Arbeitskopien des Projektes calc - besitzen. Ausdrücklich hat jeder von Ihnen eine Arbeitskopie von + Wie vorher sei hier angenommen, dass sowohl Sally als auch + Sie Arbeitskopien des Projektes calc besitzen. + Genauer gesagt, hat jeder von Ihnen eine Arbeitskopie von /calc/trunk. Alle Dateien des Projektes befinden sich in diesem Unterverzeichnis statt in /calc selber, da Ihr Team entschieden hat, @@ -242,14 +242,14 @@ start committing your changes bit by bit, you'll surely break things for Sally (and other team members as well). --> - Sagen wir mal, dass Sie die Aufgabe bekommen haben, ein - großes Stück Software umzusetzen. Die Erstellung benötigt eine - lange Zeit und berührt alle Dateien im Projekt. Das Problem, + Nehmen wir an, Sie haben die Aufgabe bekommen, einen großen + Teil einer Software umzusetzen. Die Erstellung benötigt einen + langen Zeitraum und berührt alle Dateien im Projekt. Das Problem, dass sofort auftaucht ist, dass Sie Sally nicht in die Quere kommen möchten, die gerade hier und da kleinere Fehler - beseitigt. Sie ist davon abhängig, dass die letzte Version des - Projektes (in /calc/trunk) stets benutzbar - ist. Wenn Sie nun damit beginnen, Stück für Stück Ihre + beseitigt. Sallys Arbeit hängt davon ab, dass die letzte Version + des Projektes (in /calc/trunk) stets + benutzbar ist. Wenn Sie nun damit beginnen, Stück für Stück Ihre Änderungen zu übergeben, werden Sie die Dinge für Sally (und auch für andere Teammitglieder) bestimmt in Unordnung bringen. @@ -278,7 +278,7 @@ copy when you eventually run svn update after weeks of isolation. --> - Eine Strategie ist, sich in ein Loch zu verkriechen: Sie + Eine Strategie wäre es, sich in ein Loch zu verkriechen: Sie können für eine Woche oder zwei den Informationsaustausch einstellen, und die Dateien Ihrer Arbeitskopie ausräumen und umorganisieren, ohne Änderungen zu übergeben oder die @@ -297,14 +297,14 @@ niemand Ihre unmittelbaren Änderungen sieht, haben Sie keine möglichen Rückmeldungen und es könnte sein, dass Sie für Wochen einen falschen Weg einschlagen, bevor es jemand aus Ihrem Team - bemerkt. Schließlich könnte es am Ende sehr schwierig sein, Ihr - Arbeitsergebnis wieder mit dem Hauptteil der Quelltexte Ihrer - Firma zusammenzuführen, wenn Sie mit Ihren Änderungen fertig - sind. Sally (und andere) hätten viele andere Änderungen ins - Projektarchiv übergeben haben können, die sich schwer in Ihre - Arbeitskopie einarbeiten lassen, wenn Sie schließlich nach - Wochen der Isolierung svn update - ausführen. + bemerkt. Schließlich könnte es am Ende, wenn Sie mit Ihren + Änderungen fertig sind, sehr schwierig sein, Ihr Arbeitsergebnis + wieder mit dem Hauptteil der Quelltexte Ihrer Firma + zusammenzuführen. Sally (und andere) hätten viele andere + Änderungen ins Projektarchiv übergeben haben können, die sich + schwer in Ihre Arbeitskopie einarbeiten lassen, wenn Sie + schließlich nach Wochen der Isolierung svn + update ausführen. - Nehmen wir an, dass Ihr Team (wie die meisten) die - Konvention vereinbart hat, Zweige im Verzeichnis - branches zu erzeugen, das ein - Geschwister-Verzeichnis des Projekt-Stamms ist (in unserem + Nehmen wir an, dass Ihr Team (wie die meisten) vereinbart + hat, Zweige im Verzeichnis branches zu + erzeugen, das ein Geschwister-Verzeichnis des Projekt-Stamms + (Trunk) ist (in unserem Szenario das Verzeichnis /calc/branches). Aus Mangel an Phantasie wählen Sie als Namen für Ihren Zweig my-calc-branch. Das heißt, sie legen ein @@ -464,8 +465,8 @@ erzeugt wird. Das neue Verzeichnis ist eine Kopie von /calc/trunk. Dies wird in gezeigt. - Subversion unterstützt nicht das Kopieren - zwischen verschiedenen Projektarchiven. Wenn Sie mit + Subversion unterstützt nicht das Kopieren + zwischen unterschiedlichen Projektarchiven. Wenn Sie mit svn copy oder svn move URLs verwenden, können Sie nur Objekte innerhalb desselben Projektarchivs kopieren oder verschieben. @@ -524,13 +525,12 @@ einen neuen Verzeichniseintrag, der auf einen bestehenden Baum verweist. Falls Sie ein erfahrener Unix-Benutzer sind, werden Sie erkennen, dass - es sich um dasselbe Konzept handelt wie bei einem - Hardlink. Während weitere Änderungen an den Dateien und - Verzeichnissen unterhalb des kopierten Verzeichnisses - gemacht werden, fährt Subversion fort, dieses Konzept - anzuwenden wo es geht. Es dupliziert Daten nur dann, wenn es - notwendig wird, verschiedene Versionen von Objekten - auseinanderzuhalten. + es sich um dasselbe Konzept handelt wie bei einem Hardlink. + Während weitere Änderungen an den Dateien und Verzeichnissen + unterhalb des kopierten Verzeichnisses gemacht werden, hält + Subversion an diesem Konzept fest wo es geht. Es dupliziert + Daten nur dann, wenn es nätig ist, verschiedene Versionen + von Objekten auseinanderzuhalten. - Deshalb hören Sie Subversion-Benutzer oft von - billigen Kopien sprechen. Es spielt keine - Rolle, wie umfangreich das Verzeichnis ist – es bedarf - lediglich eines kleinen, konstanten Zeitaufwands und - Speicherplatzes, um eine Kopie davon zu erstellen. Diese - Fähigkeit ist tatsächlich die Grundlage für die Umsetzung - von Übergaben in Subversion: Jede Revision ist eine - billige Kopie der vorhergehenden Revision mit - ein paar Dingen, die sich im Innern geändert haben. (Um mehr - hierüber zu lesen, gehen Sie auf die Website von Subversion - und lesen Sie in den Subversion-Design-Dokumenten über die + Deshalb sprechen Subversion-Benutzer oft von + billigen Kopien. Es spielt keine Rolle, wie + umfangreich das Verzeichnis ist: es bedarf lediglich eines + kleinen, konstanten Zeitaufwands und wenig Speicherplatzes, + um eine Kopie zu erstellen. Diese Fähigkeit ist tatsächlich + die Grundlage für die Umsetzung von Übergaben in Subversion: + Jede Revision ist eine billige Kopie der + vorhergehenden Revision mit ein paar Dingen, die sich im + Innern geändert haben. (Um mehr hierüber zu lesen, gehen Sie + auf die Website von Subversion und lesen Sie in den + Subversion-Design-Dokumenten über die bubble-up-Methode.) - Nun finden zwei unabhängige Entwicklungslinien (siehe - ) auf - integer.c statt. + Nun hat integer.c zwei unabhängige + Entwicklungslinien (siehe + ).
    - Verfolgung von Zusammenführungen @@ -1135,19 +1133,18 @@ Merge-Tracking Subversion 1.5 führte die Funktionalität der Verfolgung von Zusammenführungen - (merge tracking) in - Subversion ein. Vor dieser Funktionalität erforderte das Verfolgen - von Zusammenführungen unhandliche manuelle Eingriffe oder die - Verwendung externer Werkzeuge. Nachfolgende Ausgaben von Subversion - führten viele Verbesserungen und Fehlerbehebungen für das - Merge-Tracking ein, weshalb wir empfehlen, die neuesten - Versionen sowohl auf Ihrem Server als auch auf dem Client - einzusetzen. Vergessen Sie nicht, dass Sie immer noch einen - 1.8 Client verwenden können, auch wenn auf Ihrem Server - 1.5-1.7 laufen. Das ist besonders wichtig hinsichtlich des - Merge-Trackings, da die überwältigende Mehrheit der - Fehlerbehebungen und Verbesserungen auf der Client-Seite statt - gefunden hat. + (merge tracking) in Subversion + ein. Davor erforderte das Verfolgen von Zusammenführungen + unhandliche manuelle Eingriffe oder die Verwendung externer + Werkzeuge. Nachfolgende Ausgaben von Subversion führten viele + Verbesserungen und Fehlerbehebungen für das Merge-Tracking + ein, weshalb wir empfehlen, die neuesten Versionen sowohl auf + Ihrem Server als auch auf dem Client einzusetzen. Vergessen + Sie nicht, dass Sie immer noch einen 1.8 Client verwenden + können, auch wenn auf Ihrem Server 1.5-1.7 laufen. Das ist + besonders wichtig hinsichtlich des Merge-Trackings, da die + überwältigende Mehrheit der Fehlerbehebungen und + Verbesserungen auf der Client-Seite statt gefunden hat. @@ -1172,7 +1169,7 @@ Changesets - i + Änderungsmengen Changesets @@ -1235,11 +1232,11 @@ In Subversion bezeichnet eine globale Revisionsnummer N einen Baum im Projektarchiv: Sie beschreibt das Aussehen des Projektarchivs nach der - N-ten Übergabe. Sie ist auch der + N-ten Übertragung. Sie ist auch der Name einer impliziten Änderungsmenge: Wenn Sie den Baum N mit dem Baum N-1 vergleichen, können Sie genau - den Patch ableiten, der übergeben wurde. Daher ist es einfach, + den Patch ableiten, der übertragen wurde. Daher ist es einfach, sich Revision N nicht nur als Baum sondern auch als Änderungsmenge vorzustellen. Falls Sie ein Fehlerverwaltungssystem verwenden, können Sie die @@ -1249,14 +1246,14 @@ kann jemand svn log -r 9238 aufrufen, um den Protokolleintrag zu genau der Änderungsmenge zu lesen, die den Fehler behoben hat, und sich mit svn diff - -c 9238 den eigentlichen Patch ansehen. Und - auch (wie Sie bald sehen werden) der Subversion Befehl - svn merge kann Revisionsnummern verwenden. - Sie können bestimmte Änderungsmengen von einem Zweig mit einem - anderen zusammenführen, indem sie in den Argumenten zum - entsprechenden Kommando benannt werden: Die Übergabe von - -c 9238 an svn merge - würde das Änderungsmenge r9238 mit Ihrer Arbeitskopie + -c 9238 den eigentlichen Patch ansehen. Und (wie + Sie bald sehen werden) auch der Subversion Befehl svn + merge kann Revisionsnummern verwenden. Sie können + bestimmte Änderungsmengen von einem Zweig mit einem anderen + zusammenführen, indem sie in den Argumenten zum entsprechenden + Kommando benannt werden: Die Übergabe von -c + 9238 an svn merge würde das + Änderungsmenge r9238 mit Ihrer Arbeitskopie zusammenführen. @@ -1309,20 +1306,20 @@ svn Unterbefehle merge - Machen wir mit unserem Beispiel weiter und nehmen an, dass - eine Woche vergangen ist seitdem Sie begonnen haben, auf - Ihrem privaten Zweig zu arbeiten. Ihre Arbeit ist noch nicht - beendet, jedoch wissen Sie, dass gleichzeitig andere Leute in - Ihrem Team weiterhin wichtige Änderungen im - /trunk des Projektes machen. Es - ist in Ihrem Interesse, diese Änderungen in Ihren Zweig zu + Machen wir mit unserem Beispiel weiter und nehmen + an, dass eine Woche vergangen ist seitdem Sie mit der Arbeit + auf Ihrem privaten Zweig begonnen haben. Ihre Arbeit ist noch + nicht beendet, jedoch wissen Sie, dass gleichzeitig andere + Leute in Ihrem Team weiterhin wichtige Änderungen in + /trunk des Projektes machen. Es ist in + Ihrem Interesse, diese Änderungen in Ihren Zweig zu übernehmen, um sicherzustellen, dass sie sich gut mit Ihren - Änderungen vertragen. Das wird durch eine - Synchronisierungs-Merge - erreicht – ein Merge zu - dem Zweck, Ihren Zweig mit Änderungen zu aktualisieren, die - seit der Erstellung Ihres Zweigs auf dem Ursprungszweig - vorgenommen wurden. + Änderungen vertragen. Das wird durch einen + Synchronisierungs-Merge erreicht + – ein Merge zu dem Zweck, + Ihren Zweig mit Änderungen zu aktualisieren, die seit der + Erstellung Ihres Zweigs auf dem Ursprungszweig vorgenommen + wurden. Merging automatisch @@ -1332,7 +1329,7 @@ Merge-Quelle und ein Arbeitskopie-Ziel) und Subversion entscheiden lassen, welche Änderungen zusammengeführt werden müssen – bei einem automatischen Merge werden keine - Änderungsmengen mit oder + Änderungsmengen mit oder an svn merge übergeben. Wenn Sie soweit sind, Ihren Zweig mit den fortlaufenden Änderungen vom Stamm zu synchronisieren, geben Sie die - Start-Revision al die Revision von + Start-Revision als die Revision von /calc/trunk an, von wo aus Sie den Zweig kopiert haben, und als End-Revision die letzte Änderung auf /calc/trunk. Letztere @@ -1565,7 +1562,7 @@ merge: --> Nach dem Auflösen etwaiger Konflikte können Sie die - zusammengeführten Änderungen auf Ihrem Zweig übergeben. Um + zusammengeführten Änderungen auf Ihren Zweig übertragen. Um nun zu vermeiden, dass diese Änderungen künftig erneut mit Ihrem Zweig zusammengeführt werden, müssen Sie den bereits erfolgten Merge vermerken. Aber wo? Einer der @@ -1730,7 +1727,7 @@ . -R wieder rückgängig machen und eine lange was geht hier eigentlich vor-Unterredung mit Ihren Mitarbeitern führen. Falls jedoch alles gut aussieht, - können Sie die Änderungen an das Projektarchiv übergeben: + können Sie die Änderungen zum Projektarchiv übertragen: @@ -1875,7 +1872,7 @@ again! --> Nehmen wir an, noch eine Woche sei ins Land gegangen. Sie - haben weitere Änderungen an Ihren Zweig übergeben, und Ihre + haben weitere Änderungen an Ihren Zweig übertragen, und Ihre Kollegen haben damit weitergemacht, den Stamm zu verbessern. Nun möchten Sie mal wieder die letzten Änderungen vom Stamm mit Ihrem Zweig abgleichen, damit Sie wieder @@ -1926,11 +1923,11 @@ in Arbeitskopien mit gemischten Revisionen. Ohne auf Einzelheiten einzugehen, liegt das an Einschränkungen der Art und Weise, wie Merges durch die Eigenschaft - svn:mergeinfo verfolgt werden (siehe - zu - Details). Diese Einschränkungen bedeuten, dass Merges in - Arbeitskopien aus gemischten Revisionen unerwartete Text- und - Baumkonflikte hervorrufen können.Die Option + svn:mergeinfo verfolgt werden (für Details, + siehe ). + Diese Einschränkungen bedeuten, dass Merges in Arbeitskopien + aus gemischten Revisionen unerwartete Text- und Baumkonflikte + hervorrufen können.Die Option des Unterbefehls svn merge erlaubt Ihnen, diese Einschränkung zu umgehen, jedoch sollten Sie das nur dann @@ -1972,7 +1969,7 @@ Änderungen berücksichtigt, die Sie noch nicht haben. Einmal mehr müssen Sie bauen, testen und die lokalen Änderungen an Ihren Zweig mit svn commit - übergeben. + übertragen. Der grundsätzliche Mechanismus, den Subversion verwendet, - um Änderungsmengen zu verfolgen – d.h. welche Änderungen - auf welchen Zweig übertragen worden sind – besteht aus - der Datenspeicherung in versionierten Eigenschaften. - Namentlich werden Daten die das Zusammenführen betreffen in - der Eigenschaft svn:mergeinfo festgehalten, - die mit Dateien und Verzeichnissen verknüpft ist. (Falls Sie - mit Subversion-Eigenschaften nicht vertraut sind, siehe .) + um Änderungsmengen zu verfolgen – d.h., welche + Änderungen auf welchen Zweig übertragen worden sind – + besteht aus der Datenspeicherung in versionierten + Eigenschaften. Namentlich werden Daten die das Zusammenführen + betreffen in der Eigenschaft svn:mergeinfo + festgehalten, die mit Dateien und Verzeichnissen verknüpft + ist. (Falls Sie mit Subversion-Eigenschaften nicht vertraut + sind, siehe .) - Sie können sich die mergeinfo-Eigenschaft ansehen, wie jede andere - versionierte Eigenschaft: + Sie können sich die mergeinfo-Eigenschaft ansehen, wie + jede andere versionierte Eigenschaft: @@ -2749,7 +2747,7 @@ /calc/branches/my-calc-branch: --> Subversion stellt auch den Unterbefehl svn - mergeinfo zur Verfügung, der dabei hilfreich ist, + mergeinfo zur Verfügung, der dabei hilfreich ist, die Zusammenführungen zwischen zwei Zweigen zu zeigen; insbesondere welche Änderungsmengen in ein Verzeichnis eingeflossen sind oder welche noch für einen Abgleich bereit @@ -2882,10 +2880,10 @@ zusammengeführt haben, repräsentieren nur die mit der Option aufgelisteten Revisionen tatsächliche Änderungen auf - /calc/trunk. Diese Revisions werden + /calc/trunk. Diese Revisionen werden als operative Revisionen hinsichtlich der Zusammenführung bezeichnet und sind nicht zu verwechseln mit - den operativen Revision, die mit der Option + den operativen Revisionen, die mit der Option verwendet werden, siehe . Wie zu erwarten, werden die Revisionen aus dem Bereich r341-378, die From pavel.lyalyakin at visualsvn.com Wed Feb 18 10:48:06 2015 From: pavel.lyalyakin at visualsvn.com (Pavel Lyalyakin) Date: Wed, 18 Feb 2015 19:48:06 +0300 Subject: [PATCH] SVNBook 1.8: add `svnadmin lock` and `svnadmin unlock` commands to `svnadmin` reference Message-ID: Hello, I'm looking through the current state of SVNBook 1.8 and through Subversion 1.8 Release Notes and see that a lot of minor features and improvements are not mentioned in the book. I would like to participate in updating the book to cover Subversion 1.8 so let me start with a small patch that specifies new `svnadmin lock` and `svnadmin unlock` sub-commands. Log message: [[ Add `svnadmin lock` and `svnadmin unlock` commands introduced in Subversion 1.8 to `svnadmin` reference. * http://subversion.apache.org/docs/release-notes/1.8.html#svnadmin-lock * `svnadmin lock`: http://subversion.tigris.org/issues/show_bug.cgi?id=3942 * `svnadmin unlock`: http://subversion.tigris.org/issues/show_bug.cgi?id=4092 Patch by: pavel.lyalyakin{_AT_}visualsvn.com ]] -- With best regards, Pavel Lyalyakin VisualSVN Team -------------- next part -------------- A non-text attachment was scrubbed... Name: lock-unlock-ref-svnadmin.xml.patch Type: application/octet-stream Size: 3715 bytes Desc: not available URL: From svnbook at googlecode.com Thu Feb 19 00:49:01 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 19 Feb 2015 06:49:01 +0000 Subject: [svnbook] r4993 committed - [de] Stylistic changes:... Message-ID: <001a11c1dfaec52ef3050f6b546f@google.com> Revision: 4993 Author: jmfelderhoff at gmx.eu Date: Thu Feb 19 06:48:43 2015 UTC Log: [de] Stylistic changes: * Grundlegendes Zusammenführen ** Undoing Changes ** Zurückholen gelöschter Objekte * Fortgeschrittenes Zusammenführen ** Rosinenpicken https://code.google.com/p/svnbook/source/detail?r=4993 Modified: /branches/1.8/de/book/ch04-branching-and-merging.xml ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 18 14:02:04 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Thu Feb 19 06:48:43 2015 UTC @@ -3310,16 +3310,16 @@ Projektarchiv übergeben worden war. Nehmen wir einmal an, Sie arbeiten fröhlich in einer Arbeitskopie von /calc/trunk und entdecken, dass die - damalige Änderungen an verschiedenen Quelltext-Dateien in + damaligen Änderungen an verschiedenen Quelltext-Dateien in Revision 392 völlig falsch waren. Sie hätten nie übergeben werden sollen. Sie können svn merge verwenden, um die Änderung in Ihrer Arbeitskopie zurückzunehmen, und dann die lokale Änderung an - das Projektarchiv übergeben. Alles, was Sie hierfür tun - müssen, ist, eine umgekehrte Differenz - anzugeben. (Sie machen das durch die Angabe von - oder durch das äquivalente - .) + das Projektarchiv übergeben. Sie müssen hierfür nur eine + umgekehrte Differenz angeben. (Sie machen + das durch die Angabe von + oder durch das äquivalente .) + @@ -3454,7 +3454,7 @@ ausreichend. Die meisten Leute sind sowieso nur am HEAD eines Projektes interessiert. Es gibt jedoch Spezialfälle, in denen Sie wirklich alle Beweise der - Übergabe vernichten möchten. (Vielleicht hat jemand ein + Übergabe vernichten möchten. (Vielleicht hat jemand ein vertrauliches Dokument in das Projektarchiv übergeben.) Das ist leider nicht so einfach, da Subversion absichtlich so konstruiert wurde, dass es niemals Informationen @@ -3762,11 +3762,10 @@ --> Obwohl unser Beispiel zeigt, wie eine Datei zurückgeholt wird, sollten sie beachten, dass dieselben Techniken auch beim - Wiederherstellen von gelöschten Verzeichnissen - funktionieren. Beachten Sie auch, dass die Wiederherstellung - nicht unbedingt in Ihrer Arbeitskopie passieren muss – - sie kann auch vollständig im Projektarchiv ausgeführt - werden: + Wiederherstellen von gelöschten Verzeichnissen funktionieren. + Beachten Sie auch, dass die Wiederherstellung nicht unbedingt + in Ihrer Arbeitskopie passieren muss – sie kann auch + vollständig im Projektarchiv ausgeführt werden: @@ -3809,15 +3808,15 @@ syntax of the command and discusses a number of common scenarios that require it. --> - Hier endet die automatische Magie. Früher oder später, - sobald Sie den Dreh beim Verzweigen und Zusammenführen heraus - haben, werden Sie Subversion fragen müssen, + Hier endet die automatische Magie. sobald Sie früher oder + später den Dreh beim Verzweigen und Zusammenführen heraus haben, + werden Sie Subversion fragen müssen, bestimmte Änderungen von einem Ort zum anderen zusammenzuführen. Um dies tun zu können, werden Sie damit beginnen müssen, kompliziertere Argumente an svn merge zu übergeben. Der nächste Abschnitt beschreibt die vollständig erweiterte Syntax des Befehls und behandelt eine - Anzahl verbreiteter Szenarien, die diese benötigen. + Anzahl verbreiteter Szenarien, die diese erforderlich macht. @@ -3847,18 +3846,18 @@ Merging Rosinenpicken - Genauso oft wie der Begriff Änderungsmenge - wird die Wendung die Rosinen - herauspicken in Versions-Kontroll-Systemen - verwendet. Das bezieht sich darauf, eine - bestimmte Änderungsmenge von einem Zweig auszuwählen und sie - auf einen anderen anzuwenden. Die Rosinen herauszupicken kann - sich auch darauf beziehen, eine bestimmte Menge von (nicht - notwendigerweise angrenzenden) Änderungsmengen von einem auf - einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu - den üblicheren Merge-Szenarien, bei denen der - nächste zusammenhängende Bereich von Revisionen - automatisch dupliziert wird. + Genauso oft wie der Begriff Änderungsmenge + wird der Ausdruck Rosinenpicken in + Versions-Kontroll-Systemen verwendet. Das bezieht sich darauf, + eine bestimmte Änderungsmenge von einem + Zweig auszuwählen und sie auf einen anderen anzuwenden. + Rosinenpicken kann sich auch darauf beziehen, eine bestimmte + Menge von (nicht notwendigerweise angrenzenden) + Änderungsmengen von einem auf einen anderen Zweig zu + duplizieren. Dieses Vorgehen steht im Gegensatz zu den üblicheren + Merge-Szenarien, bei denen der nächste + zusammenhängende Bereich von Revisionen automatisch dupliziert + wird. In der Kaffeeküche bekommen Sie mit, dass Sally eine - interessante Änderung an main.c auf dem - Stamm gemacht hat. Als Sie sich die Geschichte der Übergaben - auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413 - einen kritischen Fehler beseitigt hat, der direkte - Auswirkungen auf die Funktion hat, an der Sie gerade arbeiten. - Es kann sein, dass Sie noch nicht bereit sind, alle Änderungen - vom Stamm zu übernehmen, jedoch benötigen Sie diese bestimmte - Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu + interessante Änderung an main.c auf + Trunk gemacht hat. Als Sie sich die Geschichte der + Übertragungen auf Trunk ansehen, entdecken Sie, dass sie in + Revision 413 einen kritischen Fehler beseitigt hat, der + direkte Auswirkungen auf die Funktion hat, an der Sie gerade + arbeiten. Es kann sein, dass Sie noch nicht bereit sind, alle + Änderungen vom Stamm zu übernehmen, jedoch benötigen Sie diese + bestimmte Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu können. Sie können nun Ihre üblichen Tests durchführen, bevor Sie - diese Änderung an den Zweig übergeben. Nach der Übergabe + diese Änderung an den Zweig übertragen. Nach der Übertragung bringt Subversion das svn:mergeinfo ihres Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit dem Zweig zusammengeführt wurde. Das verhindert, dass künftige @@ -4009,7 +4008,7 @@ das Mergeinfo /calc/branches/my-calc-branch:341-379, Das wurde bei unserem in r380 gemachten Reintegrations-Merge nach - /calc/trunk vom Zweig + /calc/trunk vom Zweig /calc/branches/my-calc-branch aufgezeichnet. Als wir den Zweig my-calc-branch in r403 erstellt haben, wurde diese Mergeinfo mit der Kopie @@ -4063,14 +4062,14 @@ revision. Because we already cherrypicked r413, that change is skipped: --> - Das oben stehende bedeutet, wenn schließlich die Zeit für - einen automatischen Synchronisierungs-Merge gekommen ist, dass - Subversion den Merge in zwei Teile aufspaltet. Zunächst werden - alle in Frage kommenden Merges bis Revision 412 ausgeführt. - Dann werden alle in Frage kommenden Revisionen von Revision - 412 bis zur Revision HEAD ausgeführt. Da - wir uns bereits r413 herausgepickt haben, wird diese Änderung - übersprungen change is skipped: + Das oben stehende bedeutet, dass Subversion den Merge in + zwei Teile aufspaltet, wenn schließlich die Zeit für einen + automatischen Synchronisierungs-Merge gekommen ist. Zunächst + werden alle in Frage kommenden Merges bis Revision 412 + ausgeführt. Dann werden alle in Frage kommenden Revisionen + von Revision 412 bis zur Revision HEAD + zusammengeführt. Da wir uns bereits r413 herausgepickt haben, + wird diese Änderung übersprungen: @@ -4098,30 +4097,26 @@ - - - Merging - nachziehen - Dieser Anwendungsfall des Abgleichens (oder + Merging + nachziehen Dieser + Anwendungsfall des Abgleichens (oder Nachziehens) von Fehlerbehebungen von einem Zweig zu einem anderen ist vielleicht der gängigste Grund - für Änderungen, die Rosinen herauszupicken; es kommt ständig + des Rosinenpickens bei Änderungen; es kommt ständig vor, beispielsweise, wenn ein Team einen Software-Release-Zweig verwendet. (Wir - erörtern dieses Muster in .) + erörtern dieses Muster in + .) + - Die Rosinen herauspicken + Rosinenpicken - Merge-Syntax: Die vollständige Enthüllung + Merge-Syntax: Die vollständige Offenlegung Sie haben nun einige Beispiele zum Befehl svn merge gesehen und werden bald einige mehr sehen. - Falls Sie verwirrt darüber sind, wie das Zusammenführen genau - funktioniert, sind Sie nicht alleine. Viele Anwender - (besonders diejenigen, für die Versionskontrolle etwas Neues - ist) sind anfangs verwirrt darüber, wie die korrekte Syntax - des Befehls lautet und wann das Feature verwendet werden soll. - Aber, keine Angst, dieser Befehl ist tatsächlich viel - einfacher als Sie denken! Es gibt eine einfache Technik, die - verstehen hilft, wie sich svn merge genau - verhält. + Falls Sie verwirrt sind, wie das Zusammenführen genau + funktioniert, sind Sie nicht allein. Viele Anwender (besonders + diejenigen, für die Versionskontrolle etwas Neues ist) sind + anfangs verwirrt mit der korrekten Syntax des Befehls und wann + das Feature verwendet werden soll. Aber, keine Angst, dieser + Befehl ist tatsächlich viel einfacher als Sie denken! Es gibt + eine einfache Technik, zum genauen Verstehen des Verhaltens + von svn merge. Die Hauptquelle der Verwirrung ist der - Name des Befehls. Der Begriff + Name des Befehls. Der Begriff merge (Zusammenführung, Mischung) deutet irgendwie an, dass Zweige miteinander verschmolzen werden, oder dass irgendeine geheimnisvolle Mischung der Daten erfolgt. Das ist nicht der Fall. Ein besserer Name für den Befehl wäre vielleicht svn - ermittele-die-Unterschiede-und-wende-sie-an + ermittele-die-Unterschiede-und-wende-sie-an gewesen, da das alles ist, was passiert: Die Bäume im Projektarchiv werden verglichen und die Unterschiede in eine Arbeitskopie eingearbeitet. @@ -4280,7 +4279,7 @@ --> Falls Sie svn merge benutzen, um einfache Kopien von Änderungen zwischen Zweigen vorzunehmen, - wird ein automatische Merge üblicherweise das Richtige machen. + wird ein automatischer Merge üblicherweise das Richtige machen. Beispielsweise wird ein Befehl wie der folgende: @@ -4301,14 +4300,13 @@ --> versuchen, alle Änderungen, die auf some-branch gemacht worden sind, in Ihr - aktuelles Arbeitsverzeichnis zu kopieren, welches vermutlich - eine Arbeitskopie ist, die mit dem Zweig irgendeine - historische Verbindung teilt. Der Befehl ist klug genug, nur - die Änderungen zu kopieren, die Ihre Arbeitskopie noch nicht - hat. Wenn Sie diesen Befehl einmal die Woche wiederholen, wird - er nur die neuesten Änderungen vom Zweig - kopieren, die seit Ihrem letzten Zusammenführen - stattfanden. + aktuelles Arbeitsverzeichnis zu kopieren, das vermutlich eine + irgendeine mit dem Zweig historisch verbindene Arbeitskopie + ist. Der Befehl ist intelligent genug, nur die Änderungen zu + kopieren, die noch nicht in Ihrer Arbeitskopie sind. Wenn Sie + diesen Befehl einmal pro Woche wiederholen, wird er nur die + neuesten Änderungen vom Zweig kopieren, die + seit Ihrem letzten Merge stattfanden. Wenn Sie den Befehl svn merge in seiner ganzen Pracht wählen, indem Sie ihm bestimmte - Revisionsintervalle zum kopieren übergeben, benötigt der + Revisionsintervalle zum Kopieren übergeben, benötigt der Befehl drei Hauptargumente: @@ -4352,7 +4350,7 @@ An initial repository tree (often called the left side of the comparison) --> - Einen Anfangsbaum im Projektarchiv (häufig + Einen Startbaum im Projektarchiv (häufig linke Seite des Vergleichs genannt) @@ -4391,13 +4389,13 @@ --> Sobald diese drei Argumente angegeben sind, werden die zwei Bäume miteinander verglichen und die Unterschiede als - lokale Änderungen auf die Ziel-Arbeitskopie angewendet. Wenn - der Befehl fertig ist, sieht das Ergebnis so aus, als hätten + lokale Änderungen auf das Ziel angewendet. ist der Befehl + abgeschlodssen, sieht das Ergebnis so aus, als hätten Sie die Dateien manuell editiert oder verschiedene svn add- oder svn delete-Befehle ausgeführt. Wenn Ihnen das Ergebnis - gefällt, können Sie es übergeben. Falls nicht, können Sie - einfach mit svn revert alle Änderungen + gefällt, können Sie es übertragen. Falls nicht, können Sie + einfach alle Änderungen mit svn revert rückgängig machen. Obwohl das erste Beispiel die vollständige Syntax von svn merge zeigt, verwenden Sie - sie sehr sorgfältig; es können hierbei - Merges entstehen, bei denen keinerlei - svn:mergeinfo-Metadaten aufgezeichnet - werden. Der nächste Abschnitt geht näher darauf ein. + sie sehr sorgfältig; es können hierbei Merges entstehen, bei + denen keinerlei svn:mergeinfo-Metadaten + aufgezeichnet werden. Der nächste Abschnitt geht näher darauf + ein. @@ -4479,7 +4477,7 @@ --> Subversion versucht immer wenn es kann, Metadaten über das Zusammenführen zu erzeugen, um spätere Aufrufe von - svn merge schlauer zu machen. Trotzdem + svn merge klüger zu machen. Trotzdem gibt es Situationen, in denen svn:mergeinfo-Daten nicht erzeugt oder geändert werden. Denken Sie daran, vor diesen Szenarien auf @@ -4534,8 +4532,7 @@ historischen Metadaten über die Zusammenführung. Zum gegenwärtigen Zeitpunkt hat Subversion keine Möglichkeit, unterschiedliche Projektarchiv-URLs - innerhalb der Eigenschaft - svn:mergeinfo zu + mit Eigenschaft svn:mergeinfo zu repräsentieren. @@ -4558,8 +4555,8 @@ Wenn diese Option an svn merge übergeben wird, veranlasst das die Merge-Logik, ohne nachzudenken Unterschiede auf dieselbe Art zu erzeugen, - wie es svn diff macht, und ignoriert - dabei irgendwelche historischen Verbindungen. Wir werden + wie es svn diff macht und ignoriert + dabei irgendwelche historischen Verbindungen. Wir werden das später in diesem Kapitel in erörtern. @@ -4739,7 +4736,7 @@ --> Implizite Mergeinfo taucht nicht wirklich in der Eigenschaft svn:mergeinfo auf, doch - Subversion handelt so, als tauchte sie dort auf. Das ist + Subversion handelt so, als tauchte sie dort auf. Das ist der Grund dafür, dass nichts passiert, wenn Sie ^/branches/feature-branch auschecken und dann svn merge ^/trunk -c 58 in From svnbook at googlecode.com Mon Feb 23 12:08:48 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 18:08:48 +0000 Subject: [svnbook] r4996 committed - Add new (in SVN 1.8) `--search` and `--search-and` command-line... Message-ID: <20cf30363fc533912c050fc54b8e@google.com> Revision: 4996 Author: cmpilato at gmail.com Date: Mon Feb 23 18:08:27 2015 UTC Log: Add new (in SVN 1.8) `--search` and `--search-and` command-line options (can be used with `svn log`) to svn command-line reference: http://subversion.apache.org/docs/release-notes/1.8.html#svn-log-search Patch by: pavel.lyalyakin{_AT_}visualsvn.com (Tweaked by me.) https://code.google.com/p/svnbook/source/detail?r=4996 Modified: /trunk/en/book/ref-svn.xml ======================================= --- /trunk/en/book/ref-svn.xml Wed Feb 13 21:11:19 2013 UTC +++ /trunk/en/book/ref-svn.xml Mon Feb 23 18:08:27 2015 UTC @@ -847,11 +847,76 @@ + + ARG + + Filters log messages to show only those that match + the search pattern ARG. Log + messages are displayed only if the provided search + pattern matches any of the author, date, log message + text (unless is used), or, if + the option is also provided, + a changed path. If multiple + options are provided, a log message is shown if it + matches any of the provided search patterns. If + is used, it restricts the + number of log messages searched, rather than + restricting the output to a particular number of + matching log messages. + + The search pattern may include "glob syntax" + wildcards: + + + + + ? + + + Matches any single character. + + + + + * + + + Matches a sequence of arbitrary characters. + + + + + [ABC] + + + Matches any of the characters listed inside the + brackets. + + + + + + + + + ARG + + + The option's argument is combined with the pattern from + the previous + or option on the command + line. Log message is shown only if it matches the + combined search pattern. + + + + - ARG + + ARG - Sets the sticky depth on a directory in a working - copy to one of exclude, empty, + Sets the sticky depth on a directory in a working copy + to one of exclude, empty, files, immediates, or infinity. For detailed coverage of what these mean and how to use this option, see @@ -3429,6 +3494,8 @@ + + @@ -3728,6 +3795,106 @@ and (). + + Beginning with Subversion 1.8, users can filter svn log + output using and + options. When using these options, a log message is shown only if a + revision's author, date, log message text, or list of changed paths, + matches a search pattern. Searching by changed patch requies + option, otherwise svn log + does not show changed paths therefore they can't be filtered. + + + The search pattern may include "glob syntax" + wildcards: + + + + + ? + + + + Matches any single character. + + + + + + * + + + + Matches a sequence of arbitrary + characters. + + + + + + [ABC] + + + + Matches any of the characters listed inside the brackets. + + + + + + Using multiple parameters will show log messages + that match the pattern specified at least in one of the options. For example: + + + +$ svn log --search sally --search harry https://svn.red-bean.com/repos/test +------------------------------------------------------------------------ +r1701 | sally | 2011-10-12 22:35:30 -0600 (Wed, 12 Oct 2011) | 1 line + +Add a reminder. +------------------------------------------------------------------------ +r1564 | harry | 2011-10-09 22:35:30 -0600 (Sun, 09 Oct 2011) | 1 line + +Merge r1560 to the 1.0.x branch. +------------------------------------------------------------------------ +$ + + + + Using with options will show log messages + that match the combined pattern from both options. For example: + + + +$ svn log --verbose --search sally --search-and /foo/bar https://svn.red-bean.com/repos/test +------------------------------------------------------------------------ +r1555 | sally | 2011-07-15 22:33:14 -0600 (Fri, 15 Jul 2011) | 1 line +Changed paths: +M /foo/bar/src.c + +Typofix. +------------------------------------------------------------------------ +r1530 | sally | 2011-07-13 07:24:11 -0600 (Wed, 13 Jul 2011) | 1 line +Changed paths: +M /foo/bar +M /foo/build + +Fix up some svn:ignore properties. +------------------------------------------------------------------------ +$ + + + + + and + options does not actually perform a search. They just filter + the svn log output to display only log + messages that match the specified pattern. Therefore, if + is used, it restricts the number + of log messages searched, rather than restricting the + output to a particular number of matching log messages. + + From cmpilato at gmail.com Mon Feb 23 12:17:41 2015 From: cmpilato at gmail.com (C. Michael Pilato) Date: Mon, 23 Feb 2015 13:17:41 -0500 Subject: [PATCH] SVNBook 1.8: `svndumpfilter` now supports deltified dumps (dumps created with `--deltas` option) In-Reply-To: References: Message-ID: <54EB6EC5.6050906@gmail.com> On 02/19/2015 09:38 AM, Pavel Lyalyakin wrote: > Hello, > > `svndumpfilter` of SVN 1.7 or older does not work with deltified dump files. In > SVN 1.8, `svndumpfilter` can filter such dumps. This patch makes a note in > `svnadmin dump` command-line reference that SVN 1.8 and newer can filter > deltified dumps while older versions can't. > > Log message: > [[ > Made a note that `svndumpfilter` in SVN 1.8 can operate with deltified dumps > (`--deltas`) in `svnadmin dump` command-line reference. > > * http://subversion.apache.org/docs/release-notes/1.8.html#svndumpfilter-deltas > > Patch by: pavel.lyalyakin{_AT_}visualsvn.com > ]] Committed in r4998. I've had to modify each of your patches to avoid extra whitespace around tags. Our convention is to do: Some text. rather than: Some text. It's a minor thing, but the consistency is one fewer distraction for the OCD-ish among us. :-) Thanks for your patches! From svnbook at googlecode.com Mon Feb 23 12:22:51 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 18:22:51 +0000 Subject: [svnbook] r4999 committed - Reword the description of 'svnadmin lock'. Message-ID: <001a11c1dfae79486a050fc57dfc@google.com> Revision: 4999 Author: cmpilato at gmail.com Date: Mon Feb 23 18:22:28 2015 UTC Log: Reword the description of 'svnadmin lock'. https://code.google.com/p/svnbook/source/detail?r=4999 Modified: /trunk/en/book/ref-svnadmin.xml ======================================= --- /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:15:22 2015 UTC +++ /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:22:28 2015 UTC @@ -883,8 +883,10 @@ Description Lock PATH-IN-REPOS in the - repository (as USERNAME) taking - comments from FILE. If provided, + repository, assigning ownership of the lock + to USERNAME and using the contents + of FILE as comments associated with + the created lock. If provided, use TOKEN as lock token. From svnbook at googlecode.com Mon Feb 23 12:15:33 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 18:15:33 +0000 Subject: [svnbook] r4998 committed - Made a note that `svndumpfilter` in SVN 1.8 can operate with deltified... Message-ID: <001a113816485f9201050fc5630a@google.com> Revision: 4998 Author: cmpilato at gmail.com Date: Mon Feb 23 18:15:22 2015 UTC Log: Made a note that `svndumpfilter` in SVN 1.8 can operate with deltified dumps (`--deltas`) in `svnadmin dump` command-line reference. * http://subversion.apache.org/docs/release-notes/1.8.html#svndumpfilter-deltas Patch by: pavel.lyalyakin{_AT_}visualsvn.com (Tweaked by me.) https://code.google.com/p/svnbook/source/detail?r=4998 Modified: /trunk/en/book/ref-svnadmin.xml ======================================= --- /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:12:29 2015 UTC +++ /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:15:22 2015 UTC @@ -511,11 +511,20 @@ some cases, drastically) the size of the dump file that svnadmin dump creates. There are, however, disadvantages to using this option—deltified - dump files are more CPU-intensive to create, cannot be - operated on by svndumpfilter, and tend + dump files are more CPU-intensive to create and tend not to compress as well as their nondeltified counterparts when using third-party tools such as gzip and bzip2. + + + Beginning with Subversion 1.8, + svndumpfilter can operate on deltified + dump streams. Prior to this release, + svndumpfilter would not work with dump + streams created using + option. + + From svnbook at googlecode.com Mon Feb 23 12:12:40 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 18:12:40 +0000 Subject: [svnbook] r4997 committed - Add `svnadmin lock` and `svnadmin unlock` commands introduced in... Message-ID: <001a11c1dcdc08862e050fc559dc@google.com> Revision: 4997 Author: cmpilato at gmail.com Date: Mon Feb 23 18:12:29 2015 UTC Log: Add `svnadmin lock` and `svnadmin unlock` commands introduced in Subversion 1.8 to `svnadmin` reference. * http://subversion.apache.org/docs/release-notes/1.8.html#svnadmin-lock * `svnadmin lock`: http://subversion.tigris.org/issues/show_bug.cgi?id=3942 * `svnadmin unlock`: http://subversion.tigris.org/issues/show_bug.cgi?id=4092 Patch by: pavel.lyalyakin{_AT_}visualsvn.com (Tweaked by me.) https://code.google.com/p/svnbook/source/detail?r=4997 Modified: /trunk/en/book/ref-svnadmin.xml ======================================= --- /trunk/en/book/ref-svnadmin.xml Wed Feb 13 21:11:19 2013 UTC +++ /trunk/en/book/ref-svnadmin.xml Mon Feb 23 18:12:29 2015 UTC @@ -847,6 +847,50 @@ + + + + + + + svnadmin + subcommands + lock + + + + svnadmin lock + Lock path in the repository directly. + + + + svnadmin lock REPOS_PATH PATH-IN-REPOS USERNAME FILE + [TOKEN] + + + + + + Description + + Lock PATH-IN-REPOS in the + repository (as USERNAME) taking + comments from FILE. If provided, + use TOKEN as lock token. + + + + + + Options + + + + + + + + @@ -1412,6 +1456,48 @@ As you can see, svnadmin setuuid has no output upon success. + + + + + + + + + svnadmin + subcommands + unlock + + + + svnadmin unlock + Unlock path in the repository directly. + + + + svnadmin unlock REPOS_PATH LOCKED_PATH USERNAME + TOKEN + + + + + Description + + Unlock LOCKED_PATH in the + repository (as USERNAME) after + verifying that the token associated with the lock + matches TOKEN. + + + + + + Options + + + + + From svnbook at googlecode.com Mon Feb 23 14:14:42 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 20:14:42 +0000 Subject: [svnbook] r5000 committed - Fix issue 228: Dubious "svn merge" output. Reported by gan.ainm.riomh... Message-ID: <001a113816487896c0050fc70d5b@google.com> Revision: 5000 Author: cmpilato at gmail.com Date: Mon Feb 23 20:14:18 2015 UTC Log: Fix issue 228: Dubious "svn merge" output. Reported by gan.ainm.riomhphost. * en/book/ch04-branching-and-merging.xml Fix the output of a 2-URL 'svn merge'. https://code.google.com/p/svnbook/source/detail?r=5000 Modified: /trunk/en/book/ch04-branching-and-merging.xml ======================================= --- /trunk/en/book/ch04-branching-and-merging.xml Fri Mar 28 14:22:50 2014 UTC +++ /trunk/en/book/ch04-branching-and-merging.xml Mon Feb 23 20:14:18 2015 UTC @@ -4628,7 +4628,7 @@ $ cd libcomplex-custom $ svn merge ^/vendor/libcomplex-1.0.0 \ ^/vendor/libcomplex-1.0.1 ---- Merging differences between URLs into '.': +--- Merging differences between repository URLs into '.': U src/code.h C src/code.c U README From svnbook at googlecode.com Mon Feb 23 14:30:03 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 20:30:03 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <4-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <4-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <5-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Updates: Labels: -Milestone-en-1.6 Milestone-en-1.8 Comment #5 on issue 228 by cmpilato: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 (No comment was entered for this change.) -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From svnbook at googlecode.com Mon Feb 23 14:15:42 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 23 Feb 2015 20:15:42 +0000 Subject: Issue 228 in svnbook: Dubious "svn merge" output In-Reply-To: <3-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> References: <3-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Message-ID: <4-7155889305988986295-15718121111421495438-svnbook=googlecode.com@googlecode.com> Updates: Status: Fixed Comment #4 on issue 228 by cmpilato: Dubious "svn merge" output https://code.google.com/p/svnbook/issues/detail?id=228 Sending trunk/en/book/ch04-branching-and-merging.xml Transmitting file data . Committed revision 5000. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From cmpilato at gmail.com Mon Feb 23 12:15:55 2015 From: cmpilato at gmail.com (C. Michael Pilato) Date: Mon, 23 Feb 2015 13:15:55 -0500 Subject: [PATCH] SVNBook 1.8: New `svn log` filtering with `--search` and `--search-and` options In-Reply-To: References: Message-ID: <54EB6E5B.40709@gmail.com> On 02/19/2015 08:59 AM, Pavel Lyalyakin wrote: > Hello, > > Here is another patch; I'd greatly appreciate if you could review it. > > Adding `svn log --search ARG` and `svn log --search ARG --search-and ARG` to svn > command-line reference. > > Log message: > [[ > Add new (in SVN 1.8) `--search` and `--search-and` command-line options (can be > used with `svn log`) to svn command-line reference: > * http://subversion.apache.org/docs/release-notes/1.8.html#svn-log-search > > Patch by: pavel.lyalyakin{_AT_}visualsvn.com > ]] Committed in r4996. Thanks! From cmpilato at red-bean.com Mon Feb 23 12:18:38 2015 From: cmpilato at red-bean.com (C. Michael Pilato) Date: Mon, 23 Feb 2015 13:18:38 -0500 Subject: [PATCH] SVNBook 1.8: add `svnadmin lock` and `svnadmin unlock` commands to `svnadmin` reference In-Reply-To: References: Message-ID: Committed in r4997. Thanks! On Wed, Feb 18, 2015 at 11:48 AM, Pavel Lyalyakin < pavel.lyalyakin at visualsvn.com> wrote: > Hello, > > I'm looking through the current state of SVNBook 1.8 and through > Subversion 1.8 > Release Notes and see that a lot of minor features and improvements are not > mentioned in the book. > > I would like to participate in updating the book to cover Subversion 1.8 > so let > me start with a small patch that specifies new `svnadmin lock` and > `svnadmin > unlock` sub-commands. > > Log message: > [[ > Add `svnadmin lock` and `svnadmin unlock` commands introduced in > Subversion 1.8 > to `svnadmin` reference. > > * http://subversion.apache.org/docs/release-notes/1.8.html#svnadmin-lock > * `svnadmin lock`: > http://subversion.tigris.org/issues/show_bug.cgi?id=3942 > * `svnadmin unlock`: > http://subversion.tigris.org/issues/show_bug.cgi?id=4092 > > Patch by: pavel.lyalyakin{_AT_}visualsvn.com > ]] > > -- > With best regards, > Pavel Lyalyakin > VisualSVN Team > > _______________________________________________ > svnbook-dev mailing list > svnbook-dev at red-bean.com > http://www.red-bean.com/mailman/listinfo/svnbook-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From svnbook at googlecode.com Tue Feb 24 00:48:51 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 24 Feb 2015 06:48:51 +0000 Subject: =?ISO-8859-1?Q?=5Bsvnbook=5D_r5001_committed_=2D_=5Bde=5D_Changed_=22=FCbergeben?= =?ISO-8859-1?Q?=22_to_=22=FCbertragen=22_to_concur_with_Subversions=2E=2E=2E?= Message-ID: Revision: 5001 Author: jmfelderhoff at gmx.eu Date: Tue Feb 24 06:48:19 2015 UTC Log: [de] Changed "übergeben" to "übertragen" to concur with Subversions German locale output. https://code.google.com/p/svnbook/source/detail?r=5001 Modified: /branches/1.8/de/book/appa-quickstart.xml /branches/1.8/de/book/appb-svn-for-cvs-users.xml /branches/1.8/de/book/appc-webdav.xml /branches/1.8/de/book/ch01-fundamental-concepts.xml /branches/1.8/de/book/ch02-basic-usage.xml /branches/1.8/de/book/ch04-branching-and-merging.xml /branches/1.8/de/book/ch05-repository-admin.xml /branches/1.8/de/book/ch06-server-configuration.xml /branches/1.8/de/book/ch07-customizing-svn.xml /branches/1.8/de/book/ch08-embedding-svn.xml /branches/1.8/de/book/ref-svn.xml /branches/1.8/de/book/ref-svnmucc.xml ======================================= --- /branches/1.8/de/book/appa-quickstart.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/appa-quickstart.xml Tue Feb 24 06:48:19 2015 UTC @@ -486,7 +486,7 @@ version of your file to the repository. --> Rufen Sie svn commit auf, um die - neue Version Ihrer Datei an das Projektarchiv zu übergeben. + neue Version Ihrer Datei an das Projektarchiv zu übertragen. ======================================= --- /branches/1.8/de/book/appb-svn-for-cvs-users.xml Tue Nov 25 15:14:00 2014 UTC +++ /branches/1.8/de/book/appb-svn-for-cvs-users.xml Tue Feb 24 06:48:19 2015 UTC @@ -224,7 +224,7 @@ bestimmte Ansammlung von Verzeichniseinträgen und Eigenschaften. Angenommen, wir beginnen nun damit, Dateien dem Verzeichnis foo hinzuzufügen und wegzunehmen und diese - Änderungen dann zu übergeben. Es wäre eine Lüge, zu behaupten, + Änderungen dann zu übertragen. Es wäre eine Lüge, zu behaupten, dass wir immer noch Revision 5 von foo hätten. Wenn wir allerdings die Revisionsnummer von foo nach der Übergabe erhöht hätten, wäre @@ -244,7 +244,7 @@ contain imperfect directory revisions. --> Subversion behandelt dieses Problem, indem es - stillschweigend übergebene Hinzufügungen sowie Löschungen im + stillschweigend übertragene Hinzufügungen sowie Löschungen im .svn-Bereich mitverfolgt. Wenn Sie schließlich svn update aufrufen, wird alles in Bezug auf das Projektarchiv glattgezogen und die neue @@ -267,12 +267,12 @@ --> Auf ähnliche Art ergibt sich ein Problem, wenn Sie versuchen, Eigenschafts-Änderungen an einem Verzeichnis zu - übergeben. Normalerweise würde die Übergabe die lokale + übertragen. Normalerweise würde die Übergabe die lokale Revisionsnummer erhöhen, was jedoch eine Lüge wäre, da Hinzufügungen oder Löschungen vorhanden sein könnten, die das Verzeichnis noch nicht mitbekommen hat, da es nicht aktualisiert worden ist. Deshalb dürfen Sie Änderungen an - Verzeichnis-Eigenschaften nicht übergeben, bevor Sie das Verzeichnis + Verzeichnis-Eigenschaften nicht übertragen, bevor Sie das Verzeichnis aktualisiert haben. Die Datei im Arbeitsverzeichnis ist unverändert, und keinerlei Änderungen an der Datei sind seit der - Arbeitsrevision an das Projektarchiv übergeben worden. Ein + Arbeitsrevision an das Projektarchiv übertragen worden. Ein svn commit der Datei würde nichts machen, und ein svn update der Datei auch nicht. @@ -1582,9 +1582,9 @@ --> Die Datei wurde im Arbeitsverzeichnis geändert, und keinerlei Änderungen an der Datei sind seit der letzten - Aktualisierung an das Projektarchiv übergeben worden. Es + Aktualisierung an das Projektarchiv übertragen worden. Es gibt lokale Änderungen, die noch nicht an das Projektarchiv - übergeben worden sind, so dass ein svn + übertragen worden sind, so dass ein svn commit der Datei Ihre Änderungen erfolgreich veröffentlichen würde, und ein svn update der Datei nichts tun würde. @@ -2098,7 +2098,7 @@ eine Aktion, die in das Projektarchiv schreibt keine Aktion zur Folge hat, die aus dem Projektarchiv liest und umgekehrt. Wenn Sie bereit sind, neue Änderungen an das - Projektarchiv zu übergeben, heißt das noch lange nicht, + Projektarchiv zu übertragen, heißt das noch lange nicht, dass Sie auch die Änderungen anderer haben möchten. Und wenn Sie noch an Änderungen arbeiten, sollte svn update elegant die Änderungen aus dem @@ -2314,7 +2314,7 @@ destroying changes you've not yet seen. --> Erstens kann die Löschung einer Datei oder eines - Verzeichnisses nicht an das Projektarchiv übergeben werden, + Verzeichnisses nicht an das Projektarchiv übertragen werden, wenn die Datei oder das Verzeichnis nicht ganz aktuell ist. Falls eine neuere Version im Projektarchiv existiert, wird Ihr Löschversuch abgelehnt, um zu vermeiden, dass Sie @@ -2331,7 +2331,7 @@ destroy properties you've not yet seen. --> Zweitens können Sie keine Änderungen an Metadaten eines - Verzeichnisses an das Projektarchiv übergeben, wenn das + Verzeichnisses an das Projektarchiv übertragen, wenn das Verzeichnis nicht ganz aktuell ist. In werden Sie lernen, wie man Eigenschaften an Objekte hängt. Die ======================================= --- /branches/1.8/de/book/ch02-basic-usage.xml Wed Dec 17 08:26:21 2014 UTC +++ /branches/1.8/de/book/ch02-basic-usage.xml Tue Feb 24 06:48:19 2015 UTC @@ -863,7 +863,7 @@ --> Sofern Sie nicht bereit sind, das Hinzufügen einer neuen Datei oder eines neuen Verzeichnisses oder Änderungen an - bestehenden Objekten an das Projektarchiv zu übergeben, besteht + bestehenden Objekten an das Projektarchiv zu übertragen, besteht keine Notwendigkeit, dem Subversion-Server mitzuteilen, dass Sie irgendetwas gemacht haben. @@ -1066,7 +1066,7 @@ create the newest versions of all the things you modified. Now others can see your work, too! --> - Veröffentlichen (übergeben) Sie Ihre + Veröffentlichen (übertragen) Sie Ihre Änderungen. Der Befehl svn commit überträgt Ihre Änderungen in das Projektarchiv, in dem sie, falls sie angenommen werden, die @@ -1149,7 +1149,7 @@ --> In diesem Fall sieht es so aus, dass jemand Änderungen sowohl an foo.c als auch an - bar.c übergeben hat, seit Sie das letzte + bar.c übertragen hat, seit Sie das letzte Mal aktualisiert haben, und Subversion hat Ihre Arbeitskopie aktualisiert, damit sie beide Änderungen enthält. @@ -1232,7 +1232,7 @@ oder Verschieben einzuplanen. Diese Änderungen können sofort in Ihrer Arbeitskopie stattfinden, jedoch wird im Projektarchiv nichts hinzugefügt oder gelöscht bevor Sie - die Änderungen übergeben haben. + die Änderungen übertragen haben. - Wenn ein Symlink in Subversion übergeben wird, merkt + Wenn ein Symlink in Subversion übertragen wird, merkt sich Subversion sowohl, dass die Datei eigentlich ein Symlink ist, als auch das Objekt, auf das der Symlink zeigt. Wenn dieser Symlink auf einem @@ -1340,7 +1340,7 @@ Verwenden Sie diesen Befehl, um die Datei, das Verzeichnis oder den symbolischen Link FOO zum Hinzufügen in das - Projektarchiv vormerken. Wenn Sie das nächste Mal übergeben, + Projektarchiv vormerken. Wenn Sie das nächste Mal übertragen, wird FOO ein Kind seines Elternverzeichnisses. Beachten Sie, dass alles unterhalb von FOO zum Hinzufügen vorgemerkt @@ -1388,7 +1388,7 @@ Arbeitskopie entfernt, falls es eine Datei oder ein Link ist. Falls FOO ein Verzeichnis ist, wird es nicht gelöscht, sondern zum Löschen vorgemerkt. - Wenn Sie Ihre Änderungen übergeben, wird das gesamte + Wenn Sie Ihre Änderungen übertragen, wird das gesamte Verzeichnis FOO aus der Arbeitskopie und dem Projektarchiv entfernt. Selbstverständlich wird nichts jemals @@ -1552,9 +1552,9 @@ der Hauptvorteil einer Arbeitskopie darin, dass sie sich als eine Art Bereitstellungsraum verwenden lässt. Sie können sicherstellen, dass die Änderungen, die Sie - übergeben möchten, im Gesamtzusammenhang Ihres Projektes + übertragen möchten, im Gesamtzusammenhang Ihres Projektes einen Sinn ergeben, bevor sie tatsächlich in das - Projektarchiv übergeben werden. Und selbstverständlich + Projektarchiv übertragen werden. Und selbstverständlich können diese vorbereiteten Änderungen so einfach oder so kompliziert wie notwendig sein, und dennoch bei der Übergabe in einer einzigen neuen Revision münden. @@ -1598,7 +1598,7 @@ anzusehen. Dadurch, dass Sie die Änderungen noch einmal begutachten, können Sie eine genauere Protokollnachricht schreiben (eine - menschenlesbare Beschreibung der übergebenen Änderungen, die + menschenlesbare Beschreibung der übertragenen Änderungen, die neben ihnen im Projektarchiv gespeichert wird). Es könnte auch sein, dass Sie feststellen, versehentlich eine Datei geändert zu haben, und dass Sie vor der Übergabe diese Änderung @@ -1828,7 +1828,7 @@ Ihrer Arbeitskopie haben (und konnten beim Aktualisieren nicht automatisch aufgelöst werden). Sie müssen den Konflikt auflösen, bevor Sie Ihre - Änderungen in das Projektarchiv übergeben können. + Änderungen in das Projektarchiv übertragen können. @@ -2176,7 +2176,7 @@ handelt, die Unterschiede an einer oder mehreren Dateien beschreiben. Daher können Sie die in Ihrer Arbeitskopie vorgenommenen Änderungen mit jemanden teilen, ohne die - Änderungen erst übergeben zu müssen, indem Sie aus der + Änderungen erst übertragen zu müssen, indem Sie aus der umgeleiteten Ausgabe des Befehls svn diff eine Patch-Datei erzeugen: @@ -2485,7 +2485,7 @@ bar.c hineinzubringen, festgestellt hat, dass einige dieser Änderungen mit lokalen Änderungen kollidieren, die Sie an dieser Datei in Ihrer Arbeitskopie - vorgenommen, jedoch noch nicht übergeben haben. Vielleicht hat + vorgenommen, jedoch noch nicht übertragen haben. Vielleicht hat jemand dieselbe Textzeile wie Sie geändert. Wie dem auch sei, Subversion markiert diese Datei umgehend als konfliktbehaftet. Dann fragt es Sie, wie Sie mit diesem Problem umgehen möchten, @@ -3252,7 +3252,7 @@ An dieser Stelle erlaubt Subversion Sally nicht, die Datei sandwich.txt an das Projektarchiv zu - übergeben, solange die drei temporären Dateien nicht + übertragen, solange die drei temporären Dateien nicht entfernt werden: @@ -3518,7 +3518,7 @@ bekommt.Und wenn Sie danach fragen, wird man Sie wahrscheinlich auf einer Schiene aus der Stadt tragen. Sobald Sie sich über die zu - übergebenden Änderungen einig sind, können Sie Ihre Datei + übertragenden Änderungen einig sind, können Sie Ihre Datei bearbeiten und die Konfliktmarken entfernen: @@ -3542,7 +3542,7 @@ --> Verwenden Sie jetzt svn resolve, und Sie sind bereit, Ihre Änderungen an das Projektarchiv zu - übergeben: + übertragen: @@ -3715,7 +3715,7 @@ --> Endlich! Sie haben die Bearbeitung abgeschlossen, Sie haben alle Änderungen vom Server eingearbeitet, und Sie sind - bereit, Ihre Änderungen an das Projektarchiv zu übergeben. + bereit, Ihre Änderungen an das Projektarchiv zu übertragen. Der Befehl svn commit schickt all Ihre Änderungen zum Projektarchiv. Wenn Sie eine Änderung - übergeben, müssen Sie einen Protokolleintrag erstellen, der + übertragen, müssen Sie einen Protokolleintrag erstellen, der die Änderung beschreibt. Dieser Eintrag wird mit der von Ihnen erzeugten neuen Revision verknüpft. Wenn Ihr Eintrag kurz ist, können Sie ihn mit der Option @@ -3917,7 +3917,7 @@ going into it. --> Ihr Subversion-Projektarchiv ist wie eine Zeitmaschine. Es legt - einen Eintrag für jede jemals übergebene Änderung an und erlaubt + einen Eintrag für jede jemals übertragene Änderung an und erlaubt Ihnen, diese Geschichte durch die Untersuchung sowohl ehemaliger Datei- und Verzeichnisversionen als auch der begleitenden Metadaten zu erforschen. Mit einem einzigen Subversion-Befehl @@ -4115,7 +4115,7 @@ repository: --> Wird eine einzelne Nummer mit - () übergeben, wird die Arbeitskopie mit + () übertragen, wird die Arbeitskopie mit der angegebenen Revision im Projektarchiv verglichen: @@ -4153,7 +4153,7 @@ --> Werden zwei Revisionsnummern durch einen Doppelpunkt getrennt mit - () übergeben, werden die beiden + () übertragen, werden die beiden Revisionen direkt miteinander verglichen: @@ -4374,7 +4374,7 @@ Why Does svn log Not Show Me What I Just Committed? --> - Warum zeigt mir svn log nicht, was ich gerade übergeben + <title>Warum zeigt mir svn log nicht, was ich gerade übertragen habe? - Wenn Sie Ihre Änderungen an das Projektarchiv übergeben und + Wenn Sie Ihre Änderungen an das Projektarchiv übertragen und sofort svn log ohne Argumente eingeben, wird Ihnen vielleicht auffallen, dass Ihre letzte Änderung nicht in der Liste der Protokolleinträge auftaucht. Das liegt an der Kombination des Verhaltens von svn commit und dem Standardverhalten von svn log. Wenn Sie Änderungen an das - Projektarchiv übergeben, erhöht svn zunächst + Projektarchiv übertragen, erhöht svn zunächst nur die Revision der Dateien (und Verzeichnisse) die es übernimmt, so dass das Elternverzeichnis normalerweise auf der älteren Revision verbleibt (siehe svn log holt dann standardmäßig die Geschichte des Verzeichnisses in der gegenwärtigen Revision, und so kommt es, dass Sie die - neu übergebenen Änderungen nicht sehen. Die Lösung besteht + neu übertragenen Änderungen nicht sehen. Die Lösung besteht entweder in einer Aktualisierung Ihrer Arbeitskopie oder indem Sie dem Befehl svn log ausdrücklich mit der Option @@ -4972,9 +4972,9 @@ --> Viele Subversion-Neulinge versuchen das vorangehende svn update-Beispiel zu verwenden, um - übergebene Änderungen rückgängig zu machen, + übertragene Änderungen rückgängig zu machen, was allerdings nicht funktioniert, da Sie keine Änderungen - übergeben können, die Sie durch das zeitliche Zurücksetzen + übertragen können, die Sie durch das zeitliche Zurücksetzen einer Arbeitskopie erhalten haben, falls die geänderten Dateien neuere Revisionen haben. Siehe für eine @@ -5256,10 +5256,10 @@ Dateiinhalten gesprochen. Wenn Sie und Ihre Mitarbeiter überlappende Änderungen innerhalb derselben Datei vornehmen, zwingt Sie Subversion dazu, diese Änderungen zusammenzuführen, - bevor Sie sie übergeben können.Natürlich + bevor Sie sie übertragen können.Natürlich könnten Sie Dateien, die Konfliktmarkierungen enthalten, als konfliktfrei erklären und - übergeben, wenn Sie es wirklich wollten, doch das wird in der + übertragen, wenn Sie es wirklich wollten, doch das wird in der Praxis kaum gemacht. bar.c heißt nun Opfer eines - Baumkonfliktes. Sie kann nicht übergeben werden, bevor der + Baumkonfliktes. Sie kann nicht übertragen werden, bevor der Konflikt aufgelöst wird: @@ -5932,7 +5932,7 @@ the extra work he caused for you. --> Sie haben nun Ihren ersten Baumkonflikt aufgelöst! Sie - können Ihre Änderungen übergeben und Harry in der Kaffeepause + können Ihre Änderungen übertragen und Harry in der Kaffeepause erzählen, welche Mehrarbeit er Ihnen bereitet hat. ======================================= --- /branches/1.8/de/book/ch04-branching-and-merging.xml Fri Feb 20 16:38:24 2015 UTC +++ /branches/1.8/de/book/ch04-branching-and-merging.xml Tue Feb 24 06:48:19 2015 UTC @@ -250,7 +250,7 @@ beseitigt. Sallys Arbeit hängt davon ab, dass die letzte Version des Projektes (in /calc/trunk) stets benutzbar ist. Wenn Sie nun damit beginnen, Stück für Stück Ihre - Änderungen zu übergeben, werden Sie die Dinge für Sally (und + Änderungen zu übertragen, werden Sie die Dinge für Sally (und auch für andere Teammitglieder) bestimmt in Unordnung bringen. @@ -281,7 +281,7 @@ Eine Strategie wäre es, sich in ein Loch zu verkriechen: Sie können für eine Woche oder zwei den Informationsaustausch einstellen, und die Dateien Ihrer Arbeitskopie ausräumen und - umorganisieren, ohne Änderungen zu übergeben oder die + umorganisieren, ohne Änderungen zu übertragen oder die Arbeitskopie zu aktualisieren, bevor Sie mit Ihrer Arbeit vollständig fertig sind. Das wirft allerdings einige Probleme auf. Erstens ist das nicht sehr sicher. Falls Ihrer Arbeitskopie @@ -301,7 +301,7 @@ Änderungen fertig sind, sehr schwierig sein, Ihr Arbeitsergebnis wieder mit dem Hauptteil der Quelltexte Ihrer Firma zusammenzuführen. Sally (und andere) hätten viele andere - Änderungen ins Projektarchiv übergeben haben können, die sich + Änderungen ins Projektarchiv übertragen haben können, die sich schwer in Ihre Arbeitskopie einarbeiten lassen, wenn Sie schließlich nach Wochen der Isolierung svn update ausführen. @@ -627,7 +627,7 @@ --> An dieser Arbeitskopie ist nichts besonders; sie spiegelt bloß ein anderes Verzeichnis im Projektarchiv wider. Wenn Sie - Änderungen übergeben, wird sie Sally jedoch nicht sehen, wenn + Änderungen übertragen, wird sie Sally jedoch nicht sehen, wenn sie aktualisiert, da sie eine Arbeitskopie von /calc/trunk hat. (Stellen Sie sicher, dass Sie weiter @@ -3278,7 +3278,7 @@ rückgängig zu machen, und versuchen Sie den Befehl erneut mit unterschiedlichen Optionen. Der Abgleich ist solange nicht endgültig, bis Sie mit svn commit das - Ergebnis übergeben. + Ergebnis übertragen. @@ -3307,15 +3307,15 @@ --> Sehr häufig wird svn merge verwendet, um eine Änderung rückgängig zu machen, die bereits an das - Projektarchiv übergeben worden war. Nehmen wir einmal an, Sie + Projektarchiv übertragen worden war. Nehmen wir einmal an, Sie arbeiten fröhlich in einer Arbeitskopie von /calc/trunk und entdecken, dass die damaligen Änderungen an verschiedenen Quelltext-Dateien in - Revision 392 völlig falsch waren. Sie hätten nie übergeben + Revision 392 völlig falsch waren. Sie hätten nie übertragen werden sollen. Sie können svn merge verwenden, um die Änderung in Ihrer Arbeitskopie zurückzunehmen, und dann die lokale Änderung an - das Projektarchiv übergeben. Sie müssen hierfür nur eine + das Projektarchiv übertragen. Sie müssen hierfür nur eine umgekehrte Differenz angeben. (Sie machen das durch die Angabe von oder durch das äquivalente .) @@ -3455,7 +3455,7 @@ HEAD eines Projektes interessiert. Es gibt jedoch Spezialfälle, in denen Sie wirklich alle Beweise der Übergabe vernichten möchten. (Vielleicht hat jemand ein - vertrauliches Dokument in das Projektarchiv übergeben.) Das ist + vertrauliches Dokument in das Projektarchiv übertragen.) Das ist leider nicht so einfach, da Subversion absichtlich so konstruiert wurde, dass es niemals Informationen verliert. Revisionen sind unveränderliche Bäume, die @@ -4595,7 +4595,7 @@ verwendet, um Änderungen rückgängig zu machen. Wenn diese Technik dazu verwendet wird, um eine Änderung in der Geschichte eines Objektes zurückzunehmen (z.B. r5 - an den Stamm übergeben, und dann sofort r5 mit + an den Stamm übertragen, und dann sofort r5 mit svn merge . -c -5 rückgängig machen), hat dies keine Auswirkungen auf die aufgezeichneten @@ -4742,7 +4742,7 @@ und dann svn merge ^/trunk -c 58 in der so erstellten Arbeitskopie aufrufen. Subversion weiß, dass die in Revision 53 an ^/trunk - übergebenen Änderungen bereits in der natürlichen Historie + übertragenen Änderungen bereits in der natürlichen Historie des Ziels vorhanden sind, so dass sie nicht erneut zusammengeführt werden müssen. Letzten Endes ist es das primäre Ziel der @@ -5616,7 +5616,7 @@ via a sync merge: --> Obwohl es zutrifft, dass Sie diese drei Zeilen in Revision - 352 übergeben haben, sind zwei davon tatsächlich von Sally in + 352 übertragen haben, sind zwei davon tatsächlich von Sally in Revision 348 geschrieben worden und sind durch einen Synchronisierungs-Merge in Ihren Zweig geraten: @@ -5682,12 +5682,12 @@ different objects in the repository. They share no history or ancestry. --> - Nehmen wir an, Sie übergeben Revision 100, die eine + Nehmen wir an, Sie übertragen Revision 100, die eine Änderung an der Datei foo.c beinhaltet. Dann ist foo.c at 99 ein Vorfahre von foo.c at 100. Wenn Sie dagegen in Revision 101 die Löschung von - foo.c übergeben und in Revision 102 eine + foo.c übertragen und in Revision 102 eine neue Datei mit demselben Namen hinzufügen, hat es zwar den Anschein, dass foo.c at 99 und foo.c at 102 in Beziehung zueinander stehen @@ -5953,7 +5953,7 @@ einiger Bearbeitungen ist) und die ursprüngliche Datei gelöscht. Zwischenzeitlich hat Sally in r472 auf /calc/trunk selber einige Verbesserungen - an integer.c übergeben: + an integer.c übertragen: @@ -6128,7 +6128,7 @@ Wenn Sie und Ihr Team auf die Merge-Verfolgung von Subversion angewiesen sind, sollten Sie Ihr Projektarchiv dergestalt konfigurieren, dass ältere Clients daran gehindert - werden, Änderungen zu übergeben. Die einfache Methode hierfür + werden, Änderungen zu übertragen. Die einfache Methode hierfür ist es, den Fähigkeiten-Parameter im start-commit Hook-Skript zu untersuchen. Wenn der Client meldet, dass er mit @@ -6186,7 +6186,7 @@ # wird: # # [1] REPOS-PATH (der Pfad zu diesem Projektarchiv) -# [2] USER (der authentisierte Anwender, der übergeben möchte) +# [2] USER (der authentisierte Anwender, der übertragen möchte) # [3] CAPABILITIES (eine vom Client durch Doppelpunkte getrennte # Liste von Leistungsmerkmalen; siehe Anmerkung # unten) @@ -6582,7 +6582,7 @@ Unterverzeichnisse aus unterschiedlichen Projektarchiv-Orten enthält, funktioniert sie immer noch normal. Wenn Sie aktualisieren, erhalten Sie entsprechende Patches für jeden - Teilbaum. Wenn Sie übergeben, werden Ihre lokalen Änderungen + Teilbaum. Wenn Sie übertragen, werden Ihre lokalen Änderungen nach wie vor als eine einzelne atomare Änderung auf das Projektarchiv angewendet. @@ -6875,7 +6875,7 @@ HEAD zum Zeitpunkt, an dem Sie die Kopie erstellt haben. Natürlich können Sie auch angeben, welche Revision Sie genau kopieren möchten, für den Fall, dass jemand - anderes Änderungen an das Projekt übergeben haben könnte, + anderes Änderungen an das Projekt übertragen haben könnte, während Sie nicht hingeschaut haben. Wenn Sie also wissen, dass Revision 901 von /calc/trunk genau die Momentaufnahme ist, die Sie möchten, können Sie sie mit @@ -6904,7 +6904,7 @@ Menschen sich entschieden haben, es so zu betrachten: Solange niemand etwas an das Verzeichnis übergibt, bleibt es für immer eine Momentaufnahme. Wenn jemand damit - beginnt, etwas dorthin zu übergeben, wird es ein Zweig. + beginnt, etwas dorthin zu übertragen, wird es ein Zweig. - Entwickler übergeben alles Neue an den + Entwickler übertragen alles Neue an den Stamm. Tägliche Änderungen werden an - /trunk übergeben: neue Funktionen, + /trunk übertragen: neue Funktionen, Fehlerbehebungen usw. @@ -7694,13 +7694,13 @@ richtige Zeitpunkt zum Anlegen eines Funktions-Zweiges gekommen ist. Manche Projekte benutzen nie Funktions-Zweige: jeder darf Änderungen in /trunk - übergeben. Der Vorteil hier ist, dass es einfach ist – + übertragen. Der Vorteil hier ist, dass es einfach ist – niemand benötigt eine Schulung im Verzweigen und Zusammenführen. Der Nachteil ist, dass der Code oft instabil oder nicht nutzbar ist. Andere Projekte verwenden ausschließlich Zweige: Eine Änderung darf niemals direkt in - /trunk übergeben werden. Selbst die + /trunk übertragen werden. Selbst die trivialsten Änderungen werden auf einem kurzlebigen Zweig durchgeführt, sorgfältig geprüft und in den Stamm zurückgeführt. Danach wird der Zweig gelöscht. Dieses Vorgehen @@ -8349,7 +8349,7 @@ Da wir nun einen Lieferanten-Zweig basierend auf libcomplex 1.0.0 haben, können wir mit den für unsere Zwecke notwendigen Anpassungen an libcomplex beginnen und sie direkt - in den erstellten Lieferanten-Zweig übergeben. + in den erstellten Lieferanten-Zweig übertragen. Selbstverständlich können wir anfangen, libcomplex in unseren eigenen Anwendungen zu verwenden. @@ -8647,7 +8647,7 @@ basierend auf libcomplex 1.0.0. Wir sind bereit, die für unsere Zwecke notwendigen Anpassungen an libcomplex vorzunehmen – indem wir sie direkt in den - Lieferanten-Zweig übergeben – und unsere angepasste + Lieferanten-Zweig übertragen – und unsere angepasste libcomplex in eigenen Applikationen zu verwenden. - Eine übergebene Änderung rückgängig machen + Eine übertragene Änderung rückgängig machen svn merge -c -REV URL; svn commit ======================================= --- /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ch05-repository-admin.xml Tue Feb 24 06:48:19 2015 UTC @@ -1561,7 +1561,7 @@ --> FSFS hat auch eine unterschiedliche Charakteristik, was den Durchsatz anbelangt. Wenn eine große Zahl an Dateien - übergeben wird, kann FSFS schneller Verzeichniseinträge + übertragen wird, kann FSFS schneller Verzeichniseinträge hinzufügen. Andererseits hat FSFS beim Abschluss einer Übergabe eine längere Verzögerung während es Aufgaben durchführt, die das BDB-Backend über die Laufzeit der @@ -2021,7 +2021,7 @@ Gesamtbild des Projektarchiv-Einsatzes im Auge. Wenn Sie beispielsweise die Konfiguration des Servers verwenden, um festzustellen, welche Benutzer Änderungen an Ihr Projektarchiv - übergeben dürfen, benötigen Sie für diese Zugriffskontrolle + übertragen dürfen, benötigen Sie für diese Zugriffskontrolle nicht das Hook-System. @@ -2573,7 +2573,7 @@ keine Übergabe-Transaktion mithilfe von Hook-Skripten. Trotz der Verlockung, Hook-Skripte zur automatischen Korrektur von Fehlern, Unzulänglichkeiten - oder Prozessverletzungen innerhalb der zu übergebenden + oder Prozessverletzungen innerhalb der zu übertragenden Dateien einzusetzen, kann das zu Problemen führen. Subversion hält bestimmte Projektarchiv-Daten in client-seitigen Caches vor, und wenn Sie auf diese Art @@ -2893,7 +2893,7 @@ svnlook wird üblicherweise von Projektarchiv-Hooks verwendet, um die abzuliefernden Änderungen zu melden (im Fall des pre-commit-Hooks) - oder die gerade an das Projektarchiv übergeben wurden (im Fall + oder die gerade an das Projektarchiv übertragen wurden (im Fall des post-commit-hooks). Ein Projektarchiv-Administrator kann dieses Programm zur Diagnose benutzen. @@ -3006,9 +3006,9 @@ removed. --> Beachten Sie, dass Sie nur Transaktionen untersuchen - können, die noch nicht übergeben sind. Die meisten + können, die noch nicht übertragen sind. Die meisten Projektarchive haben keine derartigen Transaktionen, da - Transaktionen entweder übergeben (in diesem Fall sollten + Transaktionen entweder übertragen (in diesem Fall sollten Sie darauf mit der Option () zugreifen) oder abgebrochen und entfernt sind. @@ -6308,7 +6308,7 @@ Das deckt Änderungen an Revisions-Eigenschaften ab. Nun müssen wir sicherstellen, dass nur der Benutzer syncuser neue Revisionen an das Projektarchiv - übergeben darf. Wir machen das, indem wir ein + übertragen darf. Wir machen das, indem wir ein start-commit-Hook-Skript wie das in benutzen. @@ -6338,7 +6338,7 @@ if [ "$USER" = "syncuser" ]; then exit 0; fi -echo "Ausschließlich der Benutzer syncuser darf neue Revisionen übergeben" >&2 +echo "Ausschließlich der Benutzer syncuser darf neue Revisionen übertragen" >&2 exit 1 @@ -7450,7 +7450,7 @@ Berkeley DB. Diese Flexibilität kommt allerdings zu dem Preis, dass die Wiederherstellung der Daten sehr lange dauern kann – länger mit jeder neuen Revision, die ins Projektarchiv - übergeben wird. Wie bei vielen verschiedenen + übertragen wird. Wie bei vielen verschiedenen Sicherungsmethoden werden auch hier Änderungen an Revisions-Eigenschaften bereits gesicherter Revisionen nicht berücksichtigt, sofern es sich um eine nicht-überlappende ======================================= --- /branches/1.8/de/book/ch06-server-configuration.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ch06-server-configuration.xml Tue Feb 24 06:48:19 2015 UTC @@ -3963,7 +3963,7 @@ einfach mit einem Web-Browser geöffnet wird. - Jeder kann an das Projektarchiv übergeben. + Jeder kann an das Projektarchiv übertragen. @@ -6870,7 +6870,7 @@ #!/bin/sh -# Post-Commit-Skript zum Replizieren der neu übergebenen Revision an die Slaves +# Post-Commit-Skript zum Replizieren der neu übertragenen Revision an die Slaves svnsync sync http://slave1.example.com/svn-proxy-sync \ file:///var/svn/repos > /dev/null 2>&1 & @@ -7000,7 +7000,7 @@ automatisierten svnsync-Befehle aus irgendeinem Grund nicht vollständig abgeschlossen wird, beginnen die Slaves, hinterher zu hinken. Ihre entfernten - Anwender werden sehen, dass sie Revision 100 übergeben + Anwender werden sehen, dass sie Revision 100 übertragen haben; wenn sie allerdings svn update aufrufen, wird ihr lokaler Server ihnen mitteilen, dass Revision 100 noch nicht existiert! Natürlich wird das @@ -8101,7 +8101,7 @@ Leistungseinbußen. Zur unsichtbaren Kategorie zählt die Kultur, die Sie erzeugen. In den meisten Fällen, in denen bestimmte Anwender Änderungen in bestimmte Teile des - Projektarchivs nicht übergeben sollten, + Projektarchivs nicht übertragen sollten, bedarf diese soziale Übereinkunft keiner technischen Erzwingung. Teams können manchmal spontan miteinander arbeiten, jemand könnte jemand anderen aushelfen, indem eine @@ -8127,7 +8127,7 @@ versehentlich eine Änderung dorthin übergibt, wo sie eigentlich nicht hin sollte, ist es einfach, die Änderung rückgängig zu machen. Und sollte ein Anwender mit böser - Absicht an eine falsche Stelle übergeben, ist es sowieso ein + Absicht an eine falsche Stelle übertragen, ist es sowieso ein sozialen Problem und muss außerhalb von Subversion gelöst werden. @@ -8166,7 +8166,7 @@ --> Als erwägenswertes Beispiel sollten Sie das Subversion-Projekt betrachten, das stets eine Vorstellung - davon hatte, wer etwas wohin übergeben darf, dies jedoch immer + davon hatte, wer etwas wohin übertragen darf, dies jedoch immer auf der sozialen Ebene durchsetzte. Dies ist ein passendes Modell für Vertrauen in einer Gemeinschaft, besonders bei Open-Source-Projekten. Selbstverständlich existiert manchmal ======================================= --- /branches/1.8/de/book/ch07-customizing-svn.xml Wed Nov 26 13:14:50 2014 UTC +++ /branches/1.8/de/book/ch07-customizing-svn.xml Tue Feb 24 06:48:19 2015 UTC @@ -999,7 +999,7 @@ Diese boolesche Option entspricht der Option des Befehls svn commit, die Subversion dazu auffordert, - Sperren auf gerade übergebene Dateien nicht + Sperren auf gerade übertragene Dateien nicht aufzuheben. Wird diese Laufzeitoption auf yes gesetzt, wird Subversion niemals automatisch Sperren aufheben, und es Ihnen @@ -2158,7 +2158,7 @@ in der Kodierung der aktuellen Locale wiedergegeben werden können. Wenn zum Beispiel Ihre aktuelle Locale en_US ist, aber ein Mitarbeiter einen - japanischen Dateinamen übergeben hat, bekommen Sie + japanischen Dateinamen übertragen hat, bekommen Sie wahrscheinlich diesen Fehler, wenn Sie bei einem svn update diese Datei empfangen. @@ -2211,7 +2211,7 @@ --> Die offensichtlichste Art und Weise, Daten in Subversion zu bekommen, ist es, Dateien unter Versionskontrolle zu stellen, - Änderungen an diesen Dateien zu übergeben usw. Aber neben + Änderungen an diesen Dateien zu übertragen usw. Aber neben versionierten Dateidaten leben auch andere Informationen in Ihrem Subversion-Projektarchiv. Einige dieser Informationen – Protokollnachrichten, Kommentare zu Sperren und einige @@ -2347,7 +2347,7 @@ comments. --> Wie beschrieben, können externe Editoren bei allen - übergebenden Unterbefehlen (wie svn commit + übertragenden Unterbefehlen (wie svn commit oder import, svn mkdir oder delete wenn ein URL-Ziel angegeben wird usw.) zur Eingabe von Protokollnachrichten verwendet werden, und ======================================= --- /branches/1.8/de/book/ch08-embedding-svn.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ch08-embedding-svn.xml Tue Feb 24 06:48:19 2015 UTC @@ -2071,7 +2071,7 @@ * which includes our added directory path. */ --> - /* Die Transaktion übergeben, indem eine neue Revision des + /* Die Transaktion übertragen, indem eine neue Revision des * Dateisystems erzeugt wird, die unseren hinzugefügten * Verzeichnispfad enthält. */ @@ -2161,7 +2161,7 @@ Beachten Sie, dass der Code in die Transaktion ebenso einfach mit svn_fs_commit_txn() - hätte übergeben können. Allerdings weiß die Dateisystem-API + hätte übertragen können. Allerdings weiß die Dateisystem-API nichts über den Hook-Mechanismus der Projektarchiv-Bibliothek. Falls Sie möchten, dass Ihr Subversion-Projektarchiv bei jeder Transaktionsübergabe eine Nicht-Subversion-Aufgabe ausführt ======================================= --- /branches/1.8/de/book/ref-svn.xml Tue Feb 3 17:18:07 2015 UTC +++ /branches/1.8/de/book/ref-svn.xml Tue Feb 24 06:48:19 2015 UTC @@ -1128,7 +1128,7 @@ --> Teilt Subversion mit, Dateien nicht automatisch zu entsperren. (Das Standardverhalten nach der Übergabe ist - es, alle Dateien, die übergeben wurden, zu entsperren.) + es, alle Dateien, die übertragen wurden, zu entsperren.) Siehe für weitergehende Informationen. @@ -2442,7 +2442,7 @@ commit only files in that changelist: --> Ändern Sie drei Dateien, fügen Sie sie einer - Änderungsliste hinzu und übergeben dann nur die Dateien + Änderungsliste hinzu und übertragen dann nur die Dateien auf dieser Änderungsliste: @@ -2486,7 +2486,7 @@ committed. --> Beachten Sie, dass im vorigen Beispiel nur die Dateien - der Änderungsliste issue1729 übergeben + der Änderungsliste issue1729 übertragen wurden. @@ -2802,7 +2802,7 @@ Wie auch bei anderen Arbeitskopien haben Sie die üblichen Möglichkeiten zur Auswahl: die lokalen Änderungen teilweise oder vollständig - rückgängig machen, sie übergeben oder mit Änderungen in + rückgängig machen, sie übertragen oder mit Änderungen in Ihrer Arbeitskopie fortfahren. Änderungen aus der Arbeitskopie an das - Projektarchiv übergeben. + Projektarchiv übertragen. @@ -3029,7 +3029,7 @@ linkend="svn.advanced.confarea.opts.config"/>. --> Änderungen aus der Arbeitskopie an das Projektarchiv - übergeben. Falls Sie keine Protokollnachricht, mit einer + übertragen. Falls Sie keine Protokollnachricht, mit einer der Optionen () oder (), angeben, startet svn Ihren Editor zum @@ -3046,7 +3046,7 @@ svn commit verschickt alle gefundenen Sperrmarken und gibt Sperren auf alle mit PATH angegebenen Pfade frei, - die (rekursiv) übergeben werden, sofern die Option + die (rekursiv) übertragen werden, sofern die Option nicht angegeben ist. @@ -3062,7 +3062,7 @@ Falls Sie eine Übergabe einleiten und Subversion Ihren Editor zum Verfassen einer Protokollnachricht startet, können Sie immer noch abbrechen, ohne Ihre - Änderungen zu übergeben. Wenn Sie die Übergabe abbrechen + Änderungen zu übertragen. Wenn Sie die Übergabe abbrechen wollen, beenden Sie einfach Ihren Editor, ohne die Protokollnachricht zu sichern; dann wird Subversion Sie fragen, ob Sie die Übergabe abbrechen, ohne @@ -3183,7 +3183,7 @@ - Eine zur Löschung vorgemerkte Datei übergeben: + Eine zur Löschung vorgemerkte Datei übertragen: @@ -3281,7 +3281,7 @@ Immediately commit a copy of WC to URL. --> Eine Kopie aus der AK direkt an den URL - übergeben. + übertragen. @@ -3578,7 +3578,7 @@ --> Die durch PATH angegebenen Objekte werden zur Löschung bei der nächsten Übergabe - vorgemerkt. Dateien (und nicht übergebene Verzeichnisse) + vorgemerkt. Dateien (und nicht übertragene Verzeichnisse) werden sofort aus der Arbeitskopie entfernt, sofern nicht die Option angegeben ist. Der Befehl entfernt keine unversionierten oder geänderten @@ -3593,7 +3593,7 @@ --> Werden Objekte durch einen URL bestimmt, werden sie durch eine sofortige Übergabe aus dem Projektarchiv - entfernt. Mehrere URLs werden atomar übergeben (alle oder + entfernt. Mehrere URLs werden atomar übertragen (alle oder keine). @@ -3717,7 +3717,7 @@ dass auch die Zieldatei entfernt wird, die für eine versionierte Löschung vorgemerkt war. Das ist in dem Fall nützlich, falls Sie feststellen, dass Sie versehentlich - eine hinzugefügte Datei übergeben haben, die Sie zwar in + eine hinzugefügte Datei übertragen haben, die Sie zwar in Ihrer Arbeitskopie benötigen, jedoch nicht unter Versionskontrolle stehen soll. @@ -3753,7 +3753,7 @@ Das Verhalten der Option wirkt sich nicht auf andere Arbeitskopien aus, die von Ihnen zur Löschung vorgemerkte Objekte enthalten. Wenn Sie die - Löschung dieser Objekte übergeben, verbleiben sie in Ihrer + Löschung dieser Objekte übertragen, verbleiben sie in Ihrer Arbeitskopie, werden aber bei der Aktualisierung anderer Arbeitskopien in denen sie enthalten sind gelöscht. @@ -5239,7 +5239,7 @@ --> Pfade der Arbeitskopie oder URLs im Projektarchiv sperren, damit kein anderer Benutzer - Änderungen daran übergeben kann. + Änderungen daran übertragen kann. @@ -6540,7 +6540,7 @@ Arbeitskopie vorgemerkt. Ein durch einen URL bezeichnetes Verzeichnis wird durch eine unmittelbare Übergabe im Projektarchiv erzeugt. Mehrere Verzeichnis-URLs werden atomar - übergeben. In beiden Fällen müssen Zwischenverzeichnisse + übertragen. In beiden Fällen müssen Zwischenverzeichnisse bereits existieren, falls die Option nicht angegeben wird. @@ -6817,7 +6817,7 @@ -Revision 27 übergeben. +Revision 27 übertragen. @@ -8527,7 +8527,7 @@ Konflikt stehende Objekt mit der (interaktiv oder über das Optionsargument von ) angegebenen Version und entfernt dann Konfliktdateien. Das erlaubt es, - PATH erneut zu übergeben – + PATH erneut zu übertragen – d.h., Subversion wird mitgeteilt, dass die Konflikte aufgelöst wurden. svn revert ist von Natur aus gefährlich, da sein einziger Zweck das Beseitigen von - Daten ist – nämlich Ihre noch nicht übergebenen + Daten ist – nämlich Ihre noch nicht übertragenen Änderungen. Sobald Sie irgendetwas rückgängig gemacht haben, bietet Ihnen Subversion keine Möglichkeit, wieder an die noch nicht - übergebenen Änderungen heranzukommen. + übertragenen Änderungen heranzukommen. - Geschichte soll nicht übergeben werden. + Geschichte soll nicht übertragen werden. @@ -9263,7 +9263,7 @@ - Geschichte soll übergeben werden. + Geschichte soll übertragen werden. @@ -9499,7 +9499,7 @@ --> Falls die Option () angegeben wird, folgt die letzte - übergebene Revision und der Autor derselben. + übertragene Revision und der Autor derselben. + Beginnend mit Subversion 1.8 kann + svndumpfilter auf deltifizierten + Ausgabeströmen arbeiten. Davor verweigerte + svndumpfilter die Arbeit mit + Auszugsströmen, die mit der Option + erzeugt wurden. + + @@ -1377,6 +1392,70 @@ + + + + + + + svnadmin + + Unterbefehle + lock + + + + svnadmin lock + + Einen Pfad direkt im Projektarchiv sperren. + + + + svnadmin lock REPOS_PATH PATH-IN-REPOS USERNAME FILE + [TOKEN] + + + + + + + Beschreibung + + + Sperre PATH-IN-REPOS im + Projektarchiv, wobei der Sperre + USERNAME als Eigentümer zugewiesen + wird und der Inhalt von FILE als + Kommentar mit der erzeugten Sperre verknüpft wird. Falls + angegeben, soll TOKEN als + Sperrmarke verwendet werden. + + + + + + Options + + + + + + + + @@ -2280,6 +2359,64 @@ svnadmin setuuid im Erfolgsfall nichts aus. + + + + + + + + + svnadmin + + subcommands + unlock + + + + svnadmin unlock + + Pfad direkt im Projektarchiv entsperren. + + + + svnadmin unlock REPOS_PATH LOCKED_PATH USERNAME + TOKEN + + + + + + Description + + + Entsperre LOCKED_PATH im + Projektarchiv (als USERNAME) + nachdem sichergestellt wurde, dass die zur Sperre gehörige + Sperrmarke mit TOKEN + übereinstimmt. + + + + + + Options + + + + + From svnbook at googlecode.com Tue Feb 24 01:28:51 2015 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Tue, 24 Feb 2015 07:28:51 +0000 Subject: [svnbook] r5002 committed - [de] Added --search and --search-and option description. Message-ID: <90e6ba6e8ba27328ab050fd07802@google.com> Revision: 5002 Author: jmfelderhoff at gmx.eu Date: Tue Feb 24 07:28:39 2015 UTC Log: [de] Added --search and --search-and option description. https://code.google.com/p/svnbook/source/detail?r=5002 Modified: /branches/1.8/de/book/ref-svn.xml ======================================= --- /branches/1.8/de/book/ref-svn.xml Tue Feb 24 06:48:19 2015 UTC +++ /branches/1.8/de/book/ref-svn.xml Tue Feb 24 07:28:39 2015 UTC @@ -1442,6 +1442,111 @@ + + ARG + + + Filtert Protokollnachrichten, so dass nur solche + angezeigt werden, auf die das Suchmuster + ARG passt. Protokollnachrichten + werden nur angezeigt, wenn das angegebene Suchmuster zum + Text von Autor, Datum oder Protokollnachricht passt (wenn + nicht die Option angegeben ist), + oder, falls zusätzlich die Option + angegeben wird, auch auf einen + geänderten Pfad. Falls mehrere + -Optionen angegeben werden, wird + eine Protokollnachricht ausgegeben, sobald sie zu + irgendeinem Suchmuster passt. Wenn + verwendet wird, schränkt das die + Anzahl der zu durchsuchenden Protokollnachrichten ein, anstatt + die Anzahl der auszugebenden passenden + Protokollnachrichten. + + + Das Suchmuster kann "Glob-Syntax"-Platzhalter + beinhalten: + + + + + ? + + + + Passt auf irgendein einzelnes Zeichen. + + + + + * + + + + Passt auf eine Folge beliebiger Zeichen. + + + + + [ABC] + + + + Passt auf ein Zeichen innerhalb der eckigen + Klammern. + + + + + + + + + ARG + + + + Das Argument der Option wird mit dem Muster der + davorstehenden Option oder + auf der Kommandozeile + kombiniert. Die Protokollnachricht wird nur angezeigt, + falls sie zu dem kombinierten Suchmuster passt. + + + + ARG