1. 13 6月, 2013 1 次提交
    • J
      Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c · 49c24704
      Johan Herland 提交于
      This is a pure code movement of the machinery for copying notes to
      rewritten objects. This code was located in builtin/notes.c for
      historical reasons. In order to make it available to builtin/commit.c
      it was declared in builtin.h. This was more of an accident of history
      than a concious design, and we now want to make this machinery more
      widely available.
      
      Hence, this patch moves the code into the new notes-utils.[hc] files
      which are included into libgit.a. Except for adjusting #includes
      accordingly, this patch merely moves the relevant functions verbatim
      into the new files.
      
      Cc: Thomas Rast <trast@inf.ethz.ch>
      Signed-off-by: NJohan Herland <johan@herland.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      49c24704
  2. 17 3月, 2013 1 次提交
  3. 27 2月, 2013 1 次提交
  4. 26 2月, 2013 1 次提交
  5. 21 2月, 2013 1 次提交
    • J
      Makefile: avoid infinite loop on configure.ac change · 7f1b6976
      Jeff King 提交于
      If you are using autoconf and change the configure.ac, the
      Makefile will notice that config.status is older than
      configure.ac, and will attempt to rebuild and re-run the
      configure script to pick up your changes. The first step in
      doing so is to run "make configure". Unfortunately, this
      tries to include config.mak.autogen, which depends on
      config.status, which depends on configure.ac; so we must
      rebuild config.status. Which leads to us running "make
      configure", and so on.
      
      It's easy to demonstrate with:
      
        make configure
        ./configure
        touch configure.ac
        make
      
      We can break this cycle by not re-invoking make to build
      "configure", and instead just putting its rules inline into
      our config.status rebuild procedure.  We can avoid a copy by
      factoring the rules into a make variable.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      7f1b6976
  6. 14 2月, 2013 1 次提交
  7. 13 2月, 2013 1 次提交
    • J
      Makefile: do not export mandir/htmldir/infodir · c09d62f5
      Junio C Hamano 提交于
      These are defined in the main Makefile to be funny values that are
      optionally relative to an unspecified location that is determined at
      runtime.  They are only suitable for hardcoding in the binary via
      the -DGIT_{MAN,HTML,INFO}_PATH=<value> C preprocessor options, and
      are not real paths, contrary to what any sane person, and more
      importantly, the Makefile in the documentation directory, would
      expect.
      
      A longer term fix is to introduce runtime_{man,html,info}dir variables
      to hold these funny values, and make {man,html,info}dir variables
      to have real paths whose default values begin with $(prefix), but
      as a first step, stop exporting them from the top-level Makefile
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c09d62f5
  8. 12 2月, 2013 1 次提交
  9. 09 2月, 2013 1 次提交
  10. 04 2月, 2013 1 次提交
    • J
      config.mak.in: remove unused definitions · d8cf908c
      Junio C Hamano 提交于
      When 55667714 (autoconf: Use autoconf to write installation
      directories to config.mak.autogen, 2006-07-03) introduced support
      for autoconf generated config.mak file, it added an "export" for a
      few common makefile variables, in addition to definitions of srcdir
      and VPATH.
      
      The "export" logically does not belong there.  The make variables
      like mandir, prefix, etc, should be exported to submakes for people
      who use config.mak and people who use config.mak.autogen the same
      way; if we want to get these exported, that should be in the main
      Makefile.
      
      We do use mandir and htmldir in Documentation/Makefile, so let's
      add export for them in the main Makefile instead.
      
      We may eventually want to support VPATH, and srcdir may turn out to
      be useful for that purpose, but right now nobody uses it, so it is
      useless to define them in this file.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      d8cf908c
  11. 02 2月, 2013 1 次提交
    • J
      Makefile: explicitly set target name for autogenerated dependencies · 69789347
      Jonathan Nieder 提交于
      "gcc -MF depfile -MMD -MP -c -o path/to/file.o" produces a makefile
      snippet named "depfile" describing what files are needed to build the
      target given by "-o".  When ccache versions before v3.0pre0~187 (Fix
      handling of the -MD and -MDD options, 2009-11-01) run, they execute
      
      	gcc -MF depfile -MMD -MP -E
      
      instead to get the final content for hashing.  Notice that the "-c -o"
      combination is replaced by "-E".  The result is a target name without
      a leading path.
      
      Thus when building git with such versions of ccache with
      COMPUTE_HEADER_DEPENDENCIES enabled, the generated makefile snippets
      define dependencies for the wrong target:
      
      	$ make builtin/add.o
      	GIT_VERSION = 1.7.8.rc3
      	    * new build flags or prefix
      	    CC builtin/add.o
      	$ head -1 builtin/.depend/add.o.d
      	add.o: builtin/add.c cache.h git-compat-util.h compat/bswap.h strbuf.h \
      
      After a change in a header file, object files in a subdirectory are
      not automatically rebuilt by "make":
      
      	$ touch cache.h
      	$ make builtin/add.o
      	$
      
      Luckily we can prevent trouble by explicitly supplying the name of the
      target to ccache and gcc, using the -MQ option.  Do so.
      Reported-and-tested-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Reported-by: N: 허종만 <jongman.heo@samsung.com>
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Reviewed-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      69789347
  12. 30 1月, 2013 1 次提交
  13. 23 1月, 2013 1 次提交
  14. 14 1月, 2013 1 次提交
  15. 11 1月, 2013 1 次提交
  16. 07 1月, 2013 3 次提交
  17. 04 1月, 2013 1 次提交
    • J
      Makefile: hoist uname autodetection to config.mak.uname · e1b6dbb5
      Jeff King 提交于
      Our Makefile first sets up some sane per-platform defaults
      by looking at "uname", then modifies that according to the
      results of autoconf (if any), then modifies that according
      to the user's wishes in config.mak.
      
      For sub-Makefiles like Documentation/Makefile, the latter
      two are available, but the uname defaults are available only
      to the main Makefile. This hasn't been a problem so far,
      because the sub-Makefiles do not rely on any of those
      automatic settings to do their work.
      
      This patch puts the uname magic into its own file so it can
      be reused in other Makefiles, opening up the possibility of
      new knobs.
      
      Note that we leave one reference to uname in the top-level
      Makefile: if we are on Darwin, we must check the NO_FINK and
      NO_DARWIN_PORTS settings. But because we are combining uname
      settings with user-options, we must do so after all of the
      config is loaded. This is acceptable, as the resulting
      conditionals are about setting variables specific to the
      top-level Makefile (and if that ever changes, we can hoist
      them into a separate post-config include, too).
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e1b6dbb5
  18. 03 1月, 2013 1 次提交
  19. 02 1月, 2013 1 次提交
  20. 20 12月, 2012 2 次提交
    • M
      Port to QNX · 40036bed
      Matt Kraai 提交于
      Signed-off-by: NMatt Kraai <matt.kraai@amo.abbott.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      40036bed
    • J
      git-compat-util.h: do not #include <sys/param.h> by default · b2d05e06
      Junio C Hamano 提交于
      Earlier we allowed platforms that lack <sys/param.h> not to include
      the header file from git-compat-util.h; we have included this header
      file since the early days back when we used MAXPATHLEN (which we no
      longer use) and also depended on it slurping ULONG_MAX (which we get
      by including stdint.h or inttypes.h these days).
      
      It turns out that we can compile our modern codebase just file
      without including it on many platforms (so far, Fedora, Debian,
      Ubuntu, MinGW, Mac OS X, Cygwin, HP-Nonstop, QNX and z/OS are
      reported to be OK).
      
      Let's stop including it by default, and on platforms that need it to
      be included, leave "make NEEDS_SYS_PARAM_H=YesPlease" as an escape
      hatch and ask them to report to us, so that we can find out about
      the real dependency and fix it in a more platform agnostic way.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b2d05e06
  21. 19 12月, 2012 3 次提交
  22. 16 12月, 2012 3 次提交
  23. 11 12月, 2012 1 次提交
  24. 10 12月, 2012 1 次提交
    • J
      Which merge_file() function do you mean? · fa2364ec
      Junio C Hamano 提交于
      There are two different static functions and one global function,
      all of them called "merge_file()", with different signatures and
      purposes.  Rename them all to reduce confusion in "git grep" output:
      
       * Rename the static one in merge-index to "merge_one_path(const char
         *path)" as that function is about asking an external command to
         resolve conflicts in one path.
      
       * Rename the global one in merge-file.c that is only used by
         merge-tree to "merge_blobs()", as the function takes three blobs and
         returns the merged result only in-core, without doing anything to
         the filesystem.
      
       * Rename the one in merge-recursive to "merge_one_file()", just to be
         fair.
      
      Also rename merge-file.[ch] to merge-blobs.[ch].
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      fa2364ec
  25. 30 11月, 2012 1 次提交
  26. 27 11月, 2012 1 次提交
    • P
      Makefile: hide stderr of curl-config test · cad06d4d
      Paul Gortmaker 提交于
      You will get
      
          $ make distclean 2>&1 | grep curl
          /bin/sh: curl-config: not found
          /bin/sh: curl-config: not found
          /bin/sh: curl-config: not found
          /bin/sh: curl-config: not found
          /bin/sh: curl-config: not found
          $
      
      if you don't have a curl development package installed.
      
      The intent is not to alarm the user, but just to test if there is
      a new enough curl installed.  However, if you look at search engine
      suggested completions, the above "error" messages are confusing
      people into thinking curl is a hard requirement.
      
      Redirect this error output to /dev/null as it is not necessary to be
      shown to the end users.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      cad06d4d
  27. 19 11月, 2012 1 次提交
  28. 13 11月, 2012 1 次提交
    • M
      Update cygwin.c for new mingw-64 win32 api headers · 380a4d92
      Mark Levedahl 提交于
      The cygwin project recently switched to a new implementation of the
      windows api, now using header files from the mingw-64 project. These
      new header files are incompatible with the way cygwin.c included the
      old headers: cygwin.c can be compiled using the new or the older (mingw)
      headers, but different files must be included in different order for each
      to work. The new headers are in use only for the current release series
      (based upon the v1.7.x dll version). The previous release series using
      the v1.5 dll is kept available but unmaintained for use on older versions
      of Windows. So, patch cygwin.c to use the new include ordering only if
      the dll version is 1.7 or higher.
      Signed-off-by: NMark Levedahl <mlevedahl@gmail.com>
      Signed-off-by: NJeff King <peff@peff.net>
      380a4d92
  29. 30 10月, 2012 1 次提交
  30. 29 10月, 2012 3 次提交
  31. 16 10月, 2012 1 次提交