自定义git状态以报告相对路径

时间:2019-02-14 16:42:56

标签: git

我想围绕git status创建一个包装器,该包装器在两个单独的存储库中调用git status并合并它们的输出。一个简单的脚本可以执行以下操作:

cd repo1
git status
cd repo2
git status

但是,我希望输出的路径相对于当前工作目录。实现此目标的最佳方法是什么?

一个想法是解析git status输出并操纵相对于cwd的路径。这种方法的缺点是解析逻辑会非常复杂。

第二个想法是调用git status --porcelain。这使解析更加容易。但是,从瓷器输出中重建标准git状态格式(“未暂缓提交的更改:”,“未跟踪的文件:”等)成为一个挑战。

第三个想法是尝试以某种方式欺骗git,也许是通过将.git目录建立到cwd的软链接,对这些文件进行一些临时操作,以欺骗它以输出相对于cwd的路径,然后撤消这些操作。但这似乎很危险,我不确定它是否可行。

第四个想法是,如果git公开了一个API或一些源代码,以允许从瓷器输出构建标准输出格式,则可以利用它。但是我不知道那是否存在。

0 个答案:

没有答案