* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.