在SVN中提交时添加具有修订号的文件

时间:2012-02-09 19:26:30

标签: svn

我不确定这是否可以用Subversion实现,但有没有办法在提交时添加带有修订号的文件?

  • 文件名:revision.txt
  • 只有一行:修订号
  • 如果存在,请使用新修订号更新

更新:

好的,我已将此选项添加到我的SVN配置

[auto-props]
enable-auto-props = yes
*.php = svn:keywords=Id

这是我用SVN(命令行)

签入的文件
<?php
/**
 * $Id$
 */
?>
$Id$

查看存储库我只看到上面的代码,而不是修订号。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

<强>前言

如果您想拥有存储库的全局修订号,则会得到错误的解决方案并以非最佳方式实现这个错误的解决方案

<强>脸部

  • 存储库的最大版本ID始终可以在工作副本中访问,无需其他技巧。
$svn info .

...

Revision: 9012
Node Kind: directory

...

Last Changed Rev: 5381

...

  

$ svnversion,如果

     

9012

  • 使用纯$ Revision $ keyword
  • 可以获得文件的修订(与repo-revision不同)
  • 文件的修订是本地属性,与存储库修订无关,仅在此文件上次更改时显示,您必须更改上的文件revisions.txt >工作流程中的每个提交
  • 我认为没有理由使用1. auto-props 2.用于所有php文件。如果你想在一个文件中有svn:keyword,你可以为这个文件(revisions.txt)和svn propset添加关键字,只有这个文件
  • svn:关键字将扩展为工作副本中的值,所有回购浏览器都会显示source-text without expansion(您可以查看显示的文件并查看所有使用的关键字,并进行了很好的扩展)
  • 毕竟,如果你想提供1.存储库3的版本号2.对于你的源代码的无版本副本(因为我们已经拥有它的版本化WC),你可以考虑某种类型的构建系统,除了'svn export'之外,使用请求数据构建所需文件在导出的源代码树中。使用哪些工具(和技术)依赖于操作系统(以及可用工具的问题):Windows上的SubWCRev(TSVN的一部分)运行良好,Tux-world中的端口和等效项也存在。通常 - 您有版本化的模板文件,当您准备无版本的包时,它(作为构建过程的一部分)将转换为具有实际新数据的文件。这样我从svn.exe export ... z:\trunk$WCDATE=%Y%m%d$-r$WCREV$模式命令导出到唯一的目录名称,文本文件中的相同WCDATE模板被人类可读和信息性数据替换,$WCDATE=%Y%m%d$-r$WCREV$ 20120122-r1143 < / strong>最新提交