This is a follow-up to Ignore files in git log -p and is also related to Making 'git log' ignore changes for certain paths.
I\'m using Git 1.9.2. I\'m trying
Nevermind. The problem appears to have been fixed in Git 1.9.5 (more specifically, in commit ed22b4173bd8d6dbce6236480bd30a63dd54834e). The toy example in my question above works as expected in Git 2.2.1:
$ git --version
git version 2.2.1
$ mkdir test_exclude
$ cd test_exclude/
$ git init
Initialized empty Git repository in /Users/jubobs/Desktop/test_exclude/.git/
$ mkdir testdir
$ printf "my first cpp file\n" > testdir/test1.cpp
$ printf "my first xml file\n" > testdir/test2.xml
$ git add testdir/
$ git commit -m "added two test files"
[master (root-commit) 5429d04] added two test files
2 files changed, 2 insertions(+)
create mode 100644 testdir/test1.cpp
create mode 100644 testdir/test2.xml
$ git log --patch -- . ":(exclude)testdir/*.xml"
commit 5429d047f140f96c5d6167d083fc1a5eab05fb19
Author: xxxxxxxxxxxxxxxxxxxxxxxxx
Date: Fri Dec 26 23:40:18 2014 +0100
added two test files
diff --git a/testdir/test1.cpp b/testdir/test1.cpp
new file mode 100644
index 0000000..3a721aa
--- /dev/null
+++ b/testdir/test1.cpp
@@ -0,0 +1 @@
+my first cpp file
As you can see, there is no mention of test2.xml
in the output of that git log
command, as desired.