SVN: In einer Datei immer ein Keyword aktualisieren



  • sjoe schrieb:

    Dann mach das mit nem Hook.
    

    Was ist ein Hook?
    http://de.wikipedia.org/wiki/Hook_%28EDV%29 ?

    Such doch mal statt bei Wikipedia in der SVN-Doku nach "Hook" - könnte helfen. Das dürfte das zu nem 5 Zeiler machen, kleines Script was bei jeder Aktion den Header aus- und eincheckt oder was in der Art.



  • Ich finde die ganze Idee grundsätzlich hässlich.

    Was geht es dem Projekt an aus welchem Branch es kommt? Und als Variable im Code erst recht.

    Was willst du mit der Information im Code?

    Wenn du wissen willst aus welchen Branch ein Projekt kommt, schau dir die Version an und suche diesen Tag dann in SVN.
    Dann kannst du es sogar genauen Revisionen zuordnen.

    Ein Branch allein ist auch nicht gerade viel Informationen, wenn ein Projekt aus dem Master kommt weißt du noch nicht welche Revision und ab dann ist es hinfällig.



  • Die Idee ist eigentlich gar nicht mal so schlecht wenn weißt von welcher Revision ein Build ist dann fällt es dir einfacher den Code zu debuggen.
    Bei uns auf der Arbeit geht das sogar soweit das Visual Studio beim debuggen dann die richtige revision auschecken kann wenn man einen crashdump hat und zeigt dann da an wo es gecrasht hat (in der Revision von der der Build ist/war)

    Das ist extrem hilfreich beim Debuggen von dumps die wir von usern bekommen haben.

    Edit: Das heißt aber auch das nicht nur im Code steht von welcher revision und aus welchem SVN branch das ist. Wie das jetzt genau funktioniert weiß ich nicht, da kümmern sich unsere Build master drum.



  • @pumuckl
    Danke für den Tip. Ich denke damit werd ich mir was basteln.

    Vielen Dank, sjoe.



  • Versionen die raus gegeben werden sollten im SCM eh markiert werden, und dann kann man es auch gezielt auschecken.
    Ich finde das es der fertigen Applikation selber nicht an geht.



  • Aber beim internen Test ist es aber manchmal schon interessant ob die getestete Version, die von vor 2 oder 3 Stunden ist.



  • Wenn eine Test Version gebaut wird und während des Tests weiter entwickelt wird - gehört diese getaggt.
    Zudem bringt da der Branch Name nichts wenn im selben weiter entwickelt wurde.



  • CSL schrieb:

    Versionen die raus gegeben werden sollten im SCM eh markiert werden, und dann kann man es auch gezielt auschecken.

    Du kannst je nach Situation eine Menge non-public releases haben die zB an Tester gegangen sind oder ähnliches...

    Oder einfach ein interner Test. Dann hast du nen crashdump davon und willst den später vergleichen mit irgendwas...

    ne ne das macht schon sinn.



  • Das taggen alleine wäre bei unserem weg wie wir den code bekommen viel zu umständlich. Vorallem da ein checkout 10-20 Minuten (Je nach belastung des SVN servers) dauert. (Da sind Millionen zeilen von code, uvm die ausgecheckt werden müssen) (Ja ich kenne SVN switch, wir haben aber einfach zu viele branches)
    Wenn aber der Visual Studio debugger gezielt dateien der verwendeten revisionen herauspicken kann ist das schon viel comfortabler. Vorallem wollen wir relativ schnell herausfinden was das problem ist und wenn wir da erst mal switchen oder gar auschecken müssen damit wir den debugger mit dem richtige code laufen lassen können würden wir viel zu viel zeit verschwenden.

    Wir haben zwar ca 100 devs mitlerweile aber haben trotzdem ne menge mehr zu tun als nur crash dumps zu analysieren. Comfort ist sehr wichtig für uns.
    Ausserdem haben wir versions, build und revisions bedingte automatische analyse der crashdumps. Damit wir auch über statistiken sehen können wie oft diverse crashes übermittelt wurden.



  • @CSL Das ist ja völliger Overkill jede Revision zu taggen. Ne da ist die Revisionsnummer eindeutig genug.


Anmelden zum Antworten