It is possible for a user to disable attribute-based filtering when committing by doing one of the following: * Create .git/info/attributes unapplying all possible transforming attributes. * Use git hash-object and git update-index to stage files manually. Doing the former requires keeping an up-to-date list of all attributes which can transform files when committing or checking out. Doing the latter is difficult, error-prone and slow when done from scripts. Instead, similarly to git hash-object, --no-filter can be added to git add to enable temporarily disabling filtering in an easy to use way. These patches: * Add new flag ADD_CACHE_RAW to add_to_index() * Add new flag HASH_RAW to index_fd() * Make git hash-object use the new HASH_RAW flag for consistency * Add tests for the new git-add option. Andrej Shadura (2): add: add option --no-filters to disable attribute-based filtering hash-object: use the new HASH_RAW flag instead of setting path to NULL Documentation/git-add.txt | 7 +++++- builtin/add.c | 3 +++ builtin/hash-object.c | 17 ++++++--------- cache.h | 2 ++ object-file.c | 2 +- read-cache.c | 3 +++ t/t2205-add-no-filters.sh | 46 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 68 insertions(+), 12 deletions(-) create mode 100755 t/t2205-add-no-filters.sh base-commit: 2283e0e9af55689215afa39c03beb2315ce18e83 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-880%2Fandrewshadura%2Fgit-add-no-filters-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-880/andrewshadura/git-add-no-filters-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/880 -- gitgitgadget