Re: [PATCH] contacts: allow execution from other directories
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Sep 17, 2013, 16:44 UTC
- Message-ID
- <CAPig+cTgfE_Lo2B50fy6rYOmfmb2O9wOZZfasTwt_Lx0k2KOOw@mail.gmail.com>
- In-Reply-To
- <1379422246-12818-1-git-send-email-t.gummerer@gmail.com>
On Tue, Sep 17, 2013 at 8:50 AM, Thomas Gummerer <t.gummerer@gmail.com> wrote:
> Currently git-contacts only works if it is executed from the top level > of the git repository. Enable the execution in sub directories of that > repository.
Thanks. This was on my to-do list but fell off my radar when I accidentally deleted the to-do list (which, oddly, was not under version control).
I have a patch in my local tree accomplishing the same thing, but in a less expensive manner. I'll post it a bit later today for review.
Show 25 quoted lines
> Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
> ---
>
> I have no experience in perl, so there may be nicer implementations. It works when tested manually.
>
> contrib/contacts/git-contacts | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/contrib/contacts/git-contacts b/contrib/contacts/git-contacts
> index fb6429b..32f03fc 100755
> --- a/contrib/contacts/git-contacts
> +++ b/contrib/contacts/git-contacts
> @@ -61,6 +61,9 @@ sub import_commits {
> sub get_blame {
> my ($commits, $source, $from, $ranges) = @_;
> return unless @$ranges;
> + my $git_dir = `git rev-parse --show-toplevel`;
> + chomp($git_dir);
> + $source = $git_dir . '/' . $source;
> open my $f, '-|',
> qw(git blame --porcelain -C),
> map({"-L$_->[0],+$_->[1]"} @$ranges),
> --
> 1.8.4.535.g7b94f8e.dirty
>