Eri*_*ric 21 svn git version-control git-svn
我正在使用一个从SVN存储库到Git存储库的单向转换git svn clone
.大多数示例使用--no-metadata
标志执行此操作- 使用此标志是否有优势?
据我所知,该标志删除了SVN修订号.我可以想一想为什么保持这些可能有用的原因(例如回顾bug跟踪软件中提到的特定提交).
使用旗帜的理由是什么--no-metadata
?除了打破所有关系的感觉之外还有什么好处吗?
Mar*_*oth 15
使用的一个论点--no-metadata
是它不会更改您的提交消息.因此,即使您从不同的位置获取,提交消息也是相同的,因此提交哈希值将是相同的.
例如,如果我git svn init
是来自本地file:
URL 的repo ,后来从https:
URL中提取,则repo中的每个提交都将被复制,因为所有带有git-svn-id: file:///
... 的提交都将被提取为git-svn-id: https:///
...并使用新的SHA1进行编码.
如果我指定--no-metadata
了提交消息,并且这个sha1将是相同的,我可以从本地文件系统或subversion服务器获取,因为在git repo中只有一个给定svn提交的单个副本.
我个人更喜欢它,如果有一个最小的元数据选项,它记录了subversion版本ID,但没有记录完整的元数据,但没有搞乱,git-filter-branch
我们被困在全部或全部.
man*_*lds 10
实际上不推荐:
建议不要使用此选项,因为这样很难在现有文档,错误报告和存档中跟踪对SVN修订号的旧引用.如果您计划最终从SVN迁移到git并确定要删除SVN历史记录,请考虑使用git-filter-branch(1).filter-branch还允许重新格式化元数据,以便于阅读和重写非"svn.authorsFile"用户的作者信息.
归档时间: |
|
查看次数: |
9685 次 |
最近记录: |