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

Re: git filters don't get applied to dotfiles

From
Dennis Kaarsemaker <dennis@kaarsemaker.net>
Date
Dec 29, 2019, 16:01 UTC
Message-ID
<ea322b4c06dce0332ead3521e45514d10f2a76b8.camel@kaarsemaker.net>
In-Reply-To
<CALqn52MbeiCrEzphMkcjeU6bPbLLaQOa-vzht2156uqVw1wL_g@mail.gmail.com>
On Fri, 2019-12-27 at 16:51 +0900, Adrien LEMAIRE wrote:
Show 5 quoted lines
> I'd like to report a bug regarding git filters not being applied to
> files beginning with a dot character "."
> Using git version 2.24.1
> Please let me know if there is a better way to report bugs. The github
> page only mentions this email.
<snip reproduction recipe>

I was not able to reproduce this in the git test suite with a quick patch (see below). Your output does not show any git add command, is it possible that you added the changes before configuring the filter?

If you set GIT_TRACE=2 in your environment before doing the git add of the .mailrc file, you should see it run the filter command. It should look something like:

+ git add test test.t test.i .mailrc
trace: built-in: git add test test.t test.i .mailrc
trace: run_command: ./rot13.sh
trace: run_command: ./rot13.sh

(which is a part of the output of GIT_TRACE=2 ./t0021-conversion.sh -x -v -i)

diff --git t/t0021-conversion.sh t/t0021-conversion.sh
index 6c6d77b51a..32c27d513b 100755
--- t/t0021-conversion.sh
+++ t/t0021-conversion.sh
@@ -77,6 +77,7 @@ test_expect_success setup '
 
        {
            echo "*.t filter=rot13"
+           echo ".mailrc filter=rot13"
            echo "*.i ident"
        } >.gitattributes &&
 
@@ -88,9 +89,10 @@ test_expect_success setup '
        cat test >test.t &&
        cat test >test.o &&
        cat test >test.i &&
-       git add test test.t test.i &&
+       cat test >.mailrc &&
+       git add test test.t test.i .mailrc &&
        rm -f test test.t test.i &&
-       git checkout -- test test.t test.i &&
+       git checkout -- test test.t test.i .mailrc &&
 
        echo "content-test2" >test2.o &&
        echo "content-test3 - filename with special characters" >"test3 '\''sq'\'',\$x=.o"
@@ -102,6 +104,7 @@ test_expect_success check '
 
        test_cmp test.o test &&
        test_cmp test.o test.t &&
+       test_cmp test.o .mailrc &&
 
        # ident should be stripped in the repository
        git diff --raw --exit-code :test :test.i &&
@@ -110,9 +113,12 @@ test_expect_success check '
        test "z$id" = "z$embedded" &&
 
        git cat-file blob :test.t >test.r &&
+       git cat-file blob :.mailrc >.mailrc.r &&
 
        ./rot13.sh <test.o >test.t &&
-       test_cmp test.r test.t
+       ./rot13.sh <test.o >.mailrc &&
+       test_cmp test.r test.t &&
+       test_cmp .mailrc.r .mailrc
 '
 
 # If an expanded ident ever gets into the repository, we want to make sure that
Previous: Adrien LEMAIRENext: Adrien LEMAIRE
Message 2 of 3 in “git filters don't get applied to dotfiles”
  1. Adrien LEMAIREDec 27, 2019
  2. Dennis KaarsemakerDec 29, 2019
  3. Adrien LEMAIREDec 30, 2019

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.