如何从由于换行而导致解析错误的gitosis.conf文件中恢复?

如何从由于换行而导致解析错误的gitosis.conf文件中恢复?,git,gitosis,Git,Gitosis,我已经成功地为Android镜像(包含多个git存储库)设置了gitosis。在gitosis.conf中的writeable=后面添加新的.git路径时,我设法插入了一些换行符。当我收到以下解析错误时,已保存、提交并推送到服务器: 回溯(最近一次呼叫最后一次): 文件“/usr/bin/gitosis run hook”,第8行,在 加载入口点('gitosis==0.2','console\u scripts','gitosis run hook')() 文件“/usr/lib/python

我已经成功地为Android镜像(包含多个git存储库)设置了gitosis。在gitosis.conf中的writeable=后面添加新的.git路径时,我设法插入了一些换行符。当我收到以下解析错误时,已保存、提交并推送到服务器:

回溯(最近一次呼叫最后一次): 文件“/usr/bin/gitosis run hook”,第8行,在 加载入口点('gitosis==0.2','console\u scripts','gitosis run hook')()

文件“/usr/lib/python2.5/site packages/gitosis-0.2-py2.5.egg/gitosis/app.py”,第24行,运行中返回app.main()

文件“/usr/lib/python2.5/site packages/gitosis-0.2-py2.5.egg/gitosis/app.py”,第38行,主文件 self.handle_参数(解析器、cfg、选项、参数)

文件“/usr/lib/python2.5/site packages/gitosis-0.2-py2.5.egg/gitosis/run\u hook.py”,第75行,在handle\u参数中 发布更新(cfg、git目录)

文件“/usr/lib/python2.5/site packages/gitosis-0.2-py2.5.egg/gitosis/run\u hook.py”,第33行,在后期更新中 read(os.path.join(export,“…”,“gitosis.conf'))

文件“/usr/lib/python2.5/ConfigParser.py”,第267行,已读 自读(fp,文件名)

文件“/usr/lib/python2.5/ConfigParser.py”,第490行,已读 提高e

ConfigParser.ParsingError:文件包含解析错误:./gitosis导出/./gitosis.conf

(……)

我已经删除了换行符,并通过

git提交-m“修复换行符”--修改

然而,git推送仍然会产生完全相同的错误。这让我相信,关节炎正在阻止我做任何进一步的推动


如何从中恢复?

我一直都在这样做。:-)答案是登录到gitosis服务器并在那里编辑配置文件的副本。在拥有gitosis实例的用户的主目录中,应该有一个名为.gitosis.conf的链接(它实际上指向gitosis admin.git/gitosis.conf)。编辑该文件并修复那里的问题;然后,当你按“下一步”时,一切都会好起来。

你实际上可以做一些稍微聪明一点的事情。由于gitosis-admin.git是一个git归档文件,您可以在本地克隆它,重置为工作版本并提交更改。其中一个技巧是,你必须以“git”用户的身份做所有事情

我们是这样做的,但我们计划改为gitolite,它会检查错误,然后再合并更改

更改为“git”用户具有写入权限的空目录

sudo-H-u git-git-clone(gitosis-repo目录)/gitosis-admin.git

光盘管理员

sudo-H-u git-git-rebase-i(最后一个已知工作状态的提交id)

e、 g

sudo-H-u git git-git-rebase-i头^^

使用交互式标志,更难出错;按照说明只选择正确的(已知工作)提交

sudo-H-u git-git-push-f源主机


f标志强制git进行推送,即使repo中的主分支不是新分支的祖先。这应该可以解决问题,并且您应该能够正常地从本地分支机构推/拉。

工作得非常好。我还必须为我做额外的$git合并origin/masterwork。谢谢