首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将文件从git repo拖到svn repo中

将文件从git repo拖到svn repo中
EN

Stack Overflow用户
提问于 2019-03-07 22:16:39
回答 1查看 38关注 0票数 0

因此,我的团队目前正在为我们的项目使用svn存储库。有另外一个团队并行工作,但他们使用的是一个git存储库。我想把另一队的代码合并到我们的。我已经尝试过几次了,但是我一直在不合并的情况下提取他们的代码,也就是说,它只是覆盖了我们的文件。我一直在使用git-svn工具,没有什么成功,我担心在我们的svn日志中,越来越多的无用和垃圾提交在我的老板面前是不太好的。

以下是阻碍我前进的几个障碍:

  • 我们有一个svn存储库,其中包含大约10个组件,而另一个团队对每个组件都有一个回购。
  • 我一直在遵循一个使用-s选项的示例,它是标准布局(使用主干/分支/标记的svn公共目录结构)的缩写,我们的svn没有这个选项。在没有此选项的情况下,我无法使此方法工作,这将导致所有文件合并(基本上只是复制)到一个我不关心的空目录中。
  • 最好,我不想保存他们的全部提交历史记录。我只想要一个承诺说我把他们的回购和我们的合并了。或者是我要合并的每一个git回购的承诺。前面的项目中提到的同样的例子复制了整个提交历史,这为我们的日志添加了大量的提交,而我的团队并不关心这些。

下面是示例(这个post中的第一个答案):

代码语言:javascript
代码运行次数:0
运行
复制
mkdir copy-git-repo
cp -a orig-git-repo/. copy-git-repo/
cd copy-git-repo/
svn mkdir --parents https://svn/url/PROJECT/trunk -m "Trying to merge of of their git repos into our svn"
git svn init https://svn/url/PROJECT -s
git svn fetch
git rebase trunk master
# if there are merge conflicts
git status
# deal with merge conflicts listed 
git add .
git rebase --continue
git svn dcommit 

有人看到我犯的错误了吗?

EN

回答 1

Stack Overflow用户

发布于 2019-03-08 01:52:55

如果您习惯于使用svn,我建议您直接使用svn (尽管我讨厌它)。所以..。如果您查看另一个团队的repo (正在开发git),您能将svn修订(从您的svn回购)映射到git回购上的修订吗?我的意思是,1比1,而不是接近修正。它需要与修订的精确匹配。

假设您想将git分支X(从他们的回购)合并到您的主干分支(从您的回购)。如果您可以找到一个与您的树干祖先1比1的X祖先,那么您可以:

  • 在您的svn回购上创建一个分支,从我们正在讨论的祖先开始。
  • 从此分支上的项目中删除所有文件(不提交)
  • 取得一份的内容的分支X(在git回购.将内容放在X的顶端),并将其放入分支中。现在在svn上提交。此时,您刚刚创建的修订版在git和svn以及分支X的尖端上都可以看到X的祖先之间的所有差异。
  • 现在,您可以使用您创建的分支并尝试将其合并到主干中。

作为最后一条建议(这是我自以为是的,对不起):考虑跳到git以获得良好的。需要一点努力才能适应svn之间的差异.但你不会后悔的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55053682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档