Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在git svn克隆中使用--无元数据有什么好处吗?_Git_Svn_Version Control_Git Svn - Fatal编程技术网

在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中是相同的。如果不需要这样做,就不需要元数据。