首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名项目的Git-svn/hgsubversion克隆

重命名项目的Git-svn/hgsubversion克隆
EN

Stack Overflow用户
提问于 2012-11-30 16:26:57
回答 2查看 348关注 0票数 3

我有一个SVN项目,我想克隆到Git或Mercurial。克隆到两个VCS的工作正常,除了一个主要问题-我总是只得到最后的修订,没有任何其他的历史记录。

我可以清楚地看到,问题的根源是SVN项目最近被重命名(重命名是最后的修订,也是我设法得到的唯一修订)。使用SVN,我可以查看项目背后的所有历史,没有任何问题。

最奇怪的是,当我使用git-svn clone时,我可以看到它经历了许多修订,理应导入它们,但最终我仍然只得到了一个修订。Mercurial与Git不同,它是向后工作的,它只接受最后的修订,并在克隆过程中完成。

此外,重要的是要注意,最后的SVN项目重命名/移动并不是唯一的项目。在此之前,至少还有两个其他的更名,我确实需要完整的项目历史,就像我使用SVN看到的一样。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-30 20:30:15

Ideas

  • 因为不可能克隆不存在的svn-URL与PEG-

hg clone http://mayorat.ursinecorner.ru:8088/svn/Hello/branches/Greetings@16

abort: HTTP Error 404: Not Found

即使

代码语言:javascript
复制
svn ls http://mayorat.ursinecorner.ru:8088/svn/Hello/branches/Greetings@16
Hello.txt

您可以尝试克隆repo,使用父重命名目录作为根目录。对于同级路径,您会得到许多不相关的更改集,但是(如果重命名是公平的svn move),我希望所有针对相关路径的changeset都会在repo中:您只有清理历史记录。

  • 拆分和合并

转储SVN- repo,使用svndumpfilter将其拆分为单独的转储(根据更改的目录名进行转储),将转储加载到单独的svn-repos中,将每个svn-repo克隆到自己的Mercurial存储库中(存储库不能有多个subversion源),将存储库拉入公共位置,修复历史记录

票数 0
EN

Stack Overflow用户

发布于 2012-11-30 16:30:23

对于mercurial,我看到了this guide,这可能会被证明是有帮助的。右边有足够多与git-svn相关的问题来解决你的问题。

我想你已经看过this了,这是一个由Parrot项目完成的关于git-svn的教程。它进一步表明,您需要在git log之后执行git rebase,以确定您想要使用的修订散列代码。和以前一样,如果你需要更多的信息,请留下评论。

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

https://stackoverflow.com/questions/13641442

复制
相关文章

相似问题

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