问题标签 [git-svn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
34 回答
507399 浏览

svn - 如何将具有历史记录的 SVN 存储库迁移到新的 Git 存储库?

我阅读了 Git 手册、常见问题解答、Git - SVN 速成课程等,它们都解释了这个和那个,但你在任何地方都找不到像这样的简单说明:

SVN 存储库位于:svn://myserver/path/to/svn/repos

Git 存储库位于:git://myserver/path/to/git/repos

我不希望它那么简单,也不希望它是一个命令。但我确实希望它不会试图解释任何事情 - 只是说给出这个例子要采取的步骤。

0 投票
8 回答
2884 浏览

perl - 让 git-svn 在 Slackware 12.1 上工作

它显然是一些 Perl 扩展。Perl 版本是 5.8.8。

我找到了Error.pm,但现在我正在寻找Core.pm。

在我们讨论的时候:你们如何搜索这些模块。我尝试了谷歌,但这并没有太大帮助。谢谢。


最后,在我构建完所有内容之后,运行:

给我:

看起来 Slackware 的“ginstall”真的没有那个选项。我想我现在要去谷歌一点,看看如何解决这个问题。

0 投票
2 回答
647 浏览

git - 如何检查远程 git 存储库的配置?

我有一个 svn 存储库的 git-svn 克隆,我想鼓励我的同事将 git 视为一种选择。问题是从 svn 克隆 repo 需要 3 天,但从我的 git 实例克隆需要 10 分钟。

我有一个脚本可以让人们克隆我的 git 存储库并将其重新指向原始 SVN,但它需要知道我如何设置一些配置值。我希望脚本能够通过网络提取这些值。

0 投票
6 回答
3205 浏览

svn - 将 Git 历史移植到 SVN 分支上


有一个 Git 存储库和一个 SVN 存储库,它们都拥有相同的源代码但不同的提交历史。Git repo 有很多小的评论很好的提交......而 SVN repo 有一些巨大的提交,带有“很多东西”之类的评论。这两个系列的提交都遵循在代码中所做的相同更改,并且大致相同。

想要的结果
我想切换到使用 Git-SVN ,而不会丢失当前 Git 存储库的详细历史记录。这应该通过将 Git 存储库中的历史“嫁接”到项目的 SVN 分支上来完成(从我真正开始使用 Git 的那一点开始分支)。

为什么要这么做?(历史)
前段时间我开始玩 Git。我首先在一个受 SVN 控制的项目中设置了一个 Git 存储库。通过一些配置,我让 Git 和 SVN 在同一个源代码上并行工作。

这对我来说是学习和使用 Git 的好方法,同时仍然拥有 SVN 的安全网。它基本上是一个带有真实数据的沙箱。我没有时间真正学习Git,但我真的很想修补它。这对我来说实际上是一个学习 Git 的好方法。

起初,在进行了一些编辑之后,我会提交给 SVN,然后提交给 Git……然后在知道我的更改在 SVN 中安全的情况下使用 Git。很快我就比 SVN 更频繁地提交到 Git ......

当了解 和 之间的区别时git revertsvn revert高兴我一直在检查 SVN 存储库。假设两者工作相同,我几乎失去了几个星期的工作。

我现在知道 Git-SVN 的荣耀,并且在其他几个项目中愉快地使用它。当我开始时,我完全意识到我可能会丢失我的 Git 存储库,并且必须使用“正确”设置一个新的存储库git-svn init……但是现在使用 Git 已经有一段时间了,我确信有一些方法可以破解 Git 历史进入SVN。

0 投票
8 回答
18394 浏览

svn - 如何使用 Subversion 获得主-主复制?

似乎是一个简单的问题:

  • 我的防火墙内有一个 SVN 存储库。
  • 我在防火墙外有一个 SVN 存储库。
  • 我在防火墙内外都有用户。(没有VPN不是一个选项:(那太容易了)
  • 防火墙内的机器可以与外部 SVN 服务器通信。但不是相反。
  • 外部的 SVN 是暂时的——主要的 repo 总是在里面。

我想以某种方式(从内部,很可能)将所有更改合并到一个中,并将它们应用于另一个。反之亦然。听起来很简单,我假设喜欢的 GIT 可以做到这一点,但我们使用的是 SVN。

有人做过吗?我不介意这是一个手动过程——只有几个外部人员,他们不需要即时更新,一天两到三次就可以了。

我相信 apache.org 会这样做,但我找不到关于他们如何做到这一点的文档。有几种产品可以做到这一点(嗯,一个),但我很想知道是否有人有一种没有它们的好、干净的方法来做到这一点。svnsync 这样做,只是在一个方向(主从)

很高兴它可以在 Windows、Linux 或 Mac 上运行,因为我们拥有所有这些。不过,Windows 和 Mac 是首选。

帮助!:) :)

[更新] 经过 12 个月的混乱(最终不需要这个),在我看来,正确的答案是正确的。使用 git - 有一个从 SVN-A 提取的 repo,然后推送到一个新的 git repo,然后从那里推送到 SVN-B。应该管用 :)

0 投票
3 回答
15787 浏览

svn - 是否可以使 git svn dcommit 导致单个 svn 提交?

根据手册git dcommit“将为 git 中的每个提交在 SVN 中创建一个修订版。” 但是有没有办法避免多次 Subversion 修订?也就是说,在执行svn commit?之前让 git 合并所有更改。

0 投票
2 回答
773 浏览

branch - 是否可以在结帐时使 git svn “重新定位”分支文件?

我们的 svn 存储库有很多分支,它们是子树的分支。这适用于 svn,因为我可以在我的工作副本的正确位置检查该子树。但是,如果我使用 git 检查同一个分支,我会得到一个只有分支子树的工作副本。是否可以让 git 重新定位分支,以便我的工作副本结构是相同的,无论我是在主干还是分支上?

我意识到我们的 svn 实践与 git 始终在整个树上工作的哲学相冲突。人们如何处理这个问题?

0 投票
6 回答
36810 浏览

svn - 合并 git 后的 git-svn dcommit 危险吗?

我尝试 git-svn 的动机是轻松的合并和分支。然后我注意到 man git-svn(1) 说:

不建议在您计划从其提交的分支上运行 git-merge 或 git-pull。Subversion 不代表任何合理或有用的合并;因此使用 Subversion 的用户看不到您所做的任何合并。此外,如果您从作为 SVN 分支镜像的 git 分支合并或拉取,dcommit 可能会提交到错误的分支。

这是否意味着我不能从 svn/trunk(或一个分支)创建一个本地分支,破解,合并回 svn/trunk,然后 dcommit?我知道 svn 用户会看到与 svn pre 1.5.x 中合并的相同混乱,但还有其他缺点吗?最后一句话也让我担心。人们是否经常做这些事情?

0 投票
4 回答
31063 浏览

git - 如何让 git-svn 使用特定的 svn 分支作为远程存储库?

一句警告:总的来说,我是一个n00b git。我的团队在 中使用功能分支svn,我想用它git-svn来跟踪我在特定功能分支上的工作。我一直(大致)遵循Andy Delcambre 的帖子来设置我的本地存储git库,但这些说明似乎导致git选择svn最近更改的分支作为远程存储库;问题是那不是我关心的分支。如何控制git-svn使用哪个分支?还是我完全错误地接近这个?

更新:我确实使用了-T-b-t选项(在我的情况下,因为svnrepo 有多个项目,但我希望gitrepo 只包含我正在处理的项目)。

0 投票
4 回答
3719 浏览

django - 遵循 Subversion 存储库主干的最佳实践:Git (Mirror)、Git-Svn、Subversion?

我想检查Mac OS X Leopard 10.5.5 机器上的Django Subversion 主干,然后根据需要进行更新。

我只对在我的 Mac 上更新 Django 代码感兴趣。我对为 Django 项目贡献补丁不感兴趣。我不需要 Django 主干的 Subversion 历史记录。

我计划将 Git 用作我所有个人项目的 DVCS/SCM。


使用最新的 Django 主干更新我的 Mac 的最佳做法是什么?为什么?

我是 Git 新手,因此了解您选择选项的原因将非常有帮助。

  1. 使用安装在我的 Mac 上的 Subversion 1.4.4:svn co http://code.djangoproject.com/svn/django/trunk/。本质上是使用 Subversion 为我的个人项目获取 Subversion 存储库和 Git。

  2. 使用 Git SVN 获取Django Subversion 存储库。有关如何为 Git 新手执行此操作的说明?

  3. 使用 Git 获取Django 存储库的 Git 镜像。我有点担心镜子将来可能会消失,但如果它是最好的选择,我愿意使用它。