我使用Assembla来管理我的Subversion存储库。我已经开始对我的代码库进行一些主要的修改,并希望为我最近的生产版本创建一个标签(几周前,当我将版本live推向生产时,我忘记了这一点)。
我现在的版本是588,我想创建一个版本为577的标签。如何从命令行在Assembla中使用Subversion来执行此操作?
假设我的Assembla SVN URL是:https://subversion.assembla.com/svn/my_assembla_svn_directory/
发布于 2012-06-23 03:36:00
您可以始终使用-r参数来引用特定的修订。这样做时,您还可以使用@rev修订固定,以确保您引用的是Subversion修订在特定修订中的布局。下面的代码将从修订版577上的主干创建一个标记,并将此标记称为REV-1.2
$ svn cp -r 577 https://subversion.assembla.com/svn/my_assembla_svn_directory/trunk
https://subversion.assembla.com/svn/my_assembla_svn_directory/tags/REV-1.2如果您没有trunk、branches和tags目录,则需要移动您的工作才能创建一些:
$ # Move the current directory to the "trunk"
$ svn cp https://subversion.assembla.com/svn/my_assembla_svn_directory \
https://subversion.assembla.com/svn/my_assembla_svn_directory/trunk
$ # Make a corresponding tags and branches directories too
$ svn mkdir https://subversion.assembla.com/svn/my_assembla_svn_directory/branches
$ svn mkdir https://subversion.assembla.com/svn/my_assembla_svn_directory/tags
$ # Now, we can delete the old location. Let your developers know this,
$ # so they're not surprised by this and will be able to do a "svn relocate"
$ svn delete https://subversion.assembla.com/svn/my_assembla_svn_directory/
$ # Whoops. I should have done the tagging when I had a chance.
$ #Oh well, we'll use the `@rev` pinning:
$ svn -r557 cp https://subversion.assembla.com/svn/my_assembla_svn_directory@557 \
https://subversion.assembla.com/svn/my_assembla_svn_directory/tags/REL-1.2Subversion不实现标记和分支,除非作为副本。这并不罕见。Perforce以同样的方式实现分支。事实上,一旦你习惯了它,它就会工作得很好:
很容易看到有效的分支和标记(只需在右侧directory
svn ls,标记和分支的完整历史记录都很容易看到。您可以查看是谁进行了更改,何时、为什么等。发布于 2012-06-23 03:04:08
直接从SVN documentation
如果要创建与HEAD修订版中的/calc/trunk完全相同的快照,请复制该快照:
$ svn copy http://svn.example.com/repos/calc/trunk \ http://svn.example.com/repos/calc/tags/release-1.0 \ -m“标记'calc‘项目的1.0版本。”提交的修订版902。
此示例假设/calc/tags目录已经存在。(如果没有,可以使用svn mkdir创建。)复制完成后,新的release-1.0目录永远是您进行复制时/trunk目录在HEAD修订版中的外观的快照。当然,您可能希望更精确地说明您复制的是哪个版本,以防其他人在您未查看时提交了对项目的更改。因此,如果您知道/calc/ -r的修订版901正是您想要的快照,您可以通过将svn 901传递给svn copy命令来指定它。
(强调我的)
https://stackoverflow.com/questions/11162473
复制相似问题