Frage

Ich verstehe das Grundkonzept eines Zweiges und verschmelzen. Alle Erläuterungen habe ich darüber reden Verzweigung Ihre gesamte Stamm fand ein Zweig Projekt und arbeiten daran zu erstellen und sie dann wieder zusammengeführt werden. Ist es möglich, eine Teilmenge eines Projekts verzweigen?

Ich denke, ein Beispiel wird mir helfen, am besten zu erklären, was ich tun möchte. Angenommen, ich habe eine Anwendung, mit zehn Dateien File0 durch Datei10. Alle Dateien sind voneinander abhängig und in der Lage sein die anderen eine beliebige Datei, die alle zu testen, müssen im Build enthalten sein. Ich möchte auf File0 arbeiten, müssen aber keine Änderungen an file1 durch Datei10 zu machen. Kann ich verzweigen File0 so Änderungen File0 begangen etwas wie myrepos / branches / a-Branche / File0 aktualisieren, aber alle anderen Dateien in meiner Arbeitskopie werden einfach aus dem Kofferraum sein?

Der Grund, warum ich dies tun wollen ist, dass ich mit Zehntausenden von Dateien auf eine riesigen J2EE-Anwendung gerade arbeite und es scheint, als ob die ganze Sache Verzweigung eine wirklich lange Zeit in Anspruch nehmen. Auch ich bin mit Eclipse mit subclipse (und ich konnte über diese falsch sein), aber es scheint, wie wenn ich ein Projekt in Eclipse verzweigen dann werde ich ein neues Eclipse-Projekt einrichten muß, um den Zweig zu zeigen. Leider aus dem SVN dieses besondere Projekt importieren nimmt aufgrund der Größe der Anwendung mehr Stunden zu verdunkeln. Es ist nicht realistisch für mich so viel Zeit zu verbringen.

Ich nehme an, dass ich die Begriffe falsch haben könnte. Vielleicht ein gesamtes Projekt Verzweigung keine neue Arbeitskopie überhaupt erforderlich?

Vielen Dank für jedes Licht auf diesem Problem.

War es hilfreich?

Lösung

ein ganzes (auch) sehr großer Baum in Subversion Branching ist ein sehr billig Betrieb , die faul tut (O (1) Zeit) das Kopieren von Dateien.

Sie müssen nicht unbedingt Ihre gesamte Arbeitskopie ändern, nur eine geänderte Datei zu arbeiten. Sie können verwenden svn switch Schalter eine Datei oder ein Verzeichnis in Ihrer Arbeitskopie eine ausgecheckt Version der Datei auf dem Zweig zu sein.

Andere Tipps

In Subversion, so dass ein Zweig macht einfach eine Kopie einer Hierarchie von Verzeichnissen. Daher können Sie eine Teilmenge verzweigen, aber nur, wenn diese Teilmenge kann durch eine Hierarchie von Verzeichnissen definiert werden.

  

Kann ich   Zweig File0 so Änderungen verpflichtet,   File0 aktualisiert etwas wie   myrepos / branches / a-Verzweigungs- / File0 aber   alle anderen Dateien in meinem Arbeitskopie   wird einfach aus dem Kofferraum sein?

Um diese Frage zu beantworten: Nein, können Sie nicht eine einzelne Datei verzweigen. Aber was ich glaube, Sie stattdessen tun will, ist eine Filiale zu machen und es auf file0 arbeiten. Wenn Sie Änderungen vornehmen Dateien trunk Sie einfach kombiniere sie in Ihrer Branche , wo Sie gerade arbeiten file0.

Auf diese Weise werden Sie immer die neuesten Informationen aus trunk haben, mit dem Sie die file0 Änderungen unabhängig von Stamm testen lassen. Dann können Sie svn switch verwenden, um Ihre „Datei lens“ bewegen sich zwischen der Stamm und der Zweig (aber Vorsicht, Eklipse kann über solche Spielereien beschweren).

svn Verzweigung wird auf Lazy-Copy-Mechanismus basiert, so dass Sie alle Ihre Projekte verzweigen sicher: die nicht lange dauern würde.

Wie in der Frage erwähnten „ Wie kann ich Zweig eine einzelne Datei im SVN? „könnten Sie eine Teilmenge verzweigen, aber ich glaube, dass dies mit dem svn: merginfo Eigenschaften Mechanismus . es funktioniert es besser, dass das Eigentum von der Wurzel des Projektes festgelegt ist

in SVN Verzweigen ist ein O (1) Betrieb. Auch als intern SVN faul Kopieren beschäftigt, zahlen Sie nur einen Raum Strafe für das, was Sie ändern.

Also, wenn Sie sich nicht sicher sind, warum nicht voran gehen und das ganze Projekt verzweigen?

(wie Quark erwähnt, besteht ein Problem mit Verzweigung großen Projekten ist, dass, wenn Sie mehrere Zweige / der Stamm parallel Kasse, das eine Menge von lokalen Speicherplatz einnehmen könnte.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top