git commit 调用第三方编辑器是怎么实现的?

2014-06-11 15:24:31 +08:00
 tywtyw2002
git在commit的时候会启动第三方编辑器去编辑commit。
这时git是如何检查commit写好或者第三方编辑器被关闭了呢?
4487 次点击
所在节点    程序员
6 条回复
robertlyc
2014-06-11 15:55:56 +08:00
git config --global core.editor "mate -w"
Mutoo
2014-06-11 16:03:13 +08:00
还记得 c 的 hello world 那个不起眼的 return 0 么;

http://en.wikipedia.org/wiki/Wait_(command)
billlee
2014-06-11 22:46:33 +08:00
man 2 waitpid
xieranmaya
2014-06-12 09:33:42 +08:00
传给第三方编辑器的路径是.git目录下的COMMIT_EDITMSG这个文件,编辑器直接编辑这个文件,同时git也在监控这个文件,文件被关闭后就拿文件内容当ci msg
robot9
2014-06-12 10:04:25 +08:00
Fork一个process等它返回就好啦
可以先指定写到一个临时生成的文件里 之后直接读那个文件
kneep
2014-06-12 12:53:20 +08:00
等待进程退出吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/116908

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX