# ASVN (Adult-SVN) ?



## pocketom (13. Okt 2009)

Folgendes Déjà-vu ereilt mich mehrmals wöchentlich oder täglich:


Ich stelle fest einen Codeabschnitt durch gewagte Änderungen eher verschlimmbessert statt verschönert zu haben und möchte sentimentalerweise zurück auf eine ältere Revision.

SVN sei dank, ich checke die gewünschte Revision aus, verbreche noch die ein oder andere Bagatelle im Code und möchte die Neuauflage meines geistigen Fehltritts wieder einchecken.

An dieser Stelle mahnt mich der große SVN Gott dazu an eine Gedenksekunde einzulegen: _File 'BlaBlubb.java' is out of date; try updating_

Trotzig verweigere ich den Klick auf den Update Button, schliesslich fühle ich mich bereits mit meiner Workingcopy  relativ synchron. Konflikte erwarten mich ausserdem schon genug wenn ich heute mal wieder erst um 21:59 Uhr von der Arbeit nach Hause komme. Also wurstle ich mich in Lichtgeschwindigkeit durchs Team-Contextmenü in den Compare Editor, hacke blind auf der linken Seite des Vergleichers Rechtsklick/Mark as Merged und dann darf ich endlich committen. Der beinahe genau so unfähige Kollege wie ich neben mir beherrscht eine andere Methode um den SVN Gott auszutrixen. Wir haben jedoch noch keine Stoppuhr gefunden die genau genug wäre um zu ermitteln welches Täuschungsmanöver nun in der Praxis schneller von statten geht.


------------

Ernsthaft: Ich frage mich schon seit einer halben Ewigkeit ob es für SVN nicht irgendeine Extension/Plugin/Modifikation gibt um auch die Zielgruppe der erwachsenen Programmierer zu bedienen. Anstatt mir die überflüssige Fehlermeldung ein ums andere Mal um die Ohren zu hauen wäre es schön wenn ich an dieser Stelle einfach veranlassen könnte dass mein File mit der aktuellen Revisionsnummer+1 eingechecked wird. Nichts anderes ist schliesslich auch das Resultat wenn ich hier das Merge-Ritual vollführe.

Mittlerweile würde ich sogar Sicherheitsabfragen a la Windows Vista in Kauf nehmen:

X -   Ja, ich bin über 18 Jahre alt und mir im Klaren darüber das mein Vorhaben schwerste Folgen haben kann
X -   Ja, mir ist bewusst das dies nicht zu 100,99% der heiligen SVN Philosophie entspricht und ich einen unverzeilichen Bruch zu verantworten habe
X -   Ja, ich bin im Volbesitz meiner gestigen Kräfte und versichere weiterhin die SVN Macher nicht haftbar zu machen falls irgendetwas etwas schiefgehen wird
X -   Ja, ich versichere kein Kernkraftwerk mit Softwareprodukten zu betreiben die von diesem Versionkontrollsystem verwaltet werden
...
...
...


Evtl. bin ich aber auch einfach nur ein Riesen-Nasenbär dessen IQ nicht ausreichend ist um mit den ergonomischen Ansprüchen von SVN/Supclipse/Subversive mithalten zu können. Bitte helft mir endlich meinen Weg zu einem neues, besseren und effizienteren Developerdasein zu finden!


----------



## maki (13. Okt 2009)

Dafür gibt es zB. den merge Befehl, steht auch so in der Doku


----------



## pocketom (13. Okt 2009)

Klar, doch "Merge" funktioniert aber in dem Fall nicht immer ('No changes to merge', z.B. wenn meine Workingcopy eine niedrigere Revnr. hat als HEAD auf dem Repo). Ich meine damit vielmehr das es doch einfach praktischer wäre wenn man die Möglichkeit hätte sobald die Fehlermeldung auftritt direkt commiten zu können (commit -force o.Ä.).


----------



## maki (13. Okt 2009)

> Klar, doch "Merge" funktioniert aber in dem Fall nicht immer ('No changes to merge', z.B. wenn meine Workingcopy eine niedrigere Revnr. hat als HEAD auf dem Repo)


Dann verwendet man es nicht richtig 

Subversion erlaubt dass von dir gewünschte Verhalten nicht aus gutem Grunde, musst damit leben lernen.


----------



## tfa (14. Okt 2009)

Override and Commit?
Andererseits, wer wirklich _erwachsen _ ist, braucht so eine SVN-Vergewaltigung nicht


----------



## pocketom (14. Okt 2009)

maki hat gesagt.:


> Dann verwendet man es nicht richtig
> 
> Subversion erlaubt dass von dir gewünschte Verhalten nicht aus gutem Grunde, musst damit leben lernen.



Die Vermutung habe ich schon länger, ich frage mich nur warum es mir in äusserst komfortabler Weise überhaupt erst anbietet auf eine niedrigere RevNr. zu updaten? Danach hat man nämlich genau die Situation das man nicht mehr mergen kann und hier irgendwo geht dann auch das Schlamassel los...


----------



## maki (14. Okt 2009)

pocketom hat gesagt.:


> Die Vermutung habe ich schon länger, ich frage mich nur warum es mir in äusserst komfortabler Weise überhaupt erst anbietet auf eine niedrigere RevNr. zu updaten? Danach hat man nämlich genau die Situation das man nicht mehr mergen kann und hier irgendwo geht dann auch das Schlamassel los...


Damit kann man zB. komfortabel einen Branch bzw. ein Tag erzeugen, ohne vorher ein copy zu machen.
Brauchst den Head (vom trunk nehme ich an, ausser du arbeitest auf einem branch) und dann ein Merge.


----------



## bygones (14. Okt 2009)

pocketom hat gesagt.:


> X -   Ja, ich versichere kein Kernkraftwerk mit Softwareprodukten zu betreiben die von diesem Versionkontrollsystem verwaltet werden


lol damit würde sich das für mich schon nicht nutzbar sein ;-)


----------



## pocketom (15. Okt 2009)

Du schreibst Software für KKWs?


----------



## Wildcard (15. Okt 2009)

bygones hat gesagt.:


> lol damit würde sich das für mich schon nicht nutzbar sein ;-)



Dann hast du dir aber die falsche Sprache rausgesucht:
Java Technology Licensing


> You acknowledge that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility.


----------



## pocketom (19. Okt 2009)

Workingcopy / Ordner (395)

-> Merge... -> URL: (die URL des Ordners auf dem Repo, ausgewählt mit Subclipse Browse Button) -> Revisions: 381 für diesen 'Ordner' auf dem Repo (ausgewählt mit der Browse Funktionalität die mir Subclipse anbietet) -> "OK"

ratter.ratter.ratter.....


==>

Popup Fenster

Synchronize Complete - SVN Merge

'Merge: No changes found.'


Mehr als 100 Files weisen in diesem Ordner Änderungen auf !!!!


Das war 1zu1 die Vorgehensweise die in der Doku beschrieben wird um einen 'Rollback' durchzuführen (wie wärs eigentlich mal mit nem Menüpunkt "Rollback", was im Hintergrund abläuft ist mir gelinde gesagt schnurzpiepegal). Mergen auf die nächstniedrigere Version hat bei uns noch nie funktioniert, der ganze Drecks Merge Befehl funktioniert einfach nicht. Da kam noch nie was dabei raus. Nicht mal wenn ich 2 identische URLS auf dem Repo direkt mit unterschiedlichen Revisionsnummern auswähle passiert was (An dieser Aufgabe hängt er dann bis in alle Ewigkeiten...).

Es bleibt dabei, der Mist treibt mich weiterhin in den Wahnsinn. Bitte verweist mich jetzt nicht wieder auf die Doku die kann ich mittlerweile nicht mehr sehen...


Das einzige was geht ist ein "Update" des gesamten Ordners auf die niedrigere Version, hierbei kann ich jedoch nciht kontrollieren was im Resultat rauskommt und zudem hängen mir dann wieder sämtliche Files in diesem Ordner unter der alten Revisionnummer drin -> hochscrollen, da geht das Spielchen mit dem "Out of Date" beim nächsten Mal wieder von vorn los... ^^


----------



## bygones (19. Okt 2009)

pocketom hat gesagt.:


> Du schreibst Software für KKWs?


jo


Wildcard hat gesagt.:


> Dann hast du dir aber die falsche Sprache rausgesucht:
> Java Technology Licensing


a) ich hab mir gar nix ausgesucht
b) habe ich nie behauptet dass die Software fuer den kritischen Betrieb der Kraftwerke ist


----------

