在git svn克隆中使用--无元数据有什么好处吗?
我正在使用在git svn克隆中使用--无元数据有什么好处吗?,git,svn,version-control,git-svn,Git,Svn,Version Control,Git Svn,我正在使用gitsvnclone进行从SVN存储库到Git存储库的单向转换。大多数示例都使用--无元数据标志来实现这一点-使用此标志有好处吗 我知道该标志删除了SVN修订号。我能想到为什么保留这些可能有用的原因(例如引用bug跟踪软件中提到的特定提交) 使用--no metadata标志的的参数是什么?除了打破一切束缚的感觉之外,还有什么好处吗?实际上不建议这样做: 不建议使用此选项,因为它会使跟踪变得困难 现有文档中对SVN修订号的旧引用,错误 报告和档案。如果您计划最终从SVN迁移到 Git
gitsvnclone
进行从SVN存储库到Git存储库的单向转换。大多数示例都使用--无元数据
标志来实现这一点-使用此标志有好处吗
我知道该标志删除了SVN修订号。我能想到为什么保留这些可能有用的原因(例如引用bug跟踪软件中提到的特定提交)
使用
--no metadata
标志的的参数是什么?除了打破一切束缚的感觉之外,还有什么好处吗?实际上不建议这样做:
不建议使用此选项,因为它会使跟踪变得困难
现有文档中对SVN修订号的旧引用,错误
报告和档案。如果您计划最终从SVN迁移到
Git并肯定会放弃Svn的历史,考虑
改为git筛选器分支(1)。过滤器分支还允许重新格式化
元数据,便于阅读和重写的作者信息
非“svn.authorsFile”用户
使用
--no metadata
的一个理由是它不会更改提交消息。因此,即使您从不同的位置获取,提交消息也将是相同的,因此提交哈希值将是相同的
例如,如果我git svn init
从本地文件
URL执行一个repo,然后从https:
URL执行拉操作,那么repo中的每个提交都将重复,因为所有带有git svn id:file://
的提交。。。将作为git svn id:https://获取。。。并用新的SHA1编码
如果我指定--no metadata
,那么提交消息和这个sha1将是相同的,我可以从本地文件系统或subversion服务器获取,因为git repo中只有一个给定svn提交的副本
就个人而言,我更希望有一个最小的元数据选项,它记录subversion修订id,但不记录完整的元数据,但不影响git筛选器分支我们要么全有要么全无。这根本不能回答问题。我们知道它不被推荐,但它确实存在;它的意义是什么,它能做什么?想要使用此选项的原因可能是什么?此元数据可能导致的另一个问题是git认为应该从不同的根创建提交,例如,
/project/trunk
而不是仅仅/project
。这可能导致提交在git中是不同的,即使它们在SVN中是相同的。如果不需要这样做,就不需要元数据。