Svn 如何获取给定文件的所有版本?
我想在我的SVN存储库中获取给定文件的所有版本。例如,假设文件ThirdPartyAssembly.dll被检查了3次,是否有一个命令可以让我获得硬盘上的所有版本(例如ThirdPartyAssembly.dll.v1、ThirdPartyAssembly.dll.v2、ThirdPartyAssembly.dll.v3等)Svn 如何获取给定文件的所有版本?,svn,tortoisesvn,Svn,Tortoisesvn,我想在我的SVN存储库中获取给定文件的所有版本。例如,假设文件ThirdPartyAssembly.dll被检查了3次,是否有一个命令可以让我获得硬盘上的所有版本(例如ThirdPartyAssembly.dll.v1、ThirdPartyAssembly.dll.v2、ThirdPartyAssembly.dll.v3等) 谢谢 没有现成的命令,但是您可以构建使用log-q命令输出的简单脚本 zerkms@honeypot /var/www/cv $ svn log -q index.html
谢谢 没有现成的命令,但是您可以构建使用
log-q
命令输出的简单脚本
zerkms@honeypot /var/www/cv $ svn log -q index.html
------------------------------------------------------------------------
r17 | zerkms | 2010-04-21 21:47:16 +1100 (Wed, 21 Apr 2010)
------------------------------------------------------------------------
r16 | zerkms | 2010-04-21 21:37:03 +1100 (Wed, 21 Apr 2010)
------------------------------------------------------------------------
r15 | zerkms | 2010-04-21 21:36:46 +1100 (Wed, 21 Apr 2010)
------------------------------------------------------------------------
r14 | zerkms | 2010-04-21 21:32:37 +1100 (Wed, 21 Apr 2010)
... etc
所以您只需要用您最喜欢的脚本语言解析第一列
在此之后,只需执行以下操作:
svn copy http://server/full/path/to/file@14 file.rev.14
等等,对于每个修订版,您将得到一堆
文件.rev.XX
没有现成的命令,但您可以构建使用log-q
命令输出的简单脚本
zerkms@honeypot /var/www/cv $ svn log -q index.html
------------------------------------------------------------------------
r17 | zerkms | 2010-04-21 21:47:16 +1100 (Wed, 21 Apr 2010)
------------------------------------------------------------------------
r16 | zerkms | 2010-04-21 21:37:03 +1100 (Wed, 21 Apr 2010)
------------------------------------------------------------------------
r15 | zerkms | 2010-04-21 21:36:46 +1100 (Wed, 21 Apr 2010)
------------------------------------------------------------------------
r14 | zerkms | 2010-04-21 21:32:37 +1100 (Wed, 21 Apr 2010)
... etc
所以您只需要用您最喜欢的脚本语言解析第一列
在此之后,只需执行以下操作:
svn copy http://server/full/path/to/file@14 file.rev.14
等等,对于每个修订版,您将得到一堆文件.rev.XX
您可以在每个版本上运行diff命令,以使CVS生成旧文件的副本。如果有很多旧版本,您甚至可以编写此脚本
但也就是说,你到底想在这里做什么?也许有更好的方法?您可以在每个版本上运行diff命令,让CVS生成旧文件的副本。如果有很多旧版本,您甚至可以编写此脚本
但也就是说,你到底想在这里做什么?也许有更好的方法吗?我有98个版本的文件,有没有方法让批处理文件可以做到这一点?谢谢Marco!这是一个很好的解决方案,但当我选择多个修订时,“将修订保存到…”不可用。@Martin:“我有98个修订…”我不知道,你的问题中提到了3/4的修订。我不知道。@Marco:我还是喜欢你的解决方案!:)我将尝试编写脚本,否则我可能会一个接一个地这样做…:S@Martin:编写CLI脚本而不是GUI脚本不是更简单吗-SI有98个版本的那个文件,有没有办法让一个批处理文件可以做到这一点?谢谢Marco!这是一个很好的解决方案,但当我选择多个修订时,“将修订保存到…”不可用。@Martin:“我有98个修订…”我不知道,你的问题中提到了3/4的修订。我不知道。@Marco:我还是喜欢你的解决方案!:)我将尝试编写脚本,否则我可能会一个接一个地这样做…:S@Martin:编写CLI脚本而不是GUI脚本不是更简单吗-我正试图按照我在问题中说的去做。我需要在我的机器上获取文件(二进制)的所有版本。谢谢!:)我正试图按照我在问题中所说的去做。我需要在我的机器上获取文件(二进制)的所有版本。谢谢!:)