act icon indicating copy to clipboard operation
act copied to clipboard

Enhancement: core.excludesfile .gitignore (file) support

Open hakre opened this issue 2 years ago • 1 comments

Describe feature

the git (config) core.excludesfile sets a user-wide core ".gitignore" that applies to all projects.

currently act's .gitignore feature does not take it into account, paths ignored by it are copied into the container.

Backgound: core.excludesfile git-config Setting

from the git-book (Customizing Git Configuration):

core.excludesfile You can put patterns in your project’s .gitignore file to have Git not see them as untracked files or try to stage them when you run git add on them, as discussed in Ignoring Files.

But sometimes you want to ignore certain files for all repositories that you work with. If your computer is running macOS, you’re probably familiar with .DS_Store files. If your preferred editor is Emacs or Vim, you know about filenames that end with a ~ or .swp.

This setting lets you write a kind of global .gitignore file. If you create a ~/.gitignore_global file with these contents:

*~
.*.swp
.DS_Store

…and you run git config --global core.excludesfile ~/.gitignore_global, Git will never again bother you about those files.

another reference is core.excludesFile on the git-config(1) page:

core.excludesFile
Specifies the pathname to the file that contains patterns to describe paths that are not meant to be tracked, in addition to .gitignore (per-directory) and .git/info/exclude. Defaults to $XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore is used instead. See gitignore[5].

act's .gitignore feature

  • .gitignore file support:
    • .gitignore (per-directory) support: exists (by default, disable per --use-gitignore=false, compare #537)
    • .git/info/exclude support: exists (see #1000)
    • core.excludesfile support: missing (this feature request #1160)
  • git repo index support: exists (we may see it as unconfirmed/regression, compare #912)
  • git-worktree(1) support: this is a different beast, see #829

(report backstory: #1158)

hakre avatar May 11 '22 20:05 hakre

Just in case, I feel like basically support for git config is not there: I'm not that interested in support for core.excludesfile per se, rather I'm blocked by no support for http.proxy and the likes.

Update: a partial workaround that seems to work as alternative for a single case of http.proxy in git config, is setting the environment variable, HTTP_PROXY (or HTTPS_PROXY) accordingly.

grigorye avatar Jun 02 '22 15:06 grigorye