Open codarch opened 2 days ago
.git
directory is to store repository-related configurations, current states and datas, and the git
process does not care about files that it did not create or need..git
directory, including but not limited to:
git-lfs
stores its blob data in the .git/lfs-objects
directory.SourceTree
stores settings for individual repositories in the .git/sourcetreeconfig.json
file.fork
also stores repository-related configurations and datas in this directory.Unreal Engine
has implemented their own large file management tool - GitDependencies
which also stores its own data in the .git/ue-depends
directory.
It would be great if the application was able to store repository-specific configuration settings outside of the repository (the
.git
folder) and keep the repository itself clean from product-specific files. Git clients tend to treat the repository as if it were their own territory and put their arbitrary data there. That data have nothing to do with core Git files and (in my opinion) do not really belong there.Not to mention that this practice might cause issues on a long-term period if the format of the client configuration changes (I expect future Git versions to have backward compatible changes only, but Git clients may change at a faster pace, more dynamically).
Therefore I suggest introducing an option to store repository-specific settings in a centralized manner, for instance in the SourceGit application data directory.
Nonetheless this is a great product, thanks for the efforts of all contributors!