Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[TurtoiseSVN] hoe .txt-code mergen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een project van school is het de bedoeling om met zogenaamd svn te werken. Hiervoor hebben we het programma TurtoiseSVN beschikbaar gesteld gekregen. Ook hebben we een repository van school gekregen. Het svn-repository wilden we gebruiken voor het opslaan van Java-code (denk aan .txt).

Aangezien ik nog nooit met svn had gewerkt besloot ik het programma wat te gaan verkennen. Algauw liep ik echter vast op het volgende punt:

Op de repository staat een textbestand met 2 methodes:

----------------
Java-code

methode 1
methode 2
----------------

Twee codekloppers besluiten te gaan coderen op aparte pc's. Codeklopper 1 voegt een methode 3 toe. Codeklopper 2 bewerkt methode 2. Nu commit codeklopper 1 zijn versie. Als codeklopper 2 zijn versie wil commiten krijgt hij een error dat de versie niet overeen komt.

Codeklopper 2 moet nu zijn versie gaan mergen met de laatste versie op de repository. Mijn vraag is; Heeft er iemand ervaring met TurtoiseSVN die mij kan uitleggen hoe je (handmatig) moet mergen?

Het hoeft helemaal niet ingewikkeld of automatisch te gaan. Het is gewoon een eerstejaarsproject waarmee je eigenlijk leert kennis maken met de basis van svn.

mvg,

barrytjh

  • DutchNutcase
  • Registratie: Augustus 2005
  • Niet online

DutchNutcase

E = mc^2

Volgens mij kun je gewoon binnen je working dir klikken en zeggen merge, maar dat weet ik niet zeker. Ik gebruik eigenlijk alleen maar de command line versie en de Eclipse plugin Subclipse. Waarschijnlijk zou een svn update al genoeg moeten zijn om je merge handling op te pikken in TortoiseSVN.

Dit soort gedoe is trouwens ook de reden om te branchen. Hoe is je repository layout?

En als extra gratis supertip (misschien kende je 'm al): Het beste stuk SVN documentatie dat er is

Luctor et Emergo || specs


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 21-11 10:33
Codeklopper 2 hoeft niet handmatig te mergen.
Hij moet slechts zijn workingcopy updaten met de HEAD van de repository (Rechtermuis > Tortoise/SVN > Update).

SVN zal de wijzigingen uit de repository dan automatisch in zijn wijzigingen mergen. Indien hier conflicten ontstaan wordt dit vanzelf aangegeven, en moet je dit handmatig resolven.

Je hebt de optie "Merge" pas nodig wanneer je met Branches gaat werken, of bijv. commit ongedaan wilt maken..

[ Voor 15% gewijzigd door frickY op 09-05-2011 18:07 ]


  • ik222
  • Registratie: Maart 2007
  • Niet online
Zolang je niet dezelfde regels hebt bewerkt wordt dit gewoon automatisch gemerged door SVN. Dit werkt dan als volgt:
- Persoon 1 heeft als eerste een commit van zijn code uitgevoerd.
- Persoon 2 wil vervolgens committen en krijgt een error dat de versie niet overeen komt met daarbij de aanbeveling SVN update te draaien.
- Persoon 2 doet dit en de code van persoon 1 wordt toegevoegd aan de file van persoon 2 terwijl de code van persoon 2 gewoon behouden blijft.
- Persoon 2 kan nu gewoon committen en zo blijft de code van beide behouden en is deze samengevoegd in een bestand.

Dit is dus wel als je niet dezelfde regels bewerkt, als dat wel het geval is krijg je een conflict. Wanneer dat het geval is moet je dat resolven, dan kan turtoise je de verschillen laten zien en kun jij de keuze maken van wat je wilt gebruiken in de nieuwe versie.

Let ook op dat dit alleen bij text based files werkt. Bijvoorbeeld in een Word document werkt het niet omdat dat een binary formaat is.

  • mithras
  • Registratie: Maart 2003
  • Niet online
Jullie werken op dit moment met de volgende methode:

1) Open bestand en voer aanpassingen uit
2) Commit gewijzigd bestand

In weze werk je niet op deze manier met een versiebeheersysteem, maar zo:

1) Update je bestand naar de head van svn
2) Open bestand en voer aanpassingen uit
3) Update je bestand naar de head van svn, die zal lokaal een merge uitvoeren
4) Commit gewijzigd bestand

Verwijderd

Topicstarter
ah, ik denk dat ik al verder ben gekomen. Als ik de tweede persoon commit (met foutmeldingen tot gevolg) en daarna update krijg ik er allemaal vreemde .txt bestandjes bij en is mijn codebestand ook een beetje vreemd. Als ik dan probeer te commiten krijg ik inderdaad de keuze om met TurtoiseMerge de code aan te passen.

Na een paar keer proberen lukt het me inderdaad om in mijn testmappen het gemergde bestandje te krijgen.

Hartelijk bedankt voor deze snelle oplossingen!

mvg,

Barrytjh
Pagina: 1