1. 29 5月, 2010 1 次提交
  2. 09 5月, 2010 1 次提交
  3. 06 4月, 2010 1 次提交
    • J
      Revert "Link against libiconv on IRIX" · 8b5fe8c9
      Junio C Hamano 提交于
      Brandon Casey reports:
      
          Subject: Re: [PATCH] Link against libiconv on IRIX
          Date: Mon, 05 Apr 2010 11:45:32 -0500
          Message-Id: <1UypQMCHLT57SnjSQIM66RTkLalsvavG8xXoQJv4rEQ@cipher.nrlssc.navy.mil>
      
          This breaks compilation on IRIX 6.5.29m for me since there
          is no separate libiconv.so.
      
          What version of IRIX are you using?
      
          On my system, even the iconv utility doesn't link against
          a libiconv shared object.  It seems the iconv functionality is in libc.
      
             # ldd /usr/bin/iconv
      	       libc.so.1  =>    /usr/lib32/libc.so.1
      
          Could it be that you are using a third party iconv library?
          I've experienced this on another system and the problem was related
          to curl.  In that case, curl was linked against an external iconv and
          not the native library, so if I tried to build with curl support, I had
          to also build against the external iconv library.
      
      While we wait for an improved solution, revert the regression caused by
      21704227.
      8b5fe8c9
  4. 04 4月, 2010 1 次提交
  5. 03 4月, 2010 4 次提交
  6. 02 4月, 2010 1 次提交
    • E
      Makefile: update defaults for modern Cygwin · a50dec22
      Eric Blake 提交于
      Now that Cygwin 1.7.x has enabled lots of new features, and Cygwin 1.5
      is no longer actively supported by the Cygwin mailing lists, we might
      as well update the defaults to cater to those new features.
      
      NO_TRUSTABLE_FILEMODE is only necessary on FAT drives; the Cygwin
      community recommends NTFS drives, but there is still too much use
      for FAT to switch the default.  Likewise, UNRELIABLE_FSTAT is probably
      file-system specific, but worth keeping unchanged.
      
      This commit does not change the default for NO_MMAP, although definitive
      proof of whether this option is necessary is lacking.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a50dec22
  7. 01 4月, 2010 1 次提交
  8. 29 3月, 2010 1 次提交
    • D
      Makefile: Remove usage of deprecated Python "has_key" method · 0ae08401
      David Aguilar 提交于
      "has_key" is a deprecated dictionary method in Python 2.6+.
      Simplify the sys.path manipulation for installed scripts by
      passing a default value to os.getenv() that takes a default
      value to be used when the environment variable is missing.
      
      SCRIPT_PYTHON is currently empty but this future-proofs us.
      It also fixes things for users who maintain local git forks
      with their own SCRIPT_PYTHON additions.
      
      Old code replaced the first element of sys.path[] which is
      typically '' (i.e. import library files relative to the script).
      It is safer to prepend the extra library path instead.
      Signed-off-by: NDavid Aguilar <davvid@gmail.com>
      Acked-by: NJohan Herland <johan@herland.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      0ae08401
  9. 25 3月, 2010 1 次提交
  10. 21 3月, 2010 1 次提交
  11. 20 3月, 2010 2 次提交
    • J
      Makefile: Fix occasional GIT-CFLAGS breakage · a673cfed
      Jonathan Nieder 提交于
      GNU make’s target-specific variables facility has one weird facet: any
      variables set for a given target apply to all of its dependencies,
      too.  For example, when running “make exec_cmd.o”, since exec_cmd.o
      depends on GIT-CFLAGS, the variable assignment in
      
      	exec_cmd.s exec_cmd.o: ALL_CFLAGS += \
      		'-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
      		'-DBINDIR="$(bindir_relative_SQ)"' \
      		'-DPREFIX="$(prefix_SQ)"'
      
      applies when refreshing GIT-CFLAGS, and the extra options get included
      in the tracked compiler flags.  If an object file like this is the
      first target built, GIT-CFLAGS will appear to be out of date,
      resulting in useless rebuilds and the dreaded “new build flags or
      prefix” message.
      
      This does not happen with every build because GIT-CFLAGS is only
      refreshed once in a given “make” run, and usually the first target
      does not set any variables.  When this problem does rear its head, it
      is very annoying.
      
      So put target-specific flags in a separate EXTRA_CPPFLAGS variable
      that is not included in $(TRACK_CFLAGS).
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a673cfed
    • J
      Makefile: Fix CDPATH problem · c40d92e4
      Jonathan Nieder 提交于
      If CDPATH is set, "cd" prints its destination to stdout, causing
      the common (cd a && tar cf - .) | (cd b && tar xf -) idiom to fail.
      For example:
      
       make -C templates DESTDIR='' install
       make[1]: Entering directory `/users/e477610/exptool/src/git-1.7.0.2/templates'
       install -d -m 755 '/home/e477610/exptool/share/git-core/templates'
       (cd blt && gtar cf - .) | \
      	(cd '/home/e477610/exptool/share/git-core/templates' && umask 022 && gtar xof -)
       gtar: This does not look like a tar archive
      
      Most git scripts already protect against use of CDPATH through
      git-sh-setup, but the Makefile doesn’t.
      Reported-by: NMichael Cox <mhcox@bluezoosoftware.com>
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c40d92e4
  12. 11 3月, 2010 1 次提交
  13. 01 3月, 2010 1 次提交
    • J
      Makefile: clarify definition of TEST_OBJS · 5b8805e7
      Jonathan Nieder 提交于
      The definition of TEST_OBJS in commit daa99a91 (Makefile: make sure
      test helpers are rebuilt when headers change, 2010-01-26) moved a use
      of $X to before the platform-specific section where it gets defined.
      There are at least two ways to fix that:
      
       - Change the definition of TEST_OBJS to use the = delayed
         evaluation operator.  This way, one need not worry about $(X)
         needing to be defined before TEST_OBJS is set.
      
       - Move the definition of TEST_OBJS to below the definition of $X.
      
      Carry out the second.  The later site of definition makes the code more
      readable, since now a reader only has to look down one line to see what
      TEST_OBJS is meant to be used for.
      
      Oddly enough, with or without this change the behavior of the Makefile
      is the same.  Since TEST_PROGRAMS is defined with delayed evaluation,
      the value of
      
       TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS))
      
      is independent of the value of $X when it is evaluated: the $X in the
      pattern and the $X in $(TEST_PROGRAMS) will simply always cancel out.
      Make sure $X has the expected expansion anyway to make the code and
      the reader’s sanity more robust in the face of future changes.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      5b8805e7
  14. 23 2月, 2010 2 次提交
    • M
      Move gitmkstemps to path.c · 00787ed5
      Matthieu Moy 提交于
      This function used to be only a compatibility function, but we're
      going to extend it and actually use it, so make it part of Git.
      Signed-off-by: NMatthieu Moy <Matthieu.Moy@imag.fr>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      00787ed5
    • L
      Move 'builtin-*' into a 'builtin/' subdirectory · 81b50f3c
      Linus Torvalds 提交于
      This shrinks the top-level directory a bit, and makes it much more
      pleasant to use auto-completion on the thing. Instead of
      
      	[torvalds@nehalem git]$ em buil<tab>
      	Display all 180 possibilities? (y or n)
      	[torvalds@nehalem git]$ em builtin-sh
      	builtin-shortlog.c     builtin-show-branch.c  builtin-show-ref.c
      	builtin-shortlog.o     builtin-show-branch.o  builtin-show-ref.o
      	[torvalds@nehalem git]$ em builtin-shor<tab>
      	builtin-shortlog.c  builtin-shortlog.o
      	[torvalds@nehalem git]$ em builtin-shortlog.c
      
      you get
      
      	[torvalds@nehalem git]$ em buil<tab>		[type]
      	builtin/   builtin.h
      	[torvalds@nehalem git]$ em builtin		[auto-completes to]
      	[torvalds@nehalem git]$ em builtin/sh<tab>	[type]
      	shortlog.c     shortlog.o     show-branch.c  show-branch.o  show-ref.c     show-ref.o
      	[torvalds@nehalem git]$ em builtin/sho		[auto-completes to]
      	[torvalds@nehalem git]$ em builtin/shor<tab>	[type]
      	shortlog.c  shortlog.o
      	[torvalds@nehalem git]$ em builtin/shortlog.c
      
      which doesn't seem all that different, but not having that annoying
      break in "Display all 180 possibilities?" is quite a relief.
      
      NOTE! If you do this in a clean tree (no object files etc), or using an
      editor that has auto-completion rules that ignores '*.o' files, you
      won't see that annoying 'Display all 180 possibilities?' message - it
      will just show the choices instead.  I think bash has some cut-off
      around 100 choices or something.
      
      So the reason I see this is that I'm using an odd editory, and thus
      don't have the rules to cut down on auto-completion.  But you can
      simulate that by using 'ls' instead, or something similar.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      81b50f3c
  15. 14 2月, 2010 1 次提交
    • J
      Builtin-ify git-notes · cd067d3b
      Johan Herland 提交于
      The builtin-ification includes some minor behavioural changes to the
      command-line interface: It is no longer allowed to mix the -m and -F
      arguments, and it is not allowed to use multiple -F options.
      
      As part of the builtin-ification, we add the commit_notes() function
      to the builtin API. This function (together with the notes.h API) can
      be easily used from other builtins to manipulate the notes tree.
      
      Also includes needed changes to t3301.
      
      This patch has been improved by the following contributions:
      - Stephen Boyd: Use die() instead of fprintf(stderr, ...) followed by exit(1)
      
      Cc: Stephen Boyd <bebarino@gmail.com>
      Signed-off-by: NJohan Herland <johan@herland.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      cd067d3b
  16. 01 2月, 2010 4 次提交
  17. 31 1月, 2010 1 次提交
  18. 27 1月, 2010 12 次提交
    • J
      Teach Makefile to check header dependencies · f2fabbf7
      Jonathan Nieder 提交于
      Add a target to use the gcc-generated makefile snippets for
      dependencies on header files to check the hard-coded dependencies.
      
      With this patch applied, if any dependencies are missing, then
      
      	make clean
      	make COMPUTE_HEADER_DEPENDENCIES=YesPlease
      	make CHECK_HEADER_DEPENDENCIES=YesPlease
      
      will produce an error message like the following:
      
      	CHECK fast-import.o
      	missing dependencies: exec_cmd.h
      	make: *** [fast-import.o] Error 1
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      f2fabbf7
    • J
      Makefile: list standalone program object files in PROGRAM_OBJS · 1b22c99c
      Jonathan Nieder 提交于
      Because of new commands like git-remote-http, the OBJECTS list
      contains fictitious objects such as remote-http.o.  Thus any
      out-of-tree rules that require all $(OBJECTS) to be buildable
      are broken.  Add a list of real program objects to avoid this
      problem.
      
      To avoid duplication of effort, calculate the command list in
      the PROGRAMS variable using the expansion of PROGRAM_OBJS.
      This calculation occurs at the time $(PROGRAMS) is expanded,
      so later additions to PROGRAM_OBJS will be reflected in it,
      provided they occur before the build rules begin on line 1489.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      1b22c99c
    • J
      Makefile: lazily compute header dependencies · dfea5750
      Jonathan Nieder 提交于
      Use the gcc -MMD -MP -MF options to generate dependency rules as
      a byproduct when building .o files if the
      COMPUTE_HEADER_DEPENDENCIES variable is defined.  That variable
      is left undefined by default for now.
      
      As each object file is built, write a makefile fragment
      containing its dependencies in the deps/ subdirectory of its
      containing directory.  The deps/ directories should be generated
      if they are missing at the start of each build.  So let each
      object file depend on $(missing_dep_dirs), which lists only the
      directories of this kind that are missing to avoid needlessly
      regenerating files when the directories' timestamps change.
      
      gcc learned the -MMD -MP -MF options in version 3.0, so most gcc
      users should have them by now.
      
      The dependencies this option computes are more specific than the
      rough estimates hard-coded in the Makefile, greatly speeding up
      rebuilds when only a little-used header file has changed.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      dfea5750
    • J
      Makefile: list generated object files in OBJECTS · c3739913
      Jonathan Nieder 提交于
      Set the OBJECTS variable to a comprehensive list of all object
      file targets.  To make sure it is truly comprehensive, restrict
      the scope of the %.o pattern rule to only generate objects in
      this list.
      
      Attempts to build other object files will fail loudly:
      
      	$ touch foo.c
      	$ make foo.o
      	make: *** No rule to make target `foo.o'.  Stop.
      
      providing a reminder to add the new object to the OBJECTS list.
      
      The new variable is otherwise unused.  The intent is for later
      patches to take advantage of it.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      c3739913
    • J
      Makefile: disable default implicit rules · 30248886
      Jonathan Nieder 提交于
      The git makefile never uses any default implicit rules.
      Unfortunately, if a prerequisite for one of the intended rules is
      missing, a default rule can be used in its place:
      
      	$ make var.s
      	    CC var.s
      	$ rm var.c
      	$ make var.o
      	    as   -o var.o var.s
      
      Avoiding the default rules avoids this hard-to-debug behavior.
      It also should speed things up a little in the normal case.
      
      Future patches may restrict the scope of the %.o: %.c pattern.
      This patch would then ensure that for targets not listed, we do
      not fall back to the default rule.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      30248886
    • J
      Makefile: rearrange dependency rules · beeb4564
      Jonathan Nieder 提交于
      Put rules listing dependencies of compiled objects (.o files) on
      header files (.h files) in one place, to make them easier to
      compare and modify all at once.
      
      Add a GIT_OBJS variable listing objects that depend on LIB_H,
      for similar reasons.
      
      No change in build-time behavior intended.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      beeb4564
    • J
      Makefile: transport.o depends on branch.h now · 75df7144
      Jonathan Nieder 提交于
      Since commit e9fcd1e2 (Add push --set-upstream, 2010-01-16),
      transport.c uses branch.h.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      75df7144
    • J
      Makefile: drop dependency on $(wildcard */*.h) · 3e6577b4
      Jonathan Nieder 提交于
      The files this pulls in are already pulled in by other dependency
      rules (some recently added).
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      3e6577b4
    • J
      Makefile: clean up http-walker.o dependency rules · 066ddda6
      Jonathan Nieder 提交于
      http-walker.o depends on http.h twice: once in the rule listing
      files that use http.h, and again in the rule explaining how to
      build it.  Messy.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      066ddda6
    • J
      Makefile: remove wt-status.h from LIB_H · 7a1894e3
      Jonathan Nieder 提交于
      A list of the few translation units using this header is
      half-populated already.  Including the dependency on this header
      twice (once explicitly, once through LIB_H) makes it difficult to
      figure out where future headers should be added to the Makefile.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      7a1894e3
    • J
      Makefile: make sure test helpers are rebuilt when headers change · daa99a91
      Jonathan Nieder 提交于
      It is not worth the bother to maintain an up-to-date list of
      which headers each test helper uses, so depend on $(LIB_H) to
      catch them all.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      daa99a91
    • J
      Makefile: add missing header file dependencies · 21528abc
      Jonathan Nieder 提交于
      LIB_H is missing exec_cmd.h and color.h.  cache.h includes
      SHA1_HEADER, and thus so does almost everything else, so add that
      to LIB_H, too.  xdiff-interface.h is not included by any header
      files, but so many source files use xdiff that it is simplest to
      include it in LIB_H, too.
      
      xdiff-interface.o uses the xdiff library heavily; let it depend
      on all xdiff headers to avoid needing to keep track of which
      headers it uses.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      21528abc
  19. 25 1月, 2010 1 次提交
  20. 23 1月, 2010 2 次提交