, svn copy - , . , , , .
, "" , , , . 10, 20, 30 40 . :
trunk
10
20
30
40
branches
tags
, , , :
trunk
10
20
30
40
branches
sandbox
20
40
tags
( , ), , 10, 20 . . , dev, :
10
20
30
40
dev
20
40
, dev 20 . , , .
, , . svnadmin ( , sysadmin). ( Linux, Windows, , , Windows, REPO):
svnadmin create temp.repo
REPO="file://`pwd`/temp.repo"
svn co $REPO temp
() . : URL- . URL- :
file:///home/kgregory/Workspace/temp.repo
, , , :
cd temp
svn mkdir trunk
svn mkdir branches
svn mkdir tags
svn commit -m "standard repo structure"
pushd trunk
svn mkdir 10
svn mkdir 20
svn mkdir 30
svn mkdir 40
svn commit -m "example sub-project structure"
echo "this doesn't change" > 10/dontchange.txt
svn add 10/dontchange.txt
echo "this does change" > 20/change.txt
svn add 20/change.txt
svn status
svn commit -m "example files"
popd
. find, :
temp, 531> find . | grep -v svn
.
./tags
./trunk
./trunk/10
./trunk/10/dontchange.txt
./trunk/30
./trunk/20
./trunk/20/change.txt
./trunk/40
./branches
- , :
svn mkdir branches/sandbox
pushd branches/sandbox
svn copy ${REPO}/trunk/20 .
svn copy ${REPO}/trunk/40 .
svn commit -m "make development branch"
popd
: , . trunk branches, svn copy . , trunk.
:
temp, 539> find . | grep -v svn
.
./tags
./trunk
./trunk/10
./trunk/10/dontchange.txt
./trunk/30
./trunk/20
./trunk/20/change.txt
./trunk/40
./branches
./branches/sandbox
./branches/sandbox/20
./branches/sandbox/20/change.txt
./branches/sandbox/40
. ( cd Workspace):
svn co ${REPO}/branches/sandbox sandbox
cd sandbox
:
vi 20/change.txt
svn commit -m "changed on branch"
, . , :
svn co ${REPO}/trunk trunk
cd trunk
. Subversion:
svn merge -r 4:5 ${REPO}/branches/sandbox
svn status
, 20/change.txt. 10 30 , .