首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从由于换行而导致解析错误的gitosis.conf文件推送中恢复?

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

Stack Overflow用户
提问于 2009-08-19 14:16:28
回答 2查看 4.6K关注 0票数 16

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

运行回溯(最近一次调用):文件“/usr/bin/

-run-hook”,第8行,在load_entry_point中(‘gitosis==0.2’,'console_scripts',‘gitosis run-hook’)()

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

文件"/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/app.py",第38行,在主self.handle_args中(解析器、配置文件、选项、参数)

File "/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/run_hook.py",第75行,在handle_args post_update中(cfg,git_dir)

文件导出第33行,在导出cfg.read中(os.path.join(os.path.join,'..','gitosis.conf'))

文件"/usr/lib/python2.5/ConfigParser.py",第267行,在read self._read(fp,filename)中

在_read raise e中,文件"/usr/lib/python2.5/ConfigParser.py",第490行

ConfigParser.ParsingError:文件包含分析错误:./gitosis-export/../gitosis.conf

(...)

我删除了换行符,并修改了提交

git commit -m“修复换行符”--修改

然而,git推送仍然会产生完全相同的错误。这让我相信牙龈病正在阻止我做任何进一步的努力。

我该如何从中恢复呢?

EN

回答 2

Stack Overflow用户

发布于 2009-08-23 06:19:28

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

票数 27
EN

Stack Overflow用户

发布于 2010-04-02 06:43:25

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

我们这样做了,但我们计划更改为gitolite,它会在合并更改之前检查错误,正是出于这个原因。

切换到"git“用户有写权限的空目录

sudo -H -u git克隆(存储库目录)/gitosis admin.git

cd gitosis admin

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

例如:

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

使用交互式标志,很难犯错误;按照说明只选择正确的(已知有效的)提交

sudo -H -u git推送-f源站

-f标志强制git执行推送,即使存储库中的主分支不是新分支的祖先。这应该可以解决这个问题,并且您应该能够像往常一样从本地分支推送/拉取。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1300275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档