PLATFORM_DEFINES += -DNO_GETDOMAINNAME=1
endif
+ifndef SHELL_PATH
+ SHELL_PATH = /bin/sh
+endif
+ifndef PERL_PATH
+ PERL_PATH = /usr/bin/perl
+endif
+
ifndef NO_OPENSSL
LIB_OBJS += epoch.o
OPENSSL_LIBSSL = -lssl
DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'
-SCRIPTS = $(SCRIPT_SH) $(SCRIPT_PERL) gitk
+SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
+ $(patsubst %.perl,%,$(SCRIPT_PERL)) gitk
### Build rules
-all: $(PROGRAMS) git.sh
+all: $(PROGRAMS) $(SCRIPTS)
all:
$(MAKE) -C templates
-git.sh: git.sh.in Makefile
+git: git.sh Makefile
rm -f $@+ $@
- sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.in >$@+
+ sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.sh >$@+
chmod +x $@+
mv $@+ $@
+$(filter-out git,$(patsubst %.sh,%,$(SCRIPT_SH))) : % : %.sh
+ rm -f $@
+ sed -e '1s|#!.*/sh|#!$(SHELL_PATH)|' $@.sh >$@
+ chmod +x $@
+
+$(patsubst %.perl,%,$(SCRIPT_PERL)) : % : %.perl
+ rm -f $@
+ sed -e '1s|#!.*perl|#!$(PERL_PATH)|' $@.perl >$@
+ chmod +x $@
+
%.o: %.c
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
%.o: %.S
install: $(PROGRAMS) $(SCRIPTS)
$(INSTALL) -m755 -d $(DESTDIR)$(bindir)
- $(INSTALL) $(PROGRAMS) $(DESTDIR)$(bindir)
- @for s in $(SCRIPTS); \
- do \
- case "$$s" in \
- *.*) \
- e=`expr "$$s" : '\(.*\)\.[^.]*$$'` ;; \
- *) \
- e="$$s" ;; \
- esac && \
- echo ": install $$s $(DESTDIR)$(bindir)/$$e" && \
- $(INSTALL) $$s $(DESTDIR)$(bindir)/$$e || exit; \
- done
- $(INSTALL) git-revert.sh $(DESTDIR)$(bindir)/git-cherry-pick
+ $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(DESTDIR)$(bindir)
+ $(INSTALL) git-revert $(DESTDIR)$(bindir)/git-cherry-pick
sh ./cmd-rename.sh $(DESTDIR)$(bindir)
$(MAKE) -C templates install
clean:
rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROGRAMS) $(LIB_FILE)
- rm -f git-core.spec git.sh
+ rm -f $(filter-out gitk,$(SCRIPTS))
+ rm -f git-core.spec
rm -rf $(GIT_TARNAME)
rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
rm -f git-core_$(GIT_VERSION)-*.deb git-core_$(GIT_VERSION)-*.dsc
--- /dev/null
+#!/bin/sh
+
+cmd=
+path=$(dirname $0)
+case "$#" in
+0) ;;
+*) cmd="$1"
+ shift
+ case "$cmd" in
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "git version @@GIT_VERSION@@"
+ exit 0 ;;
+ esac
+ test -x $path/git-$cmd && exec $path/git-$cmd "$@" ;;
+esac
+
+echo "Usage: git COMMAND [OPTIONS] [TARGET]"
+if [ -n "$cmd" ]; then
+ echo " git command '$cmd' not found: commands are:"
+else
+ echo " git commands are:"
+fi
+
+cat <<\EOF
+ add apply archimport bisect branch checkout cherry clone
+ commit count-objects cvsimport diff fetch format-patch
+ fsck-cache get-tar-commit-id init-db log ls-remote octopus
+ pack-objects parse-remote patch-id prune pull push rebase
+ relink rename repack request-pull reset resolve revert
+ send-email shortlog show-branch status tag verify-tag
+ whatchanged
+EOF
+++ /dev/null
-#!/bin/sh
-
-cmd=
-path=$(dirname $0)
-case "$#" in
-0) ;;
-*) cmd="$1"
- shift
- case "$cmd" in
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "git version @@GIT_VERSION@@"
- exit 0 ;;
- esac
- test -x $path/git-$cmd && exec $path/git-$cmd "$@" ;;
-esac
-
-echo "Usage: git COMMAND [OPTIONS] [TARGET]"
-if [ -n "$cmd" ]; then
- echo " git command '$cmd' not found: commands are:"
-else
- echo " git commands are:"
-fi
-
-cat <<\EOF
- add apply archimport bisect branch checkout cherry clone
- commit count-objects cvsimport diff fetch format-patch
- fsck-cache get-tar-commit-id init-db log ls-remote octopus
- pack-objects parse-remote patch-id prune pull push rebase
- relink rename repack request-pull reset resolve revert
- send-email shortlog show-branch status tag verify-tag
- whatchanged
-EOF
read_tree_twoway () {
git-read-tree --emu23 "$1" "$2" &&
git-ls-files --stage &&
- git-merge-index ../../git-merge-one-file.sh -a &&
+ git-merge-index git-merge-one-file -a &&
git-ls-files --stage
}
test_expect_success \
'prepare an trivial repository' \
'echo Hello > A &&
- ../../git-update-index --add A &&
- ../../git-commit.sh -m "Initial commit."'
+ git-update-index --add A &&
+ git-commit -m "Initial commit."'
test_expect_failure \
'git branch --help should return error code' \
- '../../git-branch.sh --help'
+ 'git-branch --help'
test_expect_failure \
'git branch --help should not have created a bogus branch' \
parent=$commit || return 1
done &&
echo "$commit" >.git/HEAD &&
- git-clone.sh -l ./. victim &&
+ git-clone -l ./. victim &&
cd victim &&
- git-log.sh &&
+ git-log &&
cd .. &&
echo $zero >.git/HEAD &&
parent=$zero &&
done &&
echo "$commit" >.git/HEAD &&
echo Rebase &&
- git-log.sh'
+ git-log'
test_expect_success \
'pushing rewound head should not barf but require --force' '