git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git.el: handle default excludesfile properly

From
DPDorab Patel <dorabpatel@gmail.com>
Date
Mar 4, 2018, 01:36 UTC
Message-ID
<CAE09B1+XXJvrOucHwehUGk=Taio7sirfOh5gq7KGs4iZSpK=vQ@mail.gmail.com>
In-Reply-To
<CAPig+cR=adC_Ok=FJw2APaLahXX_v1ix4ufEJyBhED5ruXaQxA@mail.gmail.com>

[[Pardon the duplicate. I forgot to send via text/plain and the mailing list bounced it, so resending.]]

Thanks for the feedback.

Correct me if I'm wrong, but my understanding, from https://git-scm.com/docs/gitignore, is that $HOME/.gitignore is used only if it is specified as the value of core.excludesfile in ~/.gitconfig. It is not used by default. If that is so, then the proposed (and original) code works. The changes I am proposing handle the default case, when core.excludesfile is not specified.

Looking deeper into how the function git-get-exclude-files is used, I see that it is only being called from git-run-ls-files-with-excludes. So, perhaps, a better (or additional) fix might be to add the parameter "--exclude-standard" in the call to git-run-ls-files from within git-run-ls-files-with-excludes. And remove the need for get-get-exclude-files altogether. Presumably, "--exclude-standard" handles the default case with/without XDG_CONFIG_HOME correctly. The question I'd have then is: why didn't the original author use that option? Either I'm missing something? Or the option was added later, after the original code was written? Or something else?

Thoughts?
On Sat, Mar 3, 2018 at 12:42 AM, Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 13 quoted lines
> On Fri, Mar 2, 2018 at 10:48 PM, Dorab Patel <dorabpatel@gmail.com> wrote:
>> The previous version only looked at core.excludesfile for locating the
>> excludesfile.  So, when core.excludesfile was not defined, it did not
>> use the possible default locations.
>>
>> The current version uses either $XDG_CONFIG_HOME/git/ignore or
>> $HOME/.config/git/ignore for the default excludesfile location
>> depending on whether XDG_CONFIG_HOME is defined or not.  As per the
>> documentation of gitignore.
>
> Perhaps take $HOME/.gitignore into account too?
>
>> Signed-off-by: Dorab Patel <dorabpatel@gmail.com>
Previous: Eric SunshineNext: Eric Sunshine
Message 3 of 19 in “git.el: handle default excludesfile properly”
  1. git.el: handle default excludesfile properlyDorab Patel, Mar 3, 2018
  2. Eric SunshineMar 3, 2018
  3. Dorab PatelMar 4, 2018
  4. Eric SunshineMar 4, 2018
  5. Dorab PatelMar 4, 2018
  6. Eric SunshineMar 4, 2018
  7. Junio C HamanoMar 5, 2018
  8. Alexandre JulliardMar 6, 2018
  9. Dorab PatelMar 7, 2018
  10. Ævar Arnfjörð BjarmasonMar 8, 2018
  11. git{,-blame}.el: remove old bitrotting Emacs codeÆvar Arnfjörð Bjarmason, Mar 8, 2018
  12. Junio C HamanoMar 8, 2018
  13. git{,-blame}.el: remove old bitrotting Emacs codeÆvar Arnfjörð Bjarmason, Mar 10, 2018
  14. Martin ÅgrenMar 10, 2018
  15. Junio C HamanoMar 13, 2018
  16. Ævar Arnfjörð BjarmasonMar 13, 2018
  17. Junio C HamanoMar 13, 2018
  18. Kyle MeyerMar 8, 2018
  19. git.el: handle default excludesfile properlyDorab Patel, Mar 6, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.