Merge branch 'master' of git://repo.or.cz/alt-git into jn/autodep
authorJonathan Nieder <jrnieder@gmail.com>
Tue, 26 Jan 2010 16:08:44 +0000 (10:08 -0600)
committerJonathan Nieder <jrnieder@gmail.com>
Tue, 26 Jan 2010 16:08:44 +0000 (10:08 -0600)
* 'master' of git://repo.or.cz/alt-git: (384 commits)
  am: fix patch format detection for Thunderbird "Save As" emails
  t0022: replace non-portable literal CR
  tests: consolidate CR removal/addition functions
  commit-tree: remove unused #define
  t5541-http-push: make grep expression check for one line only
  rebase: replace antiquated sed invocation
  Add test-run-command to .gitignore
  git_connect: use use_shell instead of explicit "sh", "-c"
  gitweb.js: Workaround for IE8 bug
  Make test numbers unique
  Windows: Remove dependency on pthreadGC2.dll
  Documentation: move away misplaced 'push --upstream' description
  Documentation: add missing :: in config.txt
  pull: re-fix command line generation
  Documentation: merge: use MERGE_HEAD to refer to the remote branch
  Documentation: simplify How Merge Works
  Documentation: merge: add a section about fast-forward
  Documentation: emphasize when git merge terminates early
  Documentation: merge: add an overview
  Documentation: merge: move merge strategy list to end
  ...

Conflicts:
Makefile

1  2 
Makefile

diff --cc Makefile
index 98810b246b426a1bc000e4aeb7e5bfc716e1a1fb,af08c8f452d24d4fdbed9c08dfb3a31e318d7672..6f0f64753d176f41299df6cbcf38e7de69b0c36a
+++ b/Makefile
@@@ -341,8 -339,9 +339,9 @@@ LIB_H 
  LIB_OBJS =
  PROGRAMS =
  SCRIPT_PERL =
+ SCRIPT_PYTHON =
  SCRIPT_SH =
--TEST_PROGRAMS =
++TEST_PROGRAMS_NEED_X =
  
  SCRIPT_SH += git-am.sh
  SCRIPT_SH += git-bisect.sh
@@@ -387,33 -387,12 +387,28 @@@ EXTRA_PROGRAMS 
  # ... and all the rest that could be moved out of bindir to gitexecdir
  PROGRAMS += $(EXTRA_PROGRAMS)
  PROGRAMS += git-fast-import$X
- PROGRAMS += git-hash-object$X
  PROGRAMS += git-imap-send$X
- PROGRAMS += git-index-pack$X
- PROGRAMS += git-merge-index$X
- PROGRAMS += git-merge-tree$X
- PROGRAMS += git-mktag$X
- PROGRAMS += git-pack-redundant$X
- PROGRAMS += git-patch-id$X
  PROGRAMS += git-shell$X
  PROGRAMS += git-show-index$X
- PROGRAMS += git-unpack-file$X
  PROGRAMS += git-upload-pack$X
- PROGRAMS += git-var$X
  PROGRAMS += git-http-backend$X
  
- TEST_PROGRAMS += test-chmtime$X
- TEST_PROGRAMS += test-ctype$X
- TEST_PROGRAMS += test-date$X
- TEST_PROGRAMS += test-delta$X
- TEST_PROGRAMS += test-dump-cache-tree$X
- TEST_PROGRAMS += test-genrandom$X
- TEST_PROGRAMS += test-match-trees$X
- TEST_PROGRAMS += test-parse-options$X
- TEST_PROGRAMS += test-path-utils$X
- TEST_PROGRAMS += test-sha1$X
- TEST_PROGRAMS += test-sigchain$X
++TEST_PROGRAMS_NEED_X += test-chmtime
++TEST_PROGRAMS_NEED_X += test-ctype
++TEST_PROGRAMS_NEED_X += test-date
++TEST_PROGRAMS_NEED_X += test-delta
++TEST_PROGRAMS_NEED_X += test-dump-cache-tree
++TEST_PROGRAMS_NEED_X += test-genrandom
++TEST_PROGRAMS_NEED_X += test-match-trees
++TEST_PROGRAMS_NEED_X += test-parse-options
++TEST_PROGRAMS_NEED_X += test-path-utils
++TEST_PROGRAMS_NEED_X += test-run-command
++TEST_PROGRAMS_NEED_X += test-sha1
++TEST_PROGRAMS_NEED_X += test-sigchain
++TEST_PROGRAMS_NEED_X += test-index-version
++
++TEST_PROGRAMS := $(patsubst %,%$X,$(TEST_PROGRAMS_NEED_X))
 +
  # List built-in command $C whose implementation cmd_$C() is not in
  # builtin-$C.o but is linked in as part of some other command.
  BUILT_INS += $(patsubst builtin-%.o,git-%$X,$(BUILTIN_OBJS))
@@@ -1606,30 -1645,26 +1668,25 @@@ git.o git.spec 
  
  %.o: %.c GIT-CFLAGS
        $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $<
- %.s: %.c GIT-CFLAGS
+ %.s: %.c GIT-CFLAGS FORCE
        $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $<
- %.o: %.S
+ %.o: %.S GIT-CFLAGS
        $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $<
  
- exec_cmd.o: exec_cmd.c GIT-CFLAGS
-       $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) \
-               '-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
-               '-DBINDIR="$(bindir_relative_SQ)"' \
-               '-DPREFIX="$(prefix_SQ)"' \
-               $<
+ exec_cmd.s exec_cmd.o: ALL_CFLAGS += \
+       '-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
+       '-DBINDIR="$(bindir_relative_SQ)"' \
+       '-DPREFIX="$(prefix_SQ)"'
  
- builtin-init-db.o: builtin-init-db.c GIT-CFLAGS
-       $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"' $<
+ builtin-init-db.s builtin-init-db.o: ALL_CFLAGS += \
+       -DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"'
  
- config.o: config.c GIT-CFLAGS
-       $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DETC_GITCONFIG='"$(ETC_GITCONFIG_SQ)"' $<
+ config.s config.o: ALL_CFLAGS += -DETC_GITCONFIG='"$(ETC_GITCONFIG_SQ)"'
  
- http.o: http.c GIT-CFLAGS
-       $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DGIT_USER_AGENT='"git/$(GIT_VERSION)"' $<
+ http.s http.o: ALL_CFLAGS += -DGIT_USER_AGENT='"git/$(GIT_VERSION)"'
  
  ifdef NO_EXPAT
- http-walker.o: http-walker.c GIT-CFLAGS
-       $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DNO_EXPAT $<
 -http-walker.o: http.h
+ http-walker.s http-walker.o: ALL_CFLAGS += -DNO_EXPAT
  endif
  
  git-%$X: %.o $(GITLIBS)
@@@ -1739,13 -1770,36 +1803,18 @@@ GIT-GUI-VARS: FORC
                echo 1>&2 "    * new Tcl/Tk interpreter location"; \
                echo "$$VARS" >$@; \
              fi
- .PHONY: .FORCE-GIT-GUI-VARS
  endif
  
--### Testing rules
 -
 -TEST_PROGRAMS_NEED_X += test-chmtime
 -TEST_PROGRAMS_NEED_X += test-ctype
 -TEST_PROGRAMS_NEED_X += test-date
 -TEST_PROGRAMS_NEED_X += test-delta
 -TEST_PROGRAMS_NEED_X += test-dump-cache-tree
 -TEST_PROGRAMS_NEED_X += test-genrandom
 -TEST_PROGRAMS_NEED_X += test-match-trees
 -TEST_PROGRAMS_NEED_X += test-parse-options
 -TEST_PROGRAMS_NEED_X += test-path-utils
 -TEST_PROGRAMS_NEED_X += test-run-command
 -TEST_PROGRAMS_NEED_X += test-sha1
 -TEST_PROGRAMS_NEED_X += test-sigchain
 -TEST_PROGRAMS_NEED_X += test-index-version
 -
 -TEST_PROGRAMS = $(patsubst %,%$X,$(TEST_PROGRAMS_NEED_X))
 -
+ test_bindir_programs := $(patsubst %,bin-wrappers/%,$(BINDIR_PROGRAMS_NEED_X) $(BINDIR_PROGRAMS_NO_X) $(TEST_PROGRAMS_NEED_X))
  
- all:: $(TEST_PROGRAMS)
+ all:: $(TEST_PROGRAMS) $(test_bindir_programs)
+ bin-wrappers/%: wrap-for-bin.sh
+       @mkdir -p bin-wrappers
+       $(QUIET_GEN)sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+            -e 's|@@BUILD_DIR@@|$(shell pwd)|' \
+            -e 's|@@PROG@@|$(@F)|' < $< > $@ && \
+       chmod +x $@
  
  # GNU make supports exporting all variables by "export" without parameters.
  # However, the environment gets quite big, and some programs have problems
  
  export NO_SVN_TESTS
  
++### Testing rules
++
  test: all
        $(MAKE) -C t/ all