【问题标题】:Unable to retrieve using a tag无法使用标签检索
【发布时间】:2012-01-18 15:22:35
【问题描述】:

我们正在尝试使用 Visual Studio 自动化一个应用程序,该应用程序将:

  1. 在特定时间点创建主干副本。
  2. 为目录分配标签
  3. 删除目录
  4. 以后只能重新创建标记目录

为此,我们做一个 svn 副本,给它一个标签名称,即

svn copy "C:\SVN_Checkout\P41-ships\complete" "C:\SVN_Checkout\P41-ships V1.1"

我们使用svn commit 提交更改。至此我们可以签出V1.1标签目录没有问题。

我们使用svn delete "C:\SVN_Checkout\P41-ships V1.1"删除目录

但是当我们去检索标记的目录时,我们得到一个错误
URL 'SVN_Checkout\P41-ships%20V%201.1' doesn't exist.

我们做错了什么,甚至可以这样做吗?

【问题讨论】:

  • 所以你创建标签,然后删除标签,然后对标签不再存在感到困惑?

标签: svn tags


【解决方案1】:

我们使用svn delete "C:\SVN_Checkout\P41-ships V1.1"删除目录

但是当我们去检索标记的目录时,我们得到一个错误
URL 'SVN_Checkout\P41-ships%20V%201.1' doesn't exist.

没有“但是”。一旦你svn delete 分支,它就不再存在了。毕竟,这就是删除的目的。 (当然,SVN 确实保留了历史,所以它仍然存在于旧版本中。但不是在当前版本中。)

你想要的是文件级删除吗?那将是
del "C:\SVN_Checkout\P41-ships V1.1"

【讨论】:

  • 我们试图做的是删除 SVN 标签目录,这样当在主干级别完成检出时,不会显示修订信息。也许我需要将 SVN 目录结构更改为。主干/顶层和主干/修订版,只允许开发人员从主干/顶层签出
  • @user1156529:“我们试图做的是删除 SVN 标签目录,以便在主干级别完成检出时不会显示修订信息。”我不知道那是什么意思。
  • 这意味着当我在卡车级别进行结帐时,P41-ships V1.1 目录不会在本地副本上结帐。
【解决方案2】:

如果您只想删除签出的代码,只需使用普通删除方法,而不是svn deletesvn 命令将更改应用到存储库,而不是只是本地文件系统。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多