-->

How can I make Gitolite post-receive hook to show

2019-06-05 14:34发布

问题:

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:

And if I replace oldrev..newrev by oldrev -- newrev, the output is:

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

回答1:

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.