diff options
-rw-r--r-- | .gitattributes | 1 | ||||
-rw-r--r-- | debian/changelog | 7 | ||||
-rwxr-xr-x | pre-commit.d/30store-metadata | 29 |
3 files changed, 27 insertions, 10 deletions
diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..5d42584 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +debian/changelog merge=dpkg-mergechangelogs diff --git a/debian/changelog b/debian/changelog index 7720597..82b149d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +etckeeper (1.8) UNRELEASED; urgency=low + + * Avoid listing .gitignored files in .etckeeper file. Closes: #607665 + Thanks, Zdenek Crha + + -- Joey Hess <joeyh@debian.org> Wed, 31 Jul 2013 11:33:45 -0400 + etckeeper (1.7) unstable; urgency=low * Fix hilarious typo hardcoding my name. Closes: #718425 diff --git a/pre-commit.d/30store-metadata b/pre-commit.d/30store-metadata index 03ce475..3bb52e5 100755 --- a/pre-commit.d/30store-metadata +++ b/pre-commit.d/30store-metadata @@ -15,16 +15,25 @@ filter_unknown() { } filter_ignore() { - if [ "$VCS" = darcs ]; then - ignorefile=.darcsignore - fi + case "$VCS" in + darcs) ignorefile=.darcsignore ;; + git) ignorefile=.gitignore ;; + esac - if [ "$VCS" = darcs ] && [ -e "$ignorefile" ]; then - patternsfile="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )" - grep -v '^[[:space:]]*\(#\|$\)' "$ignorefile" > "$patternsfile" || true - grep -Evf "$patternsfile" - rm -f "$patternsfile" - unset patternsfile + if [ -n "$ignorefile" ] && [ -e "$ignorefile" ]; then + listfile="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )" + case "$VCS" in + darcs) + grep -v '^[[:space:]]*\(#\|$\)' "$ignorefile" > "$listfile" || true + grep -Evf "$listfile" + ;; + git) + git ls-files --others --ignore --directory > "$listfile" || true + grep -Fvf "$listfile" + ;; + esac + rm -f "$listfile" + unset listfile else cat - fi @@ -74,7 +83,7 @@ generate_metadata() { # Store things that don't have the default user or group. # Store all file modes, in case the user has an unusual umask. - find $NOVCS \( -type f -or -type d \) -print | sort | perl -ne ' + find $NOVCS \( -type f -or -type d \) -print | filter_ignore | sort | perl -ne ' BEGIN { $q=chr(39) } sub uidname { my $want=shift; |