4

我有一个文件,其中包含以下形式的修订占位符:

$Rev: 123456 $

该文件仅在它发生更改时才被签入,因此,如果我想提交它只是为了更新修订号,我不得不在为了能够在更改列表中看到它并提交它,获得我正在寻找的结果。即使我修改了修订标志,例如:

$Rev: 0 $

SVN 足够“聪明”,可以忽略这种变化......

有没有一种(干净的)方法可以简单地告诉 SVN(乌龟)必须在不使用这些“技巧”的情况下签入文件?

注意:这是必需的,因为在构建中使用了修订号。这使我们能够在运行时清楚地识别构建的版本。

4

2 回答 2

0

另一种方法是,简单地在同一位置添加一个占位符(空文本文件)并将这个新文件与未更改的文件一起提交。稍后可以删除文本文件。

于 2014-01-18T00:11:25.620 回答
0
  1. 正如链接主题中所建议的,您始终可以在提交之前更改文件的某些属性。但是,如果您想玩内容, TortoiseSVN FAQ的部分答案将对您有用(从“Subversion 确定文件是否已使用以下方法更改...”开始)
  2. 另一方面,我会认真建议您重新考虑当前的工作流程并为正确的工作使用正确的事情-不要依赖文件的关键字(文件修订)来获得全局存储库范围的修订

对于“获取存储库修订”任务,您至少有 3 个不同的工具,其中 2 个是任何Subversion 的一部分,1 个是 TortoiseSVN 的一部分:

  • 版本。svnversion <Path-to-WC>输出链接到 WC 存储库的全局修订号,没有装饰的干净数字,准备好包含到任何东西中

>svnversion

37

(在 WC 内我跳过了路径,假设为“。”)。输出必须被翻译成某种东西。比如“repo 中的最新版本是 37,工作副本是干净的/没有未提交的更改,没有备用目录,最近可以复制 WC 的状态/”

>svnversion

37M

相同的工作副本,但已执行更改但仍未提交

  • 信息。svn info <TARGET>输出有关目标的更详细信息,但也可以与存储库 URL一起使用,不仅仅是工作副本

>svn info

...

Revision: 37

...

Last Changed Date: 2013-01-09 11:45:39 +0600 (Ср, 09 янв 2013)

在这种情况下,只有Revision字段(可能Last Changed Date还有 )值感兴趣,但必须从输出中提取此数据

  • SubWCRev和 FAQ-topic 中 TortoiseSVN 代码的使用示例
于 2013-03-16T10:12:57.220 回答