繁体   English   中英

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

[英]To add a file with a revision number on commit in SVN

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

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

更新:

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

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

这是我正在用SVN(命令行)签入的文件

<?php
/**
 * $Id$
 */
?>
$Id$

在存储库中,我只会看到上面的代码,而看不到修订号。

前言

如果您想要存储库的全局修订版号,则会得到错误的解决方案 ,甚至会以非最佳方式实施此不良解决方案

面对

  • 始终可以在工作副本中访问存储库的最大修订ID,而无需其他技巧。
 $svn info . ... Revision: 9012 Node Kind: directory ... Last Changed Rev: 5381 ... 

要么

$ svnversion,如果

9012

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM