google-code, subversion & co.

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Antworten
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

google-code, subversion & co.

Beitrag von drohne235 »

Da ich ja bei der Versionsverwaltung ein Neuling bin, mache ich hier mal ein Thema auf um ein paar Fragen loszuwerden. Ich denke das ist auch allgemein nützlich, um sich darüber auszutauschen.

Ich hab mich jetzt ein wenig mit der Versionsverwaltung beschäftigt. Zum spielen hab ich auf meinem lokalen Server einen eigenen SVN-Server (http://www.visualsvn.com/server/) installiert und die verschiedenen Fälle durchgespielt, ohne das an dem google-code-svn zu machen. Als Client verwende ich ja TortoiseSVN. Ich denke im wesentlichen hab ich die Grundprinzipien verstanden. Zumindest am Anfang ist es doch ein wesentlich größerer Aufwand mit diesem Mechanismus zu arbeiten, aber sobald mehrere Personen an dem Quelltext arbeiten, gibt es keine wirkliche Alternative.

Allerdings sind da noch Detailfragen:

Zum Beispie frage ich mich, wann es nötig ist, einen Branch zu eröffnen. Macht es Sinn für die Einbindung des RTC einen Branch zu machen, oder massiert man die Änderungen einfach in die eigenen Arbeitskopie, und damit in die Hauptversion ein? Wer erstellt den Branch? Mache ich das als Administrator, oder kann das zum Beispiel auch jeder Benutzer selbst machen, sobald er sich angemeldet hat?

Eine andere Frage ist, ob man einen Branch besser projektbezogen (trios-rtc) oder bezogen auf die Person (trios-<name>) benennt. Ich tendiere ja mehr zur ersten Variante.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
ben
Beiträge: 99
Registriert: Do 4. Jun 2009, 13:48

Re: google-code, subversion & co.

Beitrag von ben »

Ich erstelle immer einen neuen Branch für jedes neue Feature. Der Grund ist folgender: Eigentlich sollte der Trunk (Hauptversion) immer stabil sein, was er in 99,8976548% nie ist :-). Ich erstelle also vom Trunk, der ja keine Fehler enthalten sollte, einen Branch. Vorher prüfe ich ob alle Projekte die ich brauche auch kompilieren. Jetzt kann ich auf meinem Branch alles machen was ich will, und ich weis das die Fehler alle von mir kommen.

Wenn ich jetzt direkt mit dem Trunk arbeite, und ich will mal die erste Revision des Features einchecken, dann, so ist es bei mir zumindest, muss ich den Trunk updaten. D.h. das ich dann auch evtl. die Fehler der anderen Programmierer bekomme. Im einfachsten Fall werden die benötigten Projekte nicht kompilieren, andere Fehler sind da schon schwieriger zu finden. Wenn das nächste mal ein Fehler auftritt, weis ich nicht ob der von mir ist oder von einem anderem Programmierer. Dann muss ich wieder schauen wer hat was wann eingescheckt hat. Das kostet immer Zeit.

Als Nachteil sehe ich wenn man zu lange vom Trunk entfernt bleibt, wird der Merge nachher schwieriger. Kommt natürlich auf das Projekt an.
Wer erstellt den Branch? Mache ich das als Administrator, oder kann das zum Beispiel auch jeder Benutzer selbst machen, sobald er sich angemeldet hat?
Bei uns kann jeder Branches erstellen, da gibt es keinen Administrator dafür.
Hive 13 - Unimatrix 1
Benutzeravatar
scotty
Beiträge: 75
Registriert: Di 30. Jun 2009, 11:53
Wohnort: Berlin - Planet ERDE

Re: google-code, subversion & co.

Beitrag von scotty »

Hi drohne235, ich denke, Du hast diesen Thread http://hive-project.de/board/viewtopic.php?f=10&t=234 noch im Gedächtnis? Da gabs ja schonmal Beiträge zu diesem Thema (auch zur üblichen branches/tags/trunk-Vorgehensweise).
HIVEs 064 & 176
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: google-code, subversion & co.

Beitrag von drohne235 »

Mittlerweile hatte ich da ein wenig experimentiert und mir lokal auf meinem Server zum spielen einen SVN-Server installiert, um nicht gleich mit dem Server bei google-code wilde Sachen zu machen... ;) Einfach ein paar Textdateien erstellt und man kann gut alle möglichen Situationen durchspielen.

Danach waren mir die Sachen die du geschrieben hast auch wesentlich klarer - bin halt mehr der praktische Typ und muss das probieren. Da aber momentan niemand weiter mitarbeitet, ist die Verwaltung bei google-code auch mehr eine theoretische Sache und Mehraufwand. Ich nutze sie zwar momentan vollumfänglich, allerdings wäre ich allein mit meinem eigenen manuellen System der Archivierung lokal und ohne SVN deutlich schneller und auch nicht schlechter organisiert. Aber ich lasse das jetzt erstmal in dem Repository, in der Hoffnung, dass es früher oder später Mitstreiter gibt. Momentan werkle ich am Bus zu weiteren externen Propellern (PlexBus) und hab mir dazu auch einen Feature-Branch angelegt.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
scotty
Beiträge: 75
Registriert: Di 30. Jun 2009, 11:53
Wohnort: Berlin - Planet ERDE

Re: google-code, subversion & co.

Beitrag von scotty »

Hi drohne235,
ich habe Dein "make.bat" aus dem google-svn mal (möglichst 1:1) als shell-Skript für die Linuxer nachgebaut. Kannst Du gerne mit ins svn packen, wenn Du möchtest.

In "make.bat" ist mir aufgefallen, daß der letzte Kopier-Befehl (Zusatzdateien) möglicherweise das ".svn"-Verzeichnis mitkopiert und dabei das in "\bin\sd-card-basic\system" überschreibt. Keine Ahnung, wie sich "copy" da verhält. Unter Windows haben ja Namen mit Punkt am Anfang eigentlich keine Sonderbedeutung (anders bei den UNIXen). Vielleicht kannst Du das mal checken, ich habe hier gerade kein Windows am Start.

In "doku/" liegt noch eine "Thumbs.db"-Datei rum, die sollte nicht unbedingt ins svn.
Dateianhänge
make.sh.zip
(740 Bytes) 532-mal heruntergeladen
HIVEs 064 & 176
Antworten