如何从用力推由于换行符解析错误一个gitosis.conf的文件中恢复?(How do I reco

2019-08-01 17:46发布

我已成功地建立了用于Gitosis的一个Android镜(包含多个git仓库)。 同时加入在gitosis.conf的下面写=新的git的路径,我设法插入几个换行符。 保存,致力于推到服务器时,我收到了以下解析错误:

回溯(最近通话最后一个):文件 “在/ usr / bin中/ Gitosis的运行钩”,8号线,在load_entry_point( 'Gitosis的== 0.2', 'console_scripts', 'Gitosis的运行钩')()

文件 “/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_args(解析器,CFG,选项,参数)

文件 “/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/run_hook.py” 75行,在handle_args post_update(CFG,GIT_DIR)

文件 “/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/run_hook.py”,33行,在post_update cfg.read(os.path.join(出口,“ ..', 'gitosis.conf的'))

文件 “/usr/lib/python2.5/ConfigParser.py”,线路267,在读self._read(FP,文件名)

文件“/usr/lib/python2.5/ConfigParser.py”,线路490,在_read提高ë

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

(......)

我已删除换行符和amendend提交由

git的承诺-m“固定换行符” --amend

但是混帐推仍然得到完全相同的错误。 这使我相信的gitosis阻止我做任何进一步的推动。

如何从这种状态中恢复?

Answer 1:

我做这一切的时候。 :-)答案是登录到服务器的gitosis和编辑配置文件的副本出现。 在拥有Gitosis的实例的用户的主目录中应该有一个名为.gitosis.conf(它实际指向的gitosis-admin.git / gitosis.conf的)链接。 编辑该文件,并解决这些问题存在; 那么,当你推下一个,会被罚款。



Answer 2:

实际上,你可以稍微做一些更聪明。 由于Gitosis的-admin.git是一个git存档,您可以在本地复制它,重新设置为一个工作版本,并提交更改。 一个技巧是,你必须尽一切为“混帐”的用户。

我们就是这么做的,但我们计划改变gitolite,这将更改合并因为这个原因之前检查错误。

改变对其中的“混帐”的用户有写权限的空目录

须藤-H -u git的git的克隆(Gitosis的回购目录)/gitosis-admin.git

CD Gitosis的管理员

须藤-H -u git的混帐变基-i(提交最后已知的工作状态的ID)

须藤-H -u git的混帐变基-i HEAD ^^

与交互式标志,它很难犯了一个错误; 按照指示只有选择正确的(称为工作)提交

须藤-H -u git的混帐推-f主产地

-f标志部队的Git做推,即使在回购主分支是不是你的新分支的祖先。 这应该可以解决这个问题,你应该能够从当地的分支机构推/拉为正常。



文章来源: How do I recover from pushing a gitosis.conf file with parsing errors due to line breaks?
标签: git gitosis