gpt4 book ai didi

Git:无法从 HEAD 历史记录中确定上游 SVN 信息

转载 作者:太空狗 更新时间:2023-10-29 13:46:18 26 4
gpt4 key购买 nike

一段时间以来,我一直成功地使用 git-svn 连接到我的 svn 主干。我最初通过这样做设置我的 repo :

git svn clone -s http://domain.com/svn/name-of-repo

我已经使用这个设置很长一段时间(可能接近一年)并且没有遇到问题,很可能是因为我所做的一切都在本地 git 分支上,我最终 merge 回我的 master 分支,并提交回 svn 主干。

最近,我需要开始对同一 svn 存储库中的另一个分支提交一些更改,http://domain.com/svn/name-of-repo/branches/demo .

通过编辑我的 .git/config 文件并添加这些行,我能够从该分支获取一次:

[svn-remote "svndemo"]
url = http://domain.com/svn/name-of-repo/branches/demo
commiturl = http://domain.com/svn/name-of-repo/branches/demo
fetch = :refs/remotes/git-svn-demo

然后我运行以下命令来获取演示分支,从修订版 4034 开始:

git svn fetch svndemo -r 4034 

所以现在我有一个新的远程分支,叫做 remotes/git-svn-demo。我从中创建了一个功能分支:

git checkout -b svndemo-local remotes/git-svn-demo

这捕获了我需要的东西,所以我做了我必须做的更改,提交到我的本地分支,然后尝试运行“git svn fetch && git svn rebase”。两者都返回错误:

Unable to determine upstream SVN information from working tree history

这就是我被困的地方。我环顾了 SO 和其他网站 (Google),但除了“git-svn 再次克隆 repo,然后重新开始”之外没有找到解决方案,这并不理想。

我查看了我的 .git/svn/refs/remotes/git-svn-demo/unhandled.log 并将其与我的 .git/svn/refs/remotes/trunk/unhandled.log 进行了比较,但没有任何内容他们有很大的不同。

我还查看了从这个远程分支的初始提取中下来的提交消息,其中包含 git-svn-id 信息。

blah blah blah, this is the commit message, blah blah blah

git-svn-id: http://domain.com/svn/name-of-repo/branches/demo@4034 e6edf6fb-f266-4316-afb4-e53d95876a76

我很想听到关于这个的新想法。

最佳答案

要访问 svn 分支,您不需要添加新的 svn 远程。当您使用 -s(标准)选项设置 git svn clone 时,git 还会跟踪在 branches 下定义的所有分支。

您应该能够使用 git branch -r 查看那些分支(在本例中为分支演示)。

如果您 checkout 它,您可以在其中工作并提交 svn dcommit。

我不确定更改 svn-remote 是否弄乱了你的存储库,但我在你的位置我会假设它已经弄乱了并且会用你原来的克隆命令重新开始。

关于Git:无法从 HEAD 历史记录中确定上游 SVN 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6753092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com