问题标签 [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 投票
3 回答
15524 浏览

svn - 如何使用 git-svn 切换 svn 分支?

复制

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

我正在使用 git-svn 来跟踪其他人在 svn 上的开发。我试图弄清楚如何使用 gti-svn 从一个 svn 分支切换到另一个。我能找到的所有示例都在谈论使用 svn switch 作为切换位置而不是实际分支的方法。

本质上,我想使用 svn fetch 从 /svn/branch/1.3 而不是 /svn/branch/1.2 开始。

0 投票
4 回答
1744 浏览

git - 有没有办法从克隆的 git-svn 存储库中“git svn dcommit”:

有没有办法从克隆的 git-svn 存储库中“git svn dcommit”:

我的 svn 中有几个分支,有时它是非常小的分支,将它放在同一个目录中很好,但有时这些分支会变大,将整个东西移动到另一个文件夹很好。

但是当我从这个本地存储库执行 git clone 到磁盘上的另一个位置时,git-svn 丢失了所有信息,我不知道如何将其连接回来。我想我可以只复制该文件夹,但通过 git 来做会更好。

0 投票
2 回答
2256 浏览

svn - git svn dcommit to sourceforge 失败,但它直接通过 svn 工作

我正在使用 Subversion 在 SourceForge 上开发一个开源项目。几天前,我做了一个git svn clone并开始使用 Git 跟踪我的更改。

过了一会儿,我尝试将dcommit我的更改返回上游。但这失败了,出现以下错误:

Autorisierung schlug fehl: MKACTIVITY von »/svnroot/housebot/!svn/act/b8dbd0ff-f224-4899-b6fe-06a514fa2dbf«: Autorisierung schlug fehl: Could not authenticate to server: rejected Basic challenge (https://housebot.svn.sourceforge.net) at /sw/lib/git/git-svn line 3649

(请忽略德语。它说的是“授权失败”。)。所以我认为我的 SSH 密钥设置不正确,但是当我尝试通过 svn 提交更改时,它工作得很好。

所以我不知道这里到底出了什么问题。我会假设它要么在 svn 和 git svn 中工作,要么根本不工作。

0 投票
4 回答
26223 浏览

svn - 将 svn 存储库添加到现有的 git 存储库?

我知道你可以通过使用 git svn init 来跟踪 git 的 svn 存储库,但是如果你想创建一个全新的存储库的话。

我的情况是我目前已经有一个现有的 git repo 并希望通过在我当前的 git repo 中将其设置为远程分支来跟踪 svn repo 的主干。

有什么建议么?

0 投票
3 回答
145118 浏览

git - 如何 git-svn 从 Subversion 存储库克隆最后 n 个修订?

问题

如何使用 git-svn 从 Subversion 存储库创建浅拷贝,例如,如何仅提取最后三个修订版?

如果您使用选项,该git clone命令可以从 Git 存储库中获取最后 n 个修订--depth,即您获得存储库的浅表副本。例子:

git-svn 有类似的选项吗?

到目前为止我的发现

到目前为止,我只找到了要-rN在哪里N进行修订的选项。例子:

根据文档,有可能使用-r$REVNUMBER:HEAD. 我尝试了以下方法来获取返回错误消息的最后 3 个修订。

所以我用HEAD~3第三个但最后一个修订的实际编号替换了 534。这有效,但这需要我首先找出第三个但最后一个提交的修订号。

文档

git克隆

git-svn

0 投票
3 回答
8529 浏览

git-svn - git-svn fetch 时 RA 层请求失败

我使用 git svn 与 subversion repos 同步:

并收到错误消息:

为什么以及如何解决这个问题?

0 投票
7 回答
6273 浏览

git - 解决 Git Svn 冲突

我正在使用 Git-Svn 与工作中的 Svn 存储库进行交互,但我似乎无法找到一种方法来有效地解决我一生中的冲突。我已经阅读了关于这个主题的其他问题,但显然我需要一些更有效的补救措施,因为我似乎总是陷入某种无休止的循环。我变基,使用 mergetool (meld) 来解决我的冲突,当我完成所有这些时,我尝试执行 dcommit 并在提交错误期间遇到合并冲突。

我知道这感觉像是重复,但沮丧让我再次询问,并提供了一些关于我将如何处理的非常具体的细节,以便希望有人能准确地告诉我我的流程在哪里搞砸了。

我的设置:

我有一个远程分支 (svn/trunk)、一个本地分支 (trunk) 和另一个我通常工作的本地分支 (working-trunk)。主干已从 svn/trunk 中检出,工作主干已从主干中检出。

这是我一直在做的事情:

  1. 在我的后备箱上,git svn rebase(返回冲突)
  2. git mergetool
  3. [解决该文件的冲突]
  4. 从 meld 中保存合并的文件并关闭 meld。
  5. git add .
  6. git rebase --continue
  7. [冲洗,重复]
  8. 如果我收到一条消息询问我是否使用过git add,我git rebase --skip

当我完成所有报告的更改时,一切都停止了,我想也许我现在不确定该怎么做。Git 没有显示任何要提交的内容,我似乎又回到了主干上。然后 Git 允许我 dcommit,但如果我之后立即尝试变基,我最终会重新解决我刚刚解决的冲突。

显然我在这里遗漏了一个关键部分,但我只是没有看到它,它导致了很多问题和挫败感。在 Git 中合并可能很容易,但我肯定不会发现这种情况。

谢谢。

更新:只是想快速更新一下来描述我的工作流程,以防这是问题的一部分(或全部)。

首先,在使用svn/前缀克隆我的存储库后,我有我的svn/trunk远程分支。鉴于:

  1. git co -b trunk svn/trunk要检查我的远程到本地分支。
  2. git co -b working-trunk创建了一个工作分支,用于创建更多程度的分离,以便我的本地主干始终可以镜像我的远程主干。
  3. 我删除了默认的 master 分支(使用 svn 时,我发现用“trunk”而不是“master”来思考更容易)。

拥有所有分支后,我的典型工作流程如下所示:

  1. working-trunk上,我进行更改并提交它们。
  2. git co trunk和做一个git svn rebase
  3. 假设新代码被重新定位,我git rebase working-trunk.
  4. git co working-trunk
  5. git merge trunk
  6. git rebase trunk
  7. git co trunk
  8. git merge working-trunk
  9. git svn dcommit

这是很多步骤,我知道,但这是这里和其他地方的每个人都推荐的。我的致命缺陷可能在那个过程中的某个地方吗?

再次感谢。

0 投票
4 回答
9809 浏览

git - 将 SVN 结帐转换为使用 git (git-svn)

我使用保存在 svn 中的软件进行版本控制。我想使用 git (git-svn) 但是该软件需要大量设置和配置才能使用。有一些工具可以处理所有设置,包括通过 svn 检查所有代码。

git-svn 的所有文档(我已经能够找到)都需要使用 git-svn 重新结帐。

有没有办法转换现有的 svn checkout 以便它可以使用 git-svn?

0 投票
3 回答
4406 浏览

svn - 通过 MacPorts 安装后在 Mac OS X Leopard 上找不到 git-svn

好的,我确定有人遇到过这个问题,可以帮助我。

我正在尝试让 git-svn 在 OSX Leopard (10.5.6) 上工作。使用 MacPorts 我已经运行了安装: sudo port install git-core +svn

但是,git-svn 没有安装,不可用。在漫长的依赖安装过程中没有出现任何错误,所以我很茫然。

想法将不胜感激。

0 投票
10 回答
81671 浏览

git - git-merge 是否可以忽略行尾差异?

是否可以git merge忽略行尾差异?

也许我问错了问题......但是:

我尝试了 uisng config.crlf input,但事情变得有点混乱和失控,特别是当我在事后应用它时。

一方面,事后应用此配置似乎不会影响在应用此选项之前提交到存储库的文件。另一件事是突然间所有的提交都会导致大量关于 CRLF 被转换为 LF 的恼人警告消息。

老实说,我真的不在乎使用什么换行符,我个人更喜欢 Unix 风格\n,但无论如何。我所关心的git merge只是变得更聪明一点,并忽略行尾的差异。

有时我有两个相同的文件,但 git 会将它们标记为冲突(并且冲突是整个文件),因为它们使用了不同的行结束符。

更新:

我发现git diff接受一个--ignore-space-at-eol选项,是否也可以让git merge使用这个选项?