git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Atharva Raykar <raykar.ath@gmail.com>
To: Weishi Zeng <amwish.zeng@gmail.com>
Cc: git <git@vger.kernel.org>
Subject: Re: [Bug Report] git log -L:<funcname>:<file>
Date: Thu, 20 May 2021 12:35:48 +0530	[thread overview]
Message-ID: <415E9638-B035-49A2-B2AF-1CBD988421D4@gmail.com> (raw)
In-Reply-To: <CAH6yD_bkY+_7XrzHdOqnnE=qvnnvxAWEQPtOyVh=BwvbcheTCA@mail.gmail.com>

On 20-May-2021, at 05:41, Weishi Zeng <amwish.zeng@gmail.com> wrote:
> 
> Summary:
> git log -L:<funcname>:<file>
> would fail if there's any java-style comment that appears before the
> <funcname> string in the file.
> 
> 
> Details:
> Thank you for filling out a Git bug report!
> Please answer the following questions to help us understand your issue.
> 
> What did you do before the bug happened? (Steps to reproduce your issue)
> git log -L:'myFunction':~/a.java
> The file is a java file that contains comment before the function name.
> E.g.
> /**
> * comments will interrupt the regex match
> */
> private static void myFunction() {}

I was able to reproduce a similar problem, but it was not the comments
that were causing it. It was happening to methods that were indented
(ie, defined within a class, as is always the case in Java).

> What did you expect to happen? (Expected behavior)
> As described, it should return me the commit history that touched this function
> 
> What happened instead? (Actual behavior)
> It returns error:
> fatal: -L parameter 'myFunction' starting at line 1: no match

Can you try adding a .gitattributes file at the root of your repository,
with the following contents:

*.java diff=java

After that, try running the command again, and see if that helps.

I suspect the default regex that tries to locate your function might not
be matching as well as it should, and does not handle indented function
definitions properly.

(More on what the .gitattributes file does:
https://git-scm.com/docs/gitattributes#_defining_a_custom_hunk_header)

> Anything else you want to add:
> If the function name string to search for appears before any
> java-style comment, it returns a valid response.
> 
> Please review the rest of the bug report below.
> You can delete any lines you don't wish to share.
> 
> 
> [System Info]
> git version:
> git version 2.30.1 (Apple Git-130)
> cpu: x86_64
> no commit associated with this build
> sizeof-long: 8
> sizeof-size_t: 8
> shell-path: /bin/sh
> uname: Darwin 20.4.0 Darwin Kernel Version 20.4.0: Thu Apr 22 21:46:47
> PDT 2021; root:xnu-7195.101.2~1/RELEASE_X86_64 x86_64
> compiler info: clang: 12.0.5 (clang-1205.0.22.6)
> libc info: no libc information available
> $SHELL (typically, interactive shell): /bin/zsh
> 
> 
> [Enabled Hooks]
> post-commit
> post-rewrite

--
Atharva Raykar

      parent reply	other threads:[~2021-05-20  7:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-20  0:11 Weishi Zeng
2021-05-20  3:18 ` Bagas Sanjaya
2021-05-20  6:45   ` Weishi Zeng
2021-05-20  7:05 ` Atharva Raykar [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=415E9638-B035-49A2-B2AF-1CBD988421D4@gmail.com \
    --to=raykar.ath@gmail.com \
    --cc=amwish.zeng@gmail.com \
    --cc=git@vger.kernel.org \
    --subject='Re: [Bug Report] git log -L:<funcname>:<file>' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).