subversion kérdés

Fórumok

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

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.

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?

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 (;

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