如何使用git svn克隆svn repo,并能够同时提交git和svn?

如何使用git svn克隆svn repo,并能够同时提交git和svn?,git,svn,porting,dcommit,Git,Svn,Porting,Dcommit,我有以下情况: 我正在移植一个大型回购协议,从中我想将一些目录分离到具有独立/独立历史的git存储库中,例如: git svn clone --trunk=https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/ https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/src/project1 --username myname --no-metadata -A ~/Documents/users.txt 这将创建一个git

我有以下情况:

我正在移植一个大型回购协议,从中我想将一些目录分离到具有独立/独立历史的git存储库中,例如:

git svn clone  --trunk=https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/ https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/src/project1 --username myname --no-metadata -A ~/Documents/users.txt
这将创建一个git存储库,其中包含从主干下的
src/project1
中提取的源代码,并具有单独的历史记录,我将能够将其推送到我想要的任何地方

但我需要(在一段时间内)能够推送到svn repo,并考虑到我只从我的项目下载了一个目录的历史记录,而不是主干,因此允许:

git svn rebase
git svn dcommit
那我怎么做呢?从svn到git提取了多个回购协议,并提交到git和svn(请记住,这些较小的git回购协议中的历史与svn中的历史不同(子集))

编辑

启动并运行克隆操作后,然后
git svn rebase
我将得到:

git svn rebase
Unable to determine upstream SVN information from working tree history
如果计划保持同步,则不应使用
--无元数据

svn.noMetadata,svn remote..noMetadata

       This gets rid of the git-svn-id: lines at the end of every commit.

       This option can only be used for one-shot imports as git svn will
       not be able to fetch again without metadata.

我认为您也不需要指定
--trunk
,除非您想使用分支,如果是这样的话,那么trunk应该位于主url之下,而不是之上。

为什么允许它不是那么简单?从技术上讲,我想应该没有问题。您只需从git svn副本执行
git svn dcommit
。@MykolaGurov请检查我的编辑这将从整个repo而不是指定的子目录中签出所有repo数据和文件,例如,
https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/src/project1
@Patryk您尝试过git svn克隆吗https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/src/project1?我希望它能收到你想要的东西。