gpt4 book ai didi

SVN:为旧修订创建一个文件夹

转载 作者:行者123 更新时间:2023-12-05 00:04:55 25 4
gpt4 key购买 nike

我是版本控制系统的新手,所以请原谅。

我的项目由两个较小的应用程序组成,它们都在自己的 SVN 存储库中。此外,我在这些应用程序之间共享一个存储库 (svn:externals)。

当发布新版本时,我想为该版本创建一个文件夹(包括源代码、文档等)。单个应用程序的存储库应如下所示:

.UI
. "old versions"
. 1.0
. 2.0
. 2.5
. trunk (current development version 3.0)

所以我的问题是:

  1. 这种结构的正确名称是什么(在 SVN 中)?
  2. 如何创建它?
  3. 是否可以卡住那些旧的修订版(防止对该文件夹进行更改)?
  4. 有没有更好的方法来实现这一目标?

最佳答案

  1. “tags”是该文件夹的标准正确名称。
  2. “svn copy”是你创建它的 friend 。许多持续集成产品都可以选择自动标记构建。
  3. 是的,您可以使用“预提交 Hook ”卡住它们(见下文。)
  4. 这是标准的做事方式。如果你偏离得太远,你会混淆其他用户。

我们在此处使用的示例预提交 Hook (适用于 Windows):

@echo off
SET SVNLOOK=C:\Program Files\CollabNet Subversion Server\svnlook.exe
SET GREP=D:\SVN\REPO\hooks\grep.exe

REM Prevent changes to tags.
("%svnlook%" changed -t %2 %1 | "%grep%" "^U.*/tags/") && (echo Cannot commit an update to a tag.>&2 && exit 1)

REM Prevent commits without comments.
("%svnlook%" log -t %2 %1 | "%grep%" "[a-zA-Z0-9]") || (echo You must specify a comment for all actions.>&2 && exit 1)

exit 0

要手动创建标签,请使用如下命令:

svn copy "http://your/repo/UI/trunk"  "http://your/repo/UI/tags/v3.0" -m "Tagging v3.0"

关于SVN:为旧修订创建一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4256836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com