Is it possible to have all “git diff” commands use the “Python diff”, in all git projects?

When including the line

*.py diff=python

in a local .gitattributes file, git diff produces nice labels for the different diff hunks of Python files (with the name of the function where the changes are, etc.).

Is is possible to ask git to use this diff mode for all Python files across all git projects? I tried to set a global ~/.gitattributes, but it is not used by local git repositories. Is there a more convenient method than initializing each new git project with a ln -s ~/.gitattributes?

  • ezyang / git-ftp on Windows
  • how to automate a push to repo using gitpython
  • django.db.utils.programmingerror cannot cast time without time zone to timestamp with timezone
  • How to exclude gitignore files from cx_Freeze distribution
  • Version control for IPython notebook
  • Getting 405 error while trying to download nltk data
  • How to update a pull request through Github API
  • how to count SLOC of git library according to date
  • 3 Solutions collect form web for “Is it possible to have all “git diff” commands use the “Python diff”, in all git projects?”

    Quoting from gitattributes(5):

    Attributes that should affect all repositories for a single user should be placed in a file specified by the core.attributesfile configuration option (see git-config(1)). Its default value is $XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/attributes is used instead. Attributes for all users on a system should be placed in the $(prefix)/etc/gitattributes file.

    To tell git to use ~/.gitattributes you need to put this in ~/.gitconfig:

    [core]
      attributesfile = ~/.gitattributes
    

    No, git only looks for attributes locally: .gitattributes and .git/info/attributes

    Git Baby is a git and github fan, let's start git clone.