How can I make Gitolite post-receive hook to show

2019-06-05 14:00发布

Here is my post-receive hook:

#!/bin/bash

while read oldrev newrev ref; do
        git diff --name-only oldrev..newrev
        git --work-tree=/tmp checkout HEAD -- plugin.yml
        echo -e "Test complete maybe..." | tee >(exec logger)
done

And here is the output:

enter image description here

And if I replace oldrev..newrev by oldrev -- newrev, the output is: enter image description here

I need to get folder in which this file(plugin.yml) was modified. Thanks.

1条回答
地球回转人心会变
2楼-- · 2019-06-05 14:32

First, each hook can simply check its execution path: that will give you the name of the repo.

Second, the git diff --name-only I mentioned in your previous question will give you the relative path of the file being pushed (including mod1/2).

git diff --name-only $1..$2

since the post-receive hook receives oldrev, newrev and ref on standard input.

查看更多
登录 后发表回答