Php Subversion按部分名称查找标记(在windows上)

Php Subversion按部分名称查找标记(在windows上),php,windows,svn,tags,cmd,Php,Windows,Svn,Tags,Cmd,如何根据标签名称的一部分查找标签 我有一个关于存储库的结构 /主干 /标签 /还原 /86__20140206_123000 /85_uu20140205_u123000 /{rev_no}{2x_}{YYYYMMHH}{1x_}{HHiiss} 我正在处理恢复过程:Trunk有故障,所以php脚本可以: 1.复制/标记/将标记还原到/trunk 2.将修订号顶部的标签复制到/tags/Revert 3.删除第2点中的副本。标签 因此,下一次提交(通过php)将是: 1.复制/tags//还原到

如何根据标签名称的一部分查找标签

我有一个关于存储库的结构

/主干
/标签
/还原
/86__20140206_123000
/85_uu20140205_u123000
/{rev_no}{2x_}{YYYYMMHH}{1x_}{HHiiss}

我正在处理恢复过程:Trunk有故障,所以php脚本可以:
1.复制/标记/将标记还原到/trunk
2.将修订号顶部的标签复制到/tags/Revert
3.删除第2点中的副本。标签

因此,下一次提交(通过php)将是:
1.复制/tags//还原到/tags/{rev_no}{2x__}{now_date_time}tag
2.复制/中继以还原标记
3.将新员工(从开发部门复制)放到/trunk/

创建、删除和复制都可以正常工作
唯一的问题是,我需要找到(在windows上)要复制以还原的标记,仅基于其名称的一部分:我有{rev_no}{2x_}
svn副本[repo]/tags/|查找“86”/。[repo]/trunk
给出结果:未找到文件-“86_uu*”/;
事实上,我尝试了很多选择,但都失败了,现在想法都没有了。

我通过php execute发出这些命令,所以我想我需要尝试使用单个命令捕获标记名,然后使用下一个命令将其内容复制到主干


有办法做到这一点吗?

前言 天哪

  • 谁为SVN存储库发明了如此愚蠢的恢复策略?

  • 以自然、脑力驱动的方式撤销修订,通过反向合并错误修订(到“最后已知的良好版本”)
  • 单个最后一个已知货物可以作为自定义svn属性存储在主干内,而不是杂乱的标签
  • 是谁发明了这种无脑的标签命名?

标记(和任何其他节点)本身包含所有需要的数据,可通过
svn ls
svn log
访问(src、src rev、创建时间戳)

如果您想为所有人消除未来的烦恼,最好的选择是从头开始重新设计(请参阅我上面的注释1-2)

面对 唯一的问题是,我需要找到(在windows上)标记来复制以还原

如果修订是标记名的前导部分,并且因为Windows
sort
使其变得更糟糕,则必须重命名所有标记并添加前导零,以进行正确的数字排序,如果没有修订,sort将给您类似的结果

/125__20140207_123000
/85__20140203_123000
/86__20140204_123000
/99__20140205_123000
或者,有数千人在现场

/125__20140207_123000
/4025__20140307_123000
/85__20140203_123000
/86__20140204_123000
/99__20140205_123000
违背

/0085__20140203_123000
/0086__20140204_123000
/0099__20140205_123000
/0125__20140207_123000
/4025__20140307_123000
在任何情况下,所有现有标记的列表都是
svn ls URL
。AFAICR(TBT!!!),最新的标签总是在底部,不管名称如何

> svn ls http://websvn.tigris.org/svn/websvn/tags
1.00/
1.01/
1.02/
...
2.3.3/
您可以使用最后一行的标记名和合并URL,或者使用
svnls-v

>svn ls -v http://websvn.tigris.org/svn/websvn/tags
   1268 dirkthom              июн 27  2011 ./
      2 tarmes                фев 04  2004 1.00/
      7 tarmes                фев 05  2004 1.01/
     14 tarmes                фев 06  2004 1.02/
    ...
   1268 dirkthom              июн 27  2011 2.3.3/
并在第一列(
1268 dirkthomююаа27 2011 2.3.3/
)中按最大版本查找最新的标签(最后一列),或使用svn日志查找标签,仅适用于最新版本,带有文件列表,并将最后一个标签作为受影响文件的一部分

>svn log -l 1 http://websvn.tigris.org/svn/websvn/tags -q -v
------------------------------------------------------------------------
r1268 | dirkthomas | 2011-06-27 15:12:51 +0600 (Пн, 27 июн 2011)
Changed paths:
   M /package.cmd
   M /package.sh
   A /tags/2.3.3 (from /branches/2.3:1266)
   ...

A/tags/2.3.3
将为您识别最新的标签

您是否听说过
svn ls