SVN "richtig" benutzen - wie?

White_Fox

Top Contributor
Guten Abend allerseits

Bisher habe ich in SVN einfach wüst committed, ohne mich um Tags, Branches, Trunks und dergleichen zu scheren. Das will ich ändern, da ich jetzt auch eine vernünftige Versionsnummerierung haben will.

Daher meine Frage: Was passiert eigentlich genau, wenn ich einen Branch oder ein Tag erstelle? Soweit ich das sehe, ist das nicht wirklich in Stein gemeißelt, wann was verwendet wird. Wie macht ihr das bei euch?
 

mihe7

Top Contributor
Subversion? Das habe ich zuletzt vor x Jahren verwendet. Wenn es Dir möglich ist, verwende git.

Ansonsten: ein Tag dient in der Regel dazu, einen Stand festzuhalten. Wird also nicht für die weitere Entwicklung verwendet - womit wir auch schon den Unterschied zum Branch hätten :)
 

Der Wissende

Mitglied
Guten Abend,

Der Hauptstand deines Codes nennt sich trunk, jeder commit erzeugt eine neue Version. Wenn du nun ein Tag setzt gibst du einem commit einen Namen also commit 42 wird zu 'release 1.0.0'.
Ein branch wiederum ist eine Kopie von deinem trunk. Auf dieser Kopie kannst du nun unabhängig von der Hauptentwicklung weiter arbeiten, zum Beispiel könnte es sein dass du ein Bugfix Release für Version 1.0.0 erstellen willst, aber du hast jetzt schon im trunk neue Features, die du aber noch nicht releasen willst.
In SVN sind branches, wirklich Kopien von allem, daher sind branches dort relativ teuer zum erstellen und zum wechseln auf den branch. In git ist der Mechanismus viel besser, weil nur die geänderten Daten gemerkt werden, deshalb verwendet man in git viel häufiger branches um zum Beispiel Features isoliert von der restlichen Applikation entwickeln zu können.
 

White_Fox

Top Contributor
Subversion? Das habe ich zuletzt vor x Jahren verwendet. Wenn es Dir möglich ist, verwende git.
Ich hab das mal (kurz!) in Erwägung gezogen, hab einerseits festgestellt daß das recht kompliziert ist, und andererseits den Mehrwert für mich nicht gesehen.

Und da ich zur Zeit nur auf einem einzelnen Laptop arbeite (nichtmal einen NAS, einen zweiten PC hab ich aktuell, nur meinen Laptop)...welchen Sinn macht das da, auf Git umzusteigen?

Nachschlag:
@Der Wissende
Danke...ich glaub jetzt weiß ich Bescheid. :)
(Und danke für die Erklärung, was Git da anders macht.)
 

White_Fox

Top Contributor
Bei SVN brauchst du einen Server.
Hm...das SVN-Repository gammelt hier auch lokal bei mir herum, definitiv ohne Server. (Tortoise SVN 1.8)
Bei der Wahl des Repositories kann man auch Dateipfade (auch lokale) angeben, von daher bin ich mir relativ sicher daß da auch kein virtueller Server im Hintergrund läuft.

Nur für den Fall der Fälle: wie aufwändig gestaltet sich ein Umzug von SVN nach Git? Kann man das relativ einfach konvertieren?
 

mihe7

Top Contributor
hab einerseits festgestellt daß das recht kompliziert ist, und andererseits den Mehrwert für mich nicht gesehen.
Ich würde nicht sagen, dass es komplizierter als Subversion ist, nur etwas anders. Gerade Branches sind das Killer-Feature von git.

Was den Mehrwert betrifft: das ging mir genauso. Ich habe es erst verstanden, als ich es verwendet habe.

Bei der Wahl des Repositories kann man auch Dateipfade (auch lokale) angeben, von daher bin ich mir relativ sicher daß da auch kein virtueller Server im Hintergrund läuft.
In git liegt das lokale Repository an einer Stelle im Projektverzeichnis (.git). Bei Subversion hast Du ein Repository an anderer Stelle im Dateipfad, darüber hinaus legt Subversion in jedem Unterverzeichnis Deines Projekts .svn-Verzeichnisse (oder waren es Dateien?) an.

Bei Subversion hast Du immer nur eine (= 1) Arbeitskopie. Bei git hast Du alle gleichermaßen im Zugriff. Um z. B. zwischen Branches zu wechseln, machst Du einfach ein checkout - im gleichen Verzeichnis, versteht sich.

Ernsthaft: probier es aus und spiel ein wenig rum. Du wirst den Unterschied recht schnell feststellen :)
 

Der Wissende

Mitglied
Hm...das SVN-Repository gammelt hier auch lokal bei mir herum, definitiv ohne Server. (Tortoise SVN 1.8)
Hab schon ewig nicht mehr mit svn gearbeitet, damals kannte ich zumindest die Möglichkeit nicht.


Nur für den Fall der Fälle: wie aufwändig gestaltet sich ein Umzug von SVN nach Git? Kann man das relativ einfach konvertieren?
Wenn du Tortoise git verwenden willst, scheint es ziemlich einfach zu sein https://smexyyweby.wordpress.com/20...pository-to-git-using-tortoisegit-on-windows/
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Java Eclipse Umlaute werden nicht richtig dargestellt in Konsole IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
P richtig eine externe Bibliothek mit .jar erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
F Eclipse Eclipse Windowbuilder Designvorschau: Frame wird nicht richtig angezeigt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Y Java Editor Eclipse WindowsBuilder wird nicht richtig angezeigt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
Aruetiise Android Studio AVD Bootet nicht richtig IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
W Eclipse Externe Klassenbibliothek (Jar) richtig installieren? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
N externe Library in Eclipse "richtig" einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
B Eclipse m2e parsed VersionRange scheinbar nicht richtig? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
K Eclipse Libraries richtig einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
hdi Eclipse Max Line Width funktioniert nicht richtig IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
B richtig auschecken mit subclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
E Javadoc bei Eclipse nicht richtig lesbar ( zu klein) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
T Wie konfiguriere ich den Java Editor richtig? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
M Eclipse richtig einrichten? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S netbeans 3.6 läuft nicht mehr richtig IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
C Eclipse richtig konfigurieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
B Wie nicht-java Datei mit Eclipse benutzen (Excel Datei einlesen)? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 16
D C++ mit NetBeans benutzen. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
B Maven - Angeben welche Klassen/Packes für build benutzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Y Welche IDE benutzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
T NetBeans: Sun JDK statt OpenJDK standardmäßig benutzen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Eclipse/Java beide Prozessoren benutzen lassen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
E Wie Designer benutzen mit Eclipse? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
P ältere Java-Version mit Eclipse benutzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
A wie kann ich Netbeans Form Dateien in Eclipse benutzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6

Ähnliche Java Themen


Oben