在 Cygwin 上使用 git-svn 执行远程操作,例如:
- git svn 变基
- git svn dcommit
- 等等
导致出现有关错误配置文件的许多奇怪错误消息之一
$ git svn rebase
fatal: bad config file line 1 in /home/tj/.gitconfig
fatal: bad config file line 1 in /home/tj/.gitconfig
Cannot rebase: You have unstaged changes.
Please commit or stash them.
rebase refs/remotes/git-svn: command returned error: 1
实际上没有任何未分级的更改,该错误消息似乎是配置文件问题的产物:
# On branch master
nothing to commit (working directory clean)
有时它会抱怨同一文件中的其他行,或 .git/config 中的行
我实际的 git 配置文件非常简单,完全相同的配置文件在其他机器(也运行 Cygwin)上也能正常工作。以供参考:
.gitconfig:
[user]
name = tj
email = tj@example.com
.git/配置:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
preloadindex = true
[svn-remote "svn"]
url = https://url.to/repository
fetch = :refs/remotes/git-svn
octo-spacing 是文件中的一个选项卡,在 vim 中使用 set list 查看文件显示没有奇怪的字符混在一起。
最奇怪的是,有时它可以毫无问题地工作。但是,在短时间内,它会继续显示错误消息。如果有人知道这个问题可能是什么,或者如何解决它,我将不胜感激。
谢谢!
编辑:
到目前为止我已经尝试过:
- 从运行 Cygwin 的工作机器复制好的配置文件
- 在 Cygwin 中运行 rebaseall
- 重新安装 git-svn 包
我可能会尝试:
- 重新安装 Cygwin(宁愿不)
编辑2:成功?
在摆弄了几个小时之后,我尝试从 git 配置中一一删除,看看它是否有所作为。
从 .git/config 文件中删除 preloadindex = true 似乎已经解决了这个问题,尽管很难确定。