Version control 我应该如何构建我的git svn工作流以避免;修订1合并到修订2中,但没有git svn元数据;

Version control 我应该如何构建我的git svn工作流以避免;修订1合并到修订2中,但没有git svn元数据;,version-control,git-svn,Version Control,Git Svn,我在我的工作场所使用git svn,因为我们当前的版本控制服务器是subversion,完全切换到git似乎暂时还没有出现(*cry*) 我的工作流程如下 我有以下分支 主轨道遥控器/中继 本地/0.4跟踪远程/0.4 工作是我的发展分公司的主分公司 work-0.4是我的本地开发分支/0.4分支 我在我的工作分支中工作,然后使用 git merge --no-ff <branchname> 我用 svn.pushmergeinfo=true 更新svn:mergeinfo

我在我的工作场所使用git svn,因为我们当前的版本控制服务器是subversion,完全切换到git似乎暂时还没有出现(*cry*)

我的工作流程如下 我有以下分支

  • 主轨道遥控器/中继
  • 本地/0.4跟踪远程/0.4
  • 工作是我的发展分公司的主分公司
  • work-0.4是我的本地开发分支/0.4分支
我在我的工作分支中工作,然后使用

git merge --no-ff <branchname>
我用

svn.pushmergeinfo=true 
更新svn:mergeinfo属性,这样我的同事就不会因为我弄乱了他们的元数据而生气:)

然而,我只是有以下问题困扰着我

我在work-0.4分支上做了两次提交,然后用git merge将它们合并到本地/0.4分支中——没有ff-work-0.4。在此之后,我执行了git svn dcommit并收到以下消息

Committing to https://svn-server ...
e138050f6ebd2f2ca99cbefc5e48acae412e1f86 is merged into revision f5f2345e8e5fc64
20423bdc00397b5853b3759c4, but does not have git-svn metadata. Either dcommit the
branch or use a local cherry-pick, FF merge, or rebase instead of 
an explicit merge commit.
在重新设置分支的基址和重置之后,我设法将所有内容都推送到svn,但我的解决方案需要将本地/0.4分支的基址重新设置到work-0.4分支,这反过来意味着我无法将两个git提交压缩成一个svn提交:/

我觉得我的工作流程可能有问题,可能与svn.pushmergeinfo有关。svn.pushmergeinfo的文档说

config key: svn.pushmergeinfo
+
This option will cause git-svn to attempt to automatically populate the
svn:mergeinfo property in the SVN repository when possible. Currently, this can
only be done when dcommitting non-fast-forward merges where all parents but the
first have already been pushed into SVN.

老实说,我不太确定我是否理解正确?我是不是在做一些奇怪的事情,使得svn.pushmergeinfo无法正常工作?我应该如何组织我的工作流程以正确使用git svn(设置适当的合并信息等)?

从配置中删除svn.pushmergeinfo=true避免“但没有git svn元数据”,但不要认为这是一个可行的解决方案。
config key: svn.pushmergeinfo
+
This option will cause git-svn to attempt to automatically populate the
svn:mergeinfo property in the SVN repository when possible. Currently, this can
only be done when dcommitting non-fast-forward merges where all parents but the
first have already been pushed into SVN.