当我在
git svn rebase
(这是我的 SVN 存储库的 trunk-svn
分支的本地副本)上执行 trunk
时,我收到以下错误:
fatal: invalid upstream 'refs/remotes/origin/trunk'
rebase refs/remotes/origin/trunk: command returned error: 128
在不同的分支上,我收到不同的错误:
Unable to determine upstream SVN information from working tree history
签出不同远程分支的新本地副本(我以前从未签出)工作正常,
git checkout -b ...
和git svn rebase
(随后的git svn rebase
表示“最新”)。
据我所知,我的本地存储库或远程存储库没有任何变化——这只是有一天才开始发生的。
这是
.git/config
的 SVN 部分的样子:
[svn-remote "svn"]
url = svn://foo.bar.com/svn
fetch = REPONAME/trunk:refs/remotes/origin/trunk
branches = REPONAME/branches/*:refs/remotes/origin/*
tags = REPONAME/tags/*:refs/remotes/origin/tags/*
这与我在重新创建
git svn clone -s
存储库时看到的情况相同。 (我不想只使用新的克隆,因为我的旧副本中有很多未合并的工作。)
以下是相关分支的
.git/config
的相关部分:
[branch "trunk-svn"]
remote = gitlab
merge = refs/heads/trunk-svn
[branch "bugfix-svn"]
remote = gitlab
merge = refs/heads/bugfix-svn
[remote "gitlab"]
url = [email protected]:user.name/repo_name.git
fetch = +refs/heads/*:refs/remotes/gitlab/*
之前的故障排除尝试均失败:
git update-ref refs/remotes/git-svn refs/remotes/gitlab/trunk-svn
:该命令没有明显的输出; git svn rebase
上的 trunk-svn
也会发生同样的错误。git fsck
(建议此处)仅显示悬空树、提交和 blob,即,似乎没有丢失任何内容。.git/svn/.caches
(源自建议这里的想法)没有什么区别。rewriteRoot
和 rewriteUUID
here 没有什么区别。任何想法将不胜感激!如果我可以提供更多可能有用的信息,请告诉我。
也许有点晚了,我也遇到了同样的问题。我通过使用“git svn reset”将主干重置为之前的提交并重新运行“git svn rebase”解决了这个问题。
英语不是我的母语,请原谅我的语法错误