Subversion-trunk in bestehende tag
Ich bin derzeit mit folgenden setup in meinem SVN-repository:
-Root
--ProjectA
----trunk
----tags
----branches
--ProjectB
----trunk
----tags
----branches
--ProjectPool
----projectA
----projectB
Wo ProjectPool enthält bestimmte tags von ProjectA und ProjectB.
Nun die tags in ProjectPool von Zeit zu Zeit ändern. Dies bedeutet, dass eine bestimmte trunk-version von ProjectA ist verpflichtet, und ich möchte eine Kopie von dieser revision in Root/ProjectPool/projectA. Das neue tag ersetzen sollte, die alt-Tags, aber es sollte eine Geschichte zur Verfügung.
Sein wie mit einer Niederlassung auf meinem computer, die ich nie ändern und von Zeit zu Zeit die Zusammenlegung der Stamm in it. Aber es getan werden sollte auf das repository vollständig. (die zimmerreserviereung, ohne das checkin/checkout etc.)
Dies würde mir erlauben, einen Blick in Root/ProjectPool/projectA Geschichte und die Veränderungen der it. Eine Art high-level revision-Geschichte.
UPDATE:
Tut mir Leid, ich vergaß zu Fragen, eine klare Frage -.-
Nach der Sichtung der Antworten die schon angekommen bis jetzt, ich würde sagen, dass die Kopien von Projekten im ProjectPool sind Zweige von den ursprünglichen Projekten. Dann konnte ich Sie Zusammenführen von trunk, Wann immer ich eine neue version benötigen im ProjectPool.
Die Frage ist nun, ob es eine Möglichkeit gibt zu tun, das Zusammenführen von "online", ohne das erstellen einer Arbeitskopie ersten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tags
sind Meilensteine, Sie sollte nicht verändert werden. Erstellen Sie ein neues tag auf jedem release.Was Sie brauchen, hier ist eine
branch
vonProjectA
unterProjectPool
denen Sie wiederholt verschmelzen mittrunk
vonProjectA
. Mit so etwasfinden: http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.merge.html
Sieht aus wie Sie sind Voraus gegangen, mit Ihrem Verzeichnis-Struktur. Ich schlage vor, Sie Folgen dieser Struktur, wenn möglich.
Können Sie release ProjectA und ProjectB in Ihrer
tag
s. Neuere Entwicklung wird weiterhin intrunk
. Für jede Seite, die Entwicklung oder die spot-Version, erstellen Sie einebranch
im Branchen-Verzeichnis. Wenn Verzweigung erfolgt, führen Sie diese zurück zum Stamm. Auf diese Weise werden Ihretrunk
beziehen sich immer auf alle Revisionen und änderungen. Und, das ist praktischer (und konventionelle).Hoffe, das hilft.
ProjectPool
was sollte ich wiederholt verschmelzen mit dem Stamm. Das ist genau das was ich meinte beim schreibenIts like having a branch on my computer which I never change and from time to time merging the trunk into it.
. Ich bin jetzt auf der Suche nach einem Weg, um das Zusammenführen, "online", ohne um eine Arbeitskopie zu erhalten.merge
undcommit
combo-Befehl. Ich bezweifle ernsthaft, ob das möglich ist. Zusammenführen von vollständigen Prozess istmerge
,resolve
undcommit
in dieser Reihenfolge. Ich verstehe, dass in Ihrem Fallresolve
ist es zwar nicht, aberSVN
kann nicht davon ausgehen, dass Möglichkeit. So, ich denke, Sie haben zu Begehen, ausdrücklich. Der Befehl in der URL verschmelzen im aktuellen Verzeichnis. Also, wenn Sie sicher sind, schreiben Sie ein shell-Skript. Das verbindet und verpflichtet. Aber dennoch werden die downloads.Du nicht wirklich alle Frage also ich bin mir nicht sicher, ob Sie bewusst die
merge
Unterbefehl aber das ist die, die Sie brauchen:Besondere Aufmerksamkeit auf die
--accept
parameter; Sie benötigen es, um automatisierte Konfliktlösung:Ich empfehle die Lektüre der Branching und merging Kapitel im Subversion Buch.