Subversiont nem régen használok, biztos vagyok benne, hogy nagyon egyszerű dolgot kérdezek, de légyszi segítsetek!
Szóval van egy svn working copy a gépen (windows xp). Van egy könyvtárszerkezet, c:\projekt\trunk\src\bin alatt van egy shell script, amit készítettem, tegnap. trunk-ba be van commitolva.
Azt szeretném, hogy a c:\projekt\branches\REL_1.0\src\bin alatt ugyanez a fáj, azonos néven, azonos verzióban megjelenjen a repóban.
Ha nem tévedek, akkor ehhez a tortoiseSVN merge funkcióját kellene használni. Elmegyek a working copyba a branch részhez, abba a könyvtárba, ahol laknia kellene. Jobb gomb, tortoiseSVN->merge
Első dolog, ahol elakadtam: URL to merge from.
Ide mit kellene megadni? Milyen URL-t? Megadom a konkrét fájl URL-ét,
https://svn.domain.com/prod/projekt/trunk/src/bin/daemons.bash
revision range to merge: üres (ami azt jelenti, hogy minden). (Próbáltam HEAD szóval, meg konkrét számmal: 1371)
next. test merge - OK. Merge. OK.
Command: Merging revisions 1-HEAD of https://svn.domain.com/prod/projekt/trunk/src/bin/daemons.bash into C:\projekt\branches\REL_1.0\src\bin, respecting ancestry
Completed: C:\projekt\branches\REL_1.0\src\bin
Megnézem, és nem látszik ez a fájl ebben a könyvtárban.
Mit csinálok rosszul?
G
- 1497 megtekintés
Hozzászólások
Neked nem a merge, hanem a copy parancs kell. Tortoise alatt ez a branch.
A merge a visszafele ut, azaz ha modositod a fajlt a masik helyen, igy vissza tudod tenni a modositasokat az eredetibe is. Ebbol latszik, hogy amit az uj helyen kommitalsz, az a regi helyen nem jelenik meg, es ugyanez vissza fele. Azaz a copy utan ha barmelyik file -t kommitolod, elvalik a fejlodesuk.
- A hozzászóláshoz be kell jelentkezni
OK, koszi
- A hozzászóláshoz be kell jelentkezni
Rendben, trunk-ból copy-val átment a branch-be a fájl.
Újabb probléma, most már tényleg merge: beleállok a branch working copy-ba.
jobb gomb, tortoise svn > merge.
Merge a range of revisions.
URL to merge from
https://svn.domain.com/prod/projekt/trunk/src/bin/daemons.bash
Revision range to merge
1399
Next,
Merge depth: only this item
Merge
Command: Merging revisions 1-HEAD of https://svn.domain.com/prod/projekt/trunk/src/bin/daemons.bash into C:\projekt\branches\REL_1.0\src\bin, respecting ancestry
Error: Cannot replace a directory from within
Finished!:
Nem értem. Nem akarok semmi könyvtárat lecserélni, csak egy konkrét fájlnak egy új verzióját szeretném ide merge-ölni, a régi verzióba bele.
Mit kellene máshogy tennem?
- A hozzászóláshoz be kell jelentkezni
Attól eltekintve, hogy egy file merge-elésének semmi értelme nincs,
svn merge https://svn.domain.com/prod/projekt/trunk/src/bin/daemons.bash src/bin/daemons.bash
nagyjából azt csinálta, amit kellene neki.
Persze az svn log https://svn.domain.com/prod/projekt/branches/REL_1.0/src/bin/daemons.bash
a trunkban elvégzett változásokhoz tartozó log message-eket nem mutatja, de miért is mutatná, ezen nem lepődünk meg, a subversion merge mindig is egy kalap sz.r volt.
"Mit kellene máshogy tennem?"
Ne használj subversiont (;
- A hozzászóláshoz be kell jelentkezni
miért nincs értelme egy fájl merge-ölésének?
a trunk-ben elkövetett változásokból szedem épp össze, hogy mi kell a branch-ben.
Ha egy fájl változott, akkor annyit kell átvezetnem, ha több, akkor többet.
Vagy valamit félreértettem, és a kommented nem is erre vonatkozott... akkor viszont kicsit érthetőbben írd le, légyszi!
a subversion használata nem opció, ennél a cégnél ez van. Nekem viszont 0 tapasztalatom van vele, mert korábban PVCS-t, CVS-t és MS Visual SourceSafe-et használtam cégnél, arch-ot és git-et otthon. SVN kimaradt.
- A hozzászóláshoz be kell jelentkezni
a subversion használata nem opció, ennél a cégnél ez van. Nekem viszont 0 tapasztalatom van vele, mert korábban PVCS-t, CVS-t és MS Visual SourceSafe-et használtam cégnél, arch-ot és git-et otthon. SVN kimaradt.
ezt olvasd at esetleg: http://wiki.hup.hu/index.php/Subversion_howto
--
HUP Firefox extension
- A hozzászóláshoz be kell jelentkezni