Egyszerű feladatnak tűnik két ág összemergelése egy verziókövető rendszerben (néhány speciális eset kivételével). Megadjuk a két ág elérési útját és a "next" után már "csak" a keletkező conflict-okat kell feloldani, majd egy commit.
Ehhez képest svn-ben van egy kis csavar a dologban. Ott a merge céljának branch utáni első revision-ját is meg kell adni a helyes merge-hez. Nem találtam okát, hogy miért, de ez van :(.
A másik dolog ami miatt nagyon könnyen el lehet rontani a merge-t ,ha valaki tortoisesvn-t használ, a megjelenő merge ablak from és to mezőinek értelmezése. Kiválasztjuk annak a working copy-nak a könyvtárát amibe ("to") mergelni szeretnék a másik ágat ("from"). Majd a megjelenő subversion ablakba szépen be is írjuk a to-hoz a working copy repo path-t és a from-hoz a másik ág repo path-át és csodálkozunk, hogy a merge nem azt csinálja amit szeretnénk. Nos, ez esetben ezt a két path-t is meg kell cserélni.
Tehát:
From: working copy repo path
Revision: a working copy első revision-ja a branch után (ha a branch-be mergelünk, akkor a branch létrehozásának revision-ja)
To : branch/trunk repo path
Revision: HEAD Revision