2011-07-29 68 views
0

我有一个构建过程,可以将文件从存储库中复制出来以制作二进制映像。我需要用于构建过程的存储库中所有文件的文件修订版。我知道我可以运行svn info [filename]并以这种方式获取文件版本,但我有超过4k个文件需要版本信息。如何使用SVN存储库获取一批文件版本

有没有办法让这些版本号集体或者我需要写一个svn挂钩,保持一个XML文件或东西与最新的版本号?

编辑:我正在寻找的输出是文件修订版列表文件夹修订版4329:file1.txt = revision 3; file2.txt =修订版9; ...我们需要拥有这个列表,所以当我们更新设备上的固件时,我们只会复制他们绝对需要的更改。因此,他们可以跳过两个或三个固件版本,但由于设备知道它具有file1.txt的版本3,因此我们不需要在固件上更新该文件,而是在设备上具有版本7的file2.txt中更新该文件,并且需要将其更新至修订版9.

希望能帮助我们比以前更清楚。

+0

我想要NUMBER版本,而不是文件的版本。 –

回答

0

我不知道我明白这个问题 - 你是否想从SVN中获得一个给定的revnum文件的负载(记住每个提交增加一个全局的revnum,而不是递增每个文件的revnum),那么你只是需要指定修订版。

因此,如果您签出修订版x,您将获得当时所有文件的快照。没有必要确定每个单独文件最后一次更新的时间点。

+0

我需要每个文件的版本号。我们稍后会使用这些信息,但是我需要弄清楚如何在一个相对简短(小于30分钟)的时间框架内获得超过4k文件的项目上每个文件的修订版本号。 –

+0

没有每个文件的版本号。 SVN使用“快照”系统,其中每个版本号都是整个回购的全新视图。这是一件好事,因为1 rev数字可以在特定时间向您显示每个文件 - 无需分支或保存文件复制列表。它不像CVS。因此,获取修订版4329可以为每个文件*提供正确的文件版本。 – gbjbaanb

+0

SVN是否将文件分配给文件而不是与签入无关。如果我打开一个项目,点击其中一个文件('test1.c')并使用TortoiseSVN来“显示日志”,那么我可以看到这个文件的修订版本是'54409'。然后我打开一个不同的文件('test2.c'),修订版本是'54113',版本库版本是'55454',并且参与该修订版的每个文件都获得相同的编号。只要我知道最后一次'test1.c'最后一次检入版本号为“54409”,这是我在版本库中每个文件后面的数字。 –

相关问题