# SVN - <<<<<<< .mine - Einträge im Java Source



## guni (29. Apr 2009)

Hallo,

ich verwende Eclipse Version: 3.4.0 und das Subversion-Plugin.
Nun habe ich ein Projekt begonnen, und es zwischendurch immer wieder committed.
Jetzt stelle ich fest, dass der Weg, den ich seit einigen Versionen gegangen bin doch nicht optimal ist.
Also bin ich mit der rechten Maustaste auf mein Proekt gegangen und habe Team->Switch to another Branch/Tag/Revision geklickt. 
Ich habe dort meine gewünschte Version angegeben.

Jetzt habe ich in jeder Java Datei Einträge wie 
<<<<<<< .mine
oder
>>>>>>> .r70

... 
dazu existiert jede Java Datei einmal für jede Version (und wurde auch im Projektordner so angelegt)
hab ich da irgendeinen Schritt ausgelassen?!
wie kann ich denn endgültig auf eine Version "umschalten" / wieder auf die neueste Version zurückgehen?!

danke. guni


----------



## maki (29. Apr 2009)

Welches Subversion Plugin nutzt du?
Subversive oder subclipse?


----------



## guni (29. Apr 2009)

wo seh ich das?!


----------



## guni (29. Apr 2009)

bin mal unter Help->Software-Updates gegangen.
Dort steht unter "Installed Software":

* Subclipse 1.4.7
* Subclipse Integration for Mylin 3.x (Optional) 3.0.0
* Subversion Client Adapter 1.5.2
* Subversion Native Library Adapter (JavaHL) 1.5.5
* Subversion Revision Graph 1.0.3
* SVNKit Client Adapter 1.5.4
* SVNKit Library 1.2.1.5297

... sieht so aus, als hätte ich zumindest subclipse ...

lg, guni


----------



## maki (29. Apr 2009)

Bin ein Feund von subversive, denn das macht bei mir im Gegensatz zu subclipse kleine Probleme, ist allerdings länger her dass ich subclipse getestet habe.

Dein Problem liest sich als ob du einen Diff zwischen 2 Branchen bekommen hättest.

Ist denn der neue Branch im Repo angelegt?


----------



## Marco13 (29. Apr 2009)

Wenn es zu einem Konflikt kommt (d.h. zwei Personen "im gleichen Bereich einer Datei" etwas ändern) wird beim Mergen die eigene Änderung zwischen dem
>>>>> mine
<<<<<
angezeigt, und die andere zwischen dem
>>>>> [Revisionsnummer]
<<<<<


----------



## guni (29. Apr 2009)

maki hat gesagt.:


> Bin ein Feund von subversive, denn das macht bei mir im Gegensatz zu subclipse kleine Probleme, ist allerdings länger her dass ich subclipse getestet habe.
> 
> Dein Problem liest sich als ob du einen Diff zwischen 2 Branchen bekommen hättest.
> 
> Ist denn der neue Branch im Repo angelegt?



keine Ahnung. Ich verwende Subversion seit ein paar Tagen und kenn mich noch nicht wirklich aus ...
Branches habe ich nicht angelegt; bin bis jetzt immer nur auf "Commit" gegangen ...
ich blick auch nicht so ganz hinter das System; mir reicht, wenn ich alte Versionen abrufen kann ...

nach dem Auschecken ist bei mir folgendes passiert (anhand einer Beispieldatei):
meine Application.java sieht jetzt so aus:

```
package __testpkgs;

<<<<<<< .mine
import contentdb.corporatestructure.Firstrun;
=======
import contentdb.corporatestructure.Company;
>>>>>>> .r70

public class Application {

	public static void main(String[] args) throws Exception {
		
<<<<<<< .mine
		// die Erstellung / Einstellung von Mitarbeitern soll im Setup funktionieren (siehe unten)
		// darüber hinaus sollen aber auch separate Aufrufe funktionieren
		
		new Firstrun().install("/lsalarchiv/", "BS", "4", "Struktur 1", "Struktur 1");
		
=======
		new Company().create("/lsalarchiv/", "BS", "1", "Firmenstruktur");
>>>>>>> .r70
	}

}
```

darüber hinaus existiert eine Application.java.mine in der der aktuelle Code steht
dann gibt es eine Application.java.r76
und eine Application.java.r70
natürlich könnte ich hergehen und jede Datei in meinem Projekt durch die entsprechende .r<XX> ersetzen, so, dass alle Dateien auf der gewünschten Version sind.
Aber das kann ja nicht ganz Sinn der Sache sein, oder?!
Wozu hab ich dann ein plugin??
ich hab auch schon ausprobiert, den Source der .java durch den Source der gewünschten .r<XX> zu ersetzen und dann neu einchecken; aber auch dabei bekomm ich einen Fehler.
Hilfe!
ich will einfach eine andere Version meines Projektes haben!!

lg, guni


----------



## guni (29. Apr 2009)

@Marco.

es muss doch irgendeine Möglichkeit geben zu sagen:
"Verwende Alles das zwischen der Revisionsnummer XX angezeigt wird, oder?"

Wozu gibt es sonst den Button "Switch to revision"?!


----------



## maki (29. Apr 2009)

Im zweifelsfall nutzt man auch nicht das Switch, kann nämlich unvorhergesehene Ergebnisse produzieren wenn mitten drinn abgebrochen wird.

Würde den Branch/die Rev.. die du willst einfach als neues Projekt auschecken.



> keine Ahnung. Ich verwende Subversion seit ein paar Tagen und kenn mich noch nicht wirklich aus ...


Solltest dich unbedingt erst mit Subverison auseinandersetzen und grundlegende Dinge wie Branching, Merging, Tagging, was macht man wenn man einen commit rückgängig machen will etc. pp. üben, denn so etwas bei einem richtigen Projekt zu üben kann ganz schnell schief gehen.
Das ist alles übrigens sehr einfach mit Subversion.


----------



## guni (29. Apr 2009)

... wie gesagt: in meinem Fall ist weder Branching noch Merging oder Tagging relevant.
Soweit hab ich mich schon damit auseinandergesetzt, dass mir das ein Begriff ist. (vielleicht hätte ich mein Projekt irgendwann zwischendurch mal taggen sollen)
Ich wollte einfach nur auf einen anderen Versionsstand meines Projektes gehen.

das scheint auch weitgehend zu funktionieren nur wirkt subclipse für mich so, als würde es bei der Hälfte "steckenbleiben" ... es zeigt mir alle Änderungen bis zur gewünschten Version an; allerdings ändert es dann die betreffende Datei nicht auf den gewünschten Stand zurück!
Muss ich das in irgendeinem Extraschritt machen?!
Muss ich mein Projekt jetzt wegschmeißen?! 
... ich arbeite eigentlich schon ein paar Wochen daran.
ich wollte nicht mehr als einfach eine andere Version davon abrufen.
Ich versteh nicht, dass das so kompliziert sein kann ...

lg, guni


----------



## maki (29. Apr 2009)

> Ich versteh nicht, dass das so kompliziert sein kann ...


Ist es nicht wenn man sich mit Subversion auskennt 
Deswegen auch mein Hinweis darauf dass man zumindest die Grundlagen beherrscht bevor man sich auf richtige Projekte stürzt.

Hättest du auf einem Branch gearbeitet, wäre es jetzt wohl leichter.
Sollte aber so auch kein Problem sein.

Was ist denn das Problem wenn du einfach das Projekt in der gewünschten Revision komplett neu auscheckst?
Die nachträglichen Änderungen kannst du ja wieder mergen, dann die konflikte korrigieren und alles wider einchecken...


----------

