I agree. And I think our current behaviour is the correct one.
Well, we have a more serious issue, that is related, but has nothing to do
with aliases.
If you set an environment variable "diff.color=always", any script will
get that behaviour, and not work the way it might expect.
My point being that this has nothing to do with "git-diff" vs "git diff",
and everything to do with default configurations. If you don't want people
to be able to change fixed behaviour, you'd need to have a way to disable
it.
Quite frankly, I think it's _easier_ to disable with "git xyzzy" than with
"git-xyzzy", but hey, not a big deal. With "git xyzzy", we could add a
generic flag like
git - xyzzy
to make the rule be that no configurations (_including_ aliases) are
allowed to override default behaviour, which is much harder with the
"git-xyzzy" format (since then it's invariably a per-command thing).
That said, I'm not going to push that patch very hard.
Especially as I just realized that it had a bug: it caused things like
-our \$logo = "file:///$(pwd)/../../gitweb/git-logo.png";
+our \$logo = "file:///$(pwd)/../../gitweb/git logo.png";
because "git-log" got rewritten as "git log", without checking that it was
a proper word.
I have a fixed version already (just make the sed script use \<..\> around
the pattern - appended here), but as mentioned, I don't think this is a
hugely important issue. I prefer the "git cmd" form, but if we want to
maintain "git-cmd" forever, then hey...
Linus
---
Fixed the sed pattern a bit..
Makefile | 3 ++-
fixup-builtins | 16 ++++++++++++++++
git-filter-branch.sh | 2 +-
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index a98e27a..1620ef8 100644
--- a/Makefile
+++ b/Makefile
@@ -987,7 +987,8 @@ check-sha1:: test-sha1$X
check: common-cmds.h
for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || exit; done
-
+remove-dashes:
+ ./fixup-builtins $(BUILT_INS)
### Installation rules
diff --git a/fixup-builtins b/fixup-builtins
new file mode 100755
index 0000000..49e861d
--- /dev/null
+++ b/fixup-builtins
@@ -0,0 +1,16 @@
+#!/bin/sh
+while [ "$1" ]
+do
+ old="$1"
+ new=$(echo "$1" | sed 's/git-/git /')
+ echo "Converting '$old' to '$new'"
+ git ls-files '*.sh' | while read file
+ do
+ sed "s/\\<$old\\>/$new/g" < $file > $file.new
+ chmod --reference=$file $file.new
+ mv $file.new $file
+ done
+ shift
+done
+git update-index --refresh >& /dev/null
+exit 0
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index 8fa5ce6..0f54271 100644
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -383,7 +383,7 @@ while read commit parents; do
sed -e '1,/^$/d' <../commit | \
eval "$filter_msg" | \
- sh -c "$filter_commit" git-commit-tree $(git-write-tree) $parentstr | \
+ sh -c "$filter_commit" "git-commit-tree" $(git-write-tree) $parentstr | \
tee ../map/$commit
done <../revs
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html