Re: pre-receive hook ; how to detect file and append code ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 22 Jun 2012 11:02:41 -0700
Junio C Hamano <gitster@xxxxxxxxx> wrote:

> "J. Bakshi" <joydeep.bakshi@xxxxxxxxxxxxxxx> writes:
> 
> > How can I detect a specific file during push, if it is modified or not ?
> > And how can I then append a block of code into that file; if modified
> > during push ? I think pre-receive hook is the best for this operation.
> 
> The purpose of the "pre-receive" hook is to either approve or reject
> a proposed change made by the push.  When it runs, the repository
> already has received all the objects necessary to inspect the
> proposed change locally (from the receiving repository's point of
> view).
> 
> A proposed change comes in the form of <old> <new> <refname> that
> says "The pusher saw <old> at <refname> when he started this push,
> and it wants to update the ref to <new>".  So any of the following
> standard techniques (note: not exhaustive) to inspect the changes
> between <old> and <new> can be used:
> 
>     # are log messages sane?
>     git log <old>..<new>
> 
>     # are the changes sane?
>     git diff <old>..<new>
> 
>     # does it leave forbidden paths intact
>     git diff --name-only <old>..<new>
> 
> If your script likes the proposed change, exit with 0.  If it does
> not, exit with non-zero.
> 
> That is all it can do.  It is not supposed to change <new> to some
> other value, and there is no interface to do so.
> 
> If you want to rewrite the history pushed into the repository after
> a push is accepted, you would want to run it from post-receive or
> something.  All the usual warning about rewriting published history
> will apply if you do so, however.  After all, the history is already
> published immediately before post-recieve (or post-update) runs.

Thanks a lot for the clarifications....

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]