在将带有几个(混乱)分支的svn repo转换为git并且不熟悉svn的过程中,我需要一些帮助。通过从svn检出的副本中的日志,我发现:
BRANCH1:
r1985 | (no author) | 2007-07-25 15:17:52 +0200 (Wed, 25 Jul 2007) | 1 line
Changed paths:
A /Project/HEAD/project2001b (from /project2001b:1984)
D /project2001b
r4 | (no author) | 2007-07-23 14:48:58 +0200 (Mon, 23 Jul 2007) | 1 line
Changed paths:
A /project2001b
BRANCH2:
r1989 | (no author) | 2007-07-25 15:22:59 +0200 (Wed, 25 Jul 2007) | 1 line
Changed paths:
A /Project/branches/Project_2001 (from /Project_2001:1988)
D /Project_2001
r178 | (no author) | 2001-01-15 12:16:41 +0100 (Mon, 15 Jan 2001) | 1 line
Changed paths:
A /Project_2001
为什么svn修订版 r4 的日期晚于修订版 r178 ?我对svn的理解不会允许这样做。我错过了什么?是不是以某种方式破坏了svn repo?我也找不到修订版r2。 svn修订版能从日志中消失吗?感谢您的任何见解。
答案 0 :(得分:1)
对于管理不善的SVN-repository,您无法真正信任其中的任何元数据
Unversioned revision-properties
svn pl --revprop -r ...
Unversioned properties on revision 7:
svn:author
svn:date
svn:log
可以随时从客户端更改svn propset
通过对存储库的管理访问(实际上是对FS的物理访问),转储|编译dump | load dumps会产生更多技巧(部分转储可能会导致修订范围消失,编辑转储 - 任何异常效果作为重新排序)
转储中的一个修订的示例
Revision-number: 5
Prop-content-length: 146
Content-length: 146
K 10
svn:author
V 6
abream
K 8
svn:date
V 27
2012-10-17T15:45:47.444624Z
K 7
svn:log
V 45
Remove externals definition from root of repo
PROPS-END
在转储中的修订版本(文本)表示任何人都可以(理论上)仔细更改一些数据,并且在加载这样的伪造转储后,在存储库中获取这些新信息,没有任何旧的痕迹,大概是正确的(并且,fe修订版555将出现在6)之前