Version control 我应该如何构建我的git svn工作流以避免;修订1合并到修订2中,但没有git svn元数据;
我在我的工作场所使用git svn,因为我们当前的版本控制服务器是subversion,完全切换到git似乎暂时还没有出现(*cry*) 我的工作流程如下 我有以下分支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
- 主轨道遥控器/中继
- 本地/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.