Toon posts:

[TurtoiseSVN] hoe .txt-code mergen

Pagina: 1
Acties:

Acties:
  • 0Henk 'm!

Anoniem: 366730

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

Acties:
  • 0Henk 'm!

  • 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


Acties:
  • 0Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 20:14
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]


Acties:
  • 0Henk 'm!

  • 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.

Acties:
  • 0Henk 'm!

  • 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

Acties:
  • 0Henk 'm!

Anoniem: 366730

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


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee