freeware versionskontrolle - home laptop



  • ihoernchen schrieb:

    Verstanden habe ich, dass er ein Versionsverwaltung möchte. Möchte er etwas anderes? Wenn ja, was?

    z.b.

    - eine UI (console doof #gg)

    🙂



  • wenn du eh schon cvs genutzt hast, nimm doch crossvc... und schon haste ne GUI (heißt das jetzt das GUI, da das Interface, oder die GUI, da die Oberfläche? 😕)



  • Meine Empfehlung ist Mercurial.
    Als GUI gibt es da TortoiseHg (ähnlich TortoiseSVN) für Windows. Vista soll laut Homepage auch gehen gehen.

    Mercurial ist wie git (u. bazaar, monotone) ein DVCS und hat gegenüber CVS/SVN den Vorteil, dass man keinen Server installieren muss und auch direkt zwischen verschiedenen Repositories (hab zum Beispiel eins als Backup auf externer Platte) einfach synchronisieren kann.



  • ich hab mich n bissl in svn eingelesen - soweit ich das seh gibts mit TortoiseSVN eine explorer integration, das wiederrum sagt mir nicht so sehr zu
    ich mags zb bei perforce die trennung zwischen dem woran ich grad arbeite, und dem was der derzeitige stand ist
    zb hab ich ein projekt eingecheckt, checke es komplett aus zum bearbeiten
    nachdem ich fertig bin reverte ich nicht veraenderte dateien und hab dann direkt eine liste welche dateien sich geaendert haben, diese kann ich dann schoen nacheinander vergleichen, und dann mergen usw - kommentieren, submitten, taggen usw

    ich mags nicht staendig gleich auf den respository zu arbeiten, ich habs eher - "sobald ich den client geschlossen habe, sind die dateien in dem stand sicher" - trennung halt, weiss nicht wie ichs genau beschreiben soll #gg

    (btw, ich benutz den windows explorer nicht bis auf die start leiste)
    von cvs selber bin ich bisher nicht ganz soo begeistert da es auf arbeit, bevor wir umstellten, nicht wirklich schnell war

    TortoiseHg ist auch nur eine explorer integration?

    bin noch n bissl ratlos bisher (visual studio integration brauch ich nicht, siehe "trennung")



  • Ich würde dir auch git empfehlen: http://whygitisbetterthanx.com/



  • Ja, bei TortoiseHg handelt es sich auch um eine Explorer Integration, ich finde sowas halt am übersichtlichsten um zu sehen ob und was man geändert hat (Geschmackssache). Den Explorer nutze ich auch nicht, dass ganze funktioniert ja auch mit Total Commander etc. ;). Es gibt aber auch einfache Commit-Tools wie qct. Die muss man dann aber über Kommandozeile aus dem Repository aufrufen oder sich entsprechende Verknüpfungen anlegen.
    Mit IDE-Integrationen kann ich persönlich auch nichts anfangen.

    Deine gewünschte Vorgehensweise habe ich jetzt noch nicht so ganz verstanden, vor allem das mit dem "geschlossenen Client). Kannst du mal sagen was du unter "derzeitigem Stand" verstehst? Für mich entspricht das irgendwie "dem woran ich grad arbeite". Perforce kenne ich auch nicht.

    Ich mache das wenigstens so, dass ich auf der Arbeit ein Repository auf einem zentralen Server (wird automatisch gebackupt (deutsch?)) habe. Von dort aus kann man dan jederzeit eine aktuelle stabile Version bekommen.
    Von dort aus Klone ich mir dann ein Repository zum Arbeiten auf meinen Arbeitsrechner (entspricht etwa cvs/svn-checkout).
    Einzelne Schritte werden dann lokal Eingecheckt und wenn ich mit dem kompletten Schritt fertig bin wird das ganze mit dem Server synchronisiert.
    Ein Backup des aktuellen Zwischenstandes habe ich durch die Synchronisation mit der externen Platte. Die kann ich auch mit Heim nehmen und dann von dort aus den aktuellen Stand auf meinen Heimrechner spielen wenn ich mal dort arbeite (bzw. Laptop wenn ich unterwegs bin).

    PS:
    Die ganzen DVCSs (git, mercurial, ...) sind sich von der Funktionalität sehr ähnlich (liegt an der Entstehungsgeschichte) und seit den letzten Vergleichen die man lesen kann hat sich mittlerweile auch überall was getan (oder hat jmd. aktuelle Links?).

    Ich würde an deiner Stelle also mal schauen was alle mtbringt was du brauchst (imho alle), wofür es brauchbare Windows-GUIs gibt und dann vom Rest mal was aufsetzen und damit rumspielen ob du mit Funktionsumfang, Geschwindigkeit und Bedienbarkeit zufrieden bist. Bei meinen Tests vor paar Monaten ist git rausgeflogen, da es da keine Windows-Gui für gab und Bazaar war vergleichsweise zu langsam. Das muss aber heute nicht mehr der Fall sein.



  • mit geschlossenen client meinte ich sowas die eine schnittstelle die man einfach zu macht und dann die daten nicht mehr veraendern kann, und sobald man diese auf macht, die aenderungen ueberprueft vor dem submit

    wenn ich von git so lese klingt das wie als wenn jede datei fuer sich allein ist, und man nie weiss welche dateien zusammen gehoeren usw - sodass man dann aufpassen muss "bei der muss ich da auschecken, bei der dort, das zusammen funktioniert dann"

    so aehnlich wie du es mit dem server backup beschreibst klingt doch gut {=
    - checkout files (branch)
    - arbeiten
    - ungeaenderte dateien reverten um zu sehen was sich geaendert hat
    - anederungen ueberpruefen
    - kommentieren und submitten
    sobald ich ein build brauch wirds zb nach main branch integriert
    und immer wenn ich ein stable brauch, check ich main aus und kann das bauen
    am sonsten fuer mein derzeitigen stand aus ein private oder feature branch
    erst sobald der stand "abgeschlossen" und durchgetestet ist, wird es nach main integriert

    bei solchen explorer integrationen hab ich eher bedenken den ueberblick zu behalten was wo integriert ist usw
    aber ich werds auf jeden fall mal ausprobieren!



  • Ok, jetzt habe ich wenigstens verstanden, was du mit dem geschlossenen Client meinst ;).

    Den Punkt

    - ungeaenderte dateien reverten um zu sehen was sich geaendert hat

    verstehe ich aber noch nicht.

    Wenn ich ein Commit mache sehe ich im Client (bei mir Qct. Wird von TortoiseHg aufgerufen und funktioniert für verschieden VCSs) welche Dateien sich geändert haben, neu/gelöscht sind etc. und bekomme da auch ein diff für angezeigt (im TortoiseHg-Wiki hats nen Screenshot)



  • Mr Evil schrieb:

    wenn ich von git so lese klingt das wie als wenn jede datei fuer sich allein ist, und man nie weiss welche dateien zusammen gehoeren usw - sodass man dann aufpassen muss "bei der muss ich da auschecken, bei der dort, das zusammen funktioniert dann"

    Nein. Jeder commit speichert den aktuellen Projektstand.



  • Gordon73 schrieb:

    Ok, jetzt habe ich wenigstens verstanden, was du mit dem geschlossenen Client meinst ;).

    Den Punkt

    - ungeaenderte dateien reverten um zu sehen was sich geaendert hat

    verstehe ich aber noch nicht.

    Najo, wenn das projekt ein paar tausen dateien hat, und alle ausgecheckt sind, muss man in der pending changelist ne weile scrollen um ans ende zu kommen, da hat es sich bei mir als nuetzlich heraus gestellt die unveraenderten rejecten zu lassen, sodass nur die neuen, geloeschten und veraenderten dateien uebrig bleiben - erhoeht die uebersicht enorm

    dann sind in der changelist wirklich nur noch die die submitted werden muessen, diese kann man dann einfacher nacheinander nochmal ueberpruefen

    aber wie gesagt, ich probiere git mal aus - ne chance hatts schon verdient #gg


Anmelden zum Antworten