2011-10-03 100 views
0

有没有一种方法可以告诉SCM,在我的情况下,mercurial foobaz_1_2_3.csv的文件都应该被认为是foobaz.csv的版本?在真实版本控制系统中跟踪文件名版本控制?

在我的应用程序中,我依赖来自外部源的数据表,它将版本号置于文件名中。在我花费排除我围栏一侧的错误时,跟踪其版本变化的重要性最近变得非常尖锐,只是发现这是因为他们更改了一些数据内容,并且所述更改的通知没有传达给我。

如果文件名是恒定的,Hg会立即通知我内部的变化,我可以在一两个小时内做出适当的回应,压力很小。我可以采用重新命名foobaz_2_3_4的习惯,以便在签入之前或在运行diff old new之前对自己进行Foobaz_2_3_4操作,其中一个或两个都可能是我现在要做的。

整个经历让我怀疑,如果可能有其他方法,我没有想到,不要弄乱外部文件。 (例如,我有什么下游用户谁不使用SCM,并依赖于我扔掉的文件名+版本号?)

回答

1

如果您在文件中获得永久更改名称的数据并且(可能)可变数据,您可以:版本控制下

  • 存储数据文件(Mercurial是OK)
  • 每次更换旧文件与新的
  • hg addremove -s nnn(检查手册hg help addremove)将检测可能重命名和包括历史档案
+0

谢谢,这将完美工作(并让我想知道为什么我没有想到它,因为我以前使用过重命名检测!) –