* [PATCH] git-clean: consider core.excludesfile
@ 2007-11-14 7:40 shunichi fuji
2007-11-14 8:58 ` Junio C Hamano
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: shunichi fuji @ 2007-11-14 7:40 UTC (permalink / raw)
To: git
git-clean used "git ls-files" and "git ls-files" don't consider
core.excludesfile.
i add few lines.
--- /usr/bin/git-clean 2007-11-14 08:26:20.000000000 +0900
+++ git-clean 2007-11-14 09:43:03.000000000 +0900
@@ -81,9 +81,14 @@
if [ "$ignoredonly" ]; then
excl="$excl --ignored"
fi
+ core_excl="`git-config core.excludesfile`"
+ if [ -f "$core_excl" ]; then
+ core_excl_info="--exclude-from=$core_excl"
+ fi
fi
-git ls-files --others --directory $excl ${excl_info:+"$excl_info"} -- "$@" |
+git ls-files --others --directory $excl ${excl_info:+"$excl_info"} \
+${core_excl_info:+"$core_excl_info"} -- "$@" |
while read -r file; do
if [ -d "$file" -a ! -L "$file" ]; then
if [ -z "$cleandir" ]; then
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] git-clean: consider core.excludesfile
2007-11-14 7:40 [PATCH] git-clean: consider core.excludesfile shunichi fuji
@ 2007-11-14 8:58 ` Junio C Hamano
2007-11-14 9:44 ` Jakub Narebski
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2007-11-14 8:58 UTC (permalink / raw)
To: shunichi fuji; +Cc: git
Thanks. Sign-off please?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] git-clean: consider core.excludesfile
2007-11-14 7:40 [PATCH] git-clean: consider core.excludesfile shunichi fuji
2007-11-14 8:58 ` Junio C Hamano
@ 2007-11-14 9:44 ` Jakub Narebski
2007-11-14 9:54 ` [PATCH] git-clean: honor core.excludesfile Junio C Hamano
2007-11-14 10:02 ` [PATCH] git-clean: consider core.excludesfile Johannes Sixt
3 siblings, 0 replies; 5+ messages in thread
From: Jakub Narebski @ 2007-11-14 9:44 UTC (permalink / raw)
To: git
shunichi fuji wrote:
> + core_excl="`git-config core.excludesfile`"
+ core_excl="$(git-config core.excludesfile)"
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] git-clean: honor core.excludesfile
2007-11-14 7:40 [PATCH] git-clean: consider core.excludesfile shunichi fuji
2007-11-14 8:58 ` Junio C Hamano
2007-11-14 9:44 ` Jakub Narebski
@ 2007-11-14 9:54 ` Junio C Hamano
2007-11-14 10:02 ` [PATCH] git-clean: consider core.excludesfile Johannes Sixt
3 siblings, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2007-11-14 9:54 UTC (permalink / raw)
To: shunichi fuji; +Cc: git
git-clean did not honor core.excludesfile configuration
variable, although some other commands such as git-add and
git-status did. Fix this inconsistency.
Original report and patch from Shun'ichi Fuji. Rewritten by me
and bugs and tests are mine.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
* How does this look? It is customary here to add a test
script to t/ to make sure a fix won't get broken in later
changes, so I took the liberty of adding one myself.
git-clean.sh | 9 ++++++++-
t/t7300-clean.sh | 11 +++++++++++
2 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/git-clean.sh b/git-clean.sh
index 4491738..931d1aa 100755
--- a/git-clean.sh
+++ b/git-clean.sh
@@ -75,15 +75,22 @@ esac
if [ -z "$ignored" ]; then
excl="--exclude-per-directory=.gitignore"
+ excl_info= excludes_file=
if [ -f "$GIT_DIR/info/exclude" ]; then
excl_info="--exclude-from=$GIT_DIR/info/exclude"
fi
+ if cfg_excl=$(git config core.excludesfile) && test -f "$cfg_excl"
+ then
+ excludes_file="--exclude-from=$cfg_excl"
+ fi
if [ "$ignoredonly" ]; then
excl="$excl --ignored"
fi
fi
-git ls-files --others --directory $excl ${excl_info:+"$excl_info"} -- "$@" |
+git ls-files --others --directory \
+ $excl ${excl_info:+"$excl_info"} ${excludes_file:+"$excludes_file"} \
+ -- "$@" |
while read -r file; do
if [ -d "$file" -a ! -L "$file" ]; then
if [ -z "$cleandir" ]; then
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index eb0847a..0ed4ae2 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -177,4 +177,15 @@ test_expect_success 'clean.requireForce and -f' '
'
+test_expect_success 'core.excludesfile' '
+
+ echo excludes >excludes &&
+ echo included >included &&
+ git config core.excludesfile excludes &&
+ output=$(git clean -n excludes included 2>&1) &&
+ expr "$output" : ".*included" >/dev/null &&
+ ! expr "$output" : ".*excludes" >/dev/null
+
+'
+
test_done
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] git-clean: consider core.excludesfile
2007-11-14 7:40 [PATCH] git-clean: consider core.excludesfile shunichi fuji
` (2 preceding siblings ...)
2007-11-14 9:54 ` [PATCH] git-clean: honor core.excludesfile Junio C Hamano
@ 2007-11-14 10:02 ` Johannes Sixt
3 siblings, 0 replies; 5+ messages in thread
From: Johannes Sixt @ 2007-11-14 10:02 UTC (permalink / raw)
To: shunichi fuji; +Cc: git, Junio C Hamano
shunichi fuji schrieb:
> --- /usr/bin/git-clean 2007-11-14 08:26:20.000000000 +0900
> +++ git-clean 2007-11-14 09:43:03.000000000 +0900
> @@ -81,9 +81,14 @@
> if [ "$ignoredonly" ]; then
> excl="$excl --ignored"
> fi
> + core_excl="`git-config core.excludesfile`"
Please make this
core_excl=$(git-config core.excludesfile)
-- Hannes
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-11-14 10:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-14 7:40 [PATCH] git-clean: consider core.excludesfile shunichi fuji
2007-11-14 8:58 ` Junio C Hamano
2007-11-14 9:44 ` Jakub Narebski
2007-11-14 9:54 ` [PATCH] git-clean: honor core.excludesfile Junio C Hamano
2007-11-14 10:02 ` [PATCH] git-clean: consider core.excludesfile Johannes Sixt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).