读书人

Subversion 学习 4 分支功能

发布时间: 2012-07-15 20:11:29 作者: rapoo

Subversion 学习 四 分支功能

$ svncopy http://svn.example.com/repos/calc/trunk \

http://svn.example.com/repos/calc/branches/my-calc-branch\

-m"Creating a private branch of /calc/trunk."

使用这个命令,需要知道SVN 的一个概念,就是所有版本中的所有文件都可以使用一个方式来唯一表达,这个方式就是PEG, 分为2个部分,1是path? , 2是revision ID

比如:? ^/trunk/real.c@809 指的是在trunk目录下的real.c文件,在809的版本

这时候可以通过 svn copy ^/trunk/real.c@809?./real.c 命令来恢复real.c文件到当前目录

如:

?$ svn merge http://svn.example.com/repos/branch1@150 \

http://svn.example.com/repos/branch2@212\

filename.working,

$ svnlog -v -r 390

------------------------------------

r390 |user | 2002-11-22 11:01:57 -0600 (Fri, 22 Nov 2002) | 1 line

Changedpaths:

M/branches/my-calc-branch/button.c

M/branches/my-calc-branch/README

Finalmerge of trunk changes to my-calc-branch.

$ svnlog -v -r 390 -g

------------------------------------

r390 |user | 2002-11-22 11:01:57 -0600 (Fri, 22 Nov 2002) | 1 line

Changedpaths:

M/branches/my-calc-branch/button.c

M/branches/my-calc-branch/README

r383 |sally | 2002-11-21 03:19:00 -0600 (Thu, 21 Nov 2002) | 2 lines

Changedpaths:

M /branches/my-calc-branch/button.c

Mergedvia: r390

Fixinverse graphic error on button.

------------------------------------

r382 |sally | 2002-11-20 16:57:06 -0600 (Wed, 20 Nov 2002) | 2 lines

Changedpaths:

M/branches/my-calc-branch/README

Mergedvia: r390

$ svnblame button.c

390user retval = inverse_func(button, path);

390user return retval;

390user }

$ svnblame button.c -g

…G

383sally retval = inverse_func(button, path);

G 383sally return retval;

390user }

Action

Command

创建一个分支或标签

svn copy URL1 URL2

切换工作副本到分支或标签

svn switch URL1

将分支与主干同步

svn merge trunkURL ; svn commit

参见合并历史或适当修改集

svn mergeinfo SOUCE TARGET

合并分支到主干

svn merge - -reintegrate branchURL; svn commit

复制特定的修改

svn merge c REV URL; svn commit;

合并一个范围的修改

svn merge r REV1:REV2 URL ; svn commit;

让自动合并跳过一个修改

svn merge c REV - -record-only URL; svn commit;

预览合并

svn merge URL - -dry-run

丢弃合并结果

svn revert R .

从历史复活某些事物

svn copy PATH@REV localPATH

撤销已提交的修改

svn merge c REV URL; svn commit;

感知合并的检查历史

svn log g; svn blame g;

从工作副本创建一个标签

svn copy . targetURL

重新整理分支或标签

svn mv URL1 URL2

删除分支或标签

svn rm URL

?

?

?

?

?

?

?

?

?

?

?

?

读书人网 >软件开发

热点推荐