1. 09 Dec, 2008 2 commits
  2. 02 Dec, 2008 15 commits
  3. 22 Nov, 2008 12 commits
    • Make using CFLAGS a bit simpler · ab3f234e
      This patch introduces the $(ALL_CFLAGS) variable, which holds
      $(BASIC_CFLAGS) as well as userdefined $(CFLAGS) and then
      consistently uses that variable where both were used anyway.
      
      Since we're in the area, we optimize the sparse running a
      bit, getting rid of the shell and just letting sparse iterate
      over the files.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Add $(CONFIG_H) as a build-dependency for sparse · 6013ffa6
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Make src/git/config.h a macro in Makefile · 21648b45
      This makes it far more convenient to reference as a dependency
      for other targets.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Remove license top-comment from public header files · c6ebb4a9
      Since it's being added when we install the headers anyway,
      we might as well get rid of it. If anything, we should point
      coders to the COPYING file in the project's root directory
      instead of duplicating the same (large-ish) text everywhere.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Add an embryo of a TLS-aware error handling system · ae234862
      This adds the per-thread global variable git_errno to the
      system, which callers can examine to get information about
      an error.
      
      Two helper functions are added to reduce LoC-count for the
      library code itself.
      
      Also, some exceptions are made for running sparse on GIT_TLS
      definitions, since it doesn't grok thread-local variables at
      all.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Add util.h - utility macros · 3a2aabdc
      ARRAY_SIZE() et al go in util.h, included from common.h
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Add internal common.h file · 76a8c447
      This one pulls in compiler compatibility macros, some
      common header files, and also the public common.h header.
      
      C source files are modified to use the private common.h
      in favour of the public one.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Add cc-compat.h - C compiler compat macros for internal use · f501265f
      Holds things such as FLEX_ARRAY and whatnot.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Rename git_revpool_* functions gitrp_* · c215be41
      Otherwise their prototypes don't match their declarations.
      
      Detected by 'sparse', which is obviously good to run
      before each commit.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Add a 'sparse' make target · 3e1d42b7
      Given the confusion on git@vger, we'd better not name
      this target "check" or (worse) "test", but it's still
      useful to have. As "sparse", noone should have problems
      understanding what it does.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • s/COPYING/.HEADER/ for install-headers target · ff7c7576
      We don't want to prepend the entire license; Only the
      file header part of it.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Get rid of GIT__PRIVATE macro · 4f0adcd0
      Using it in the first place means something's wrong.
      This patch replaces it with an internal header which
      carries the previously "protected" code instead.
      
      Internal source-files simply include "commit.h" and
      they're done. The internal header includes the public
      one to make sure we always use the proper prototype.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
  4. 18 Nov, 2008 7 commits
    • Add compiler/platform agnostic thread-local storage · 36f0f61f
      It doesn't cover all cases, but we can work on those as
      we go along. For now, gcc, MSVC++, Intel C/C++, IBM XL C/C++,
      Sun Studio C/C++ and Borland C++ Builder are the supported
      compilers (although we boldly assume that they all are of
      a recent enough version to support thread-local storage).
      
      This is intended to be used in upcoming patches that implement
      graceful (but TLS-dependant) error-handling in the library.
      
      As an added bonus, we also bring the online_cpus() function
      from git.git to detect the number of usable cpu's.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Add a fake and phony install-headers target · a57e9a8c
      It actually does what it's supposed to (more or less),
      but not very portably and not to the correct directory.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Move public headers to src/git · d4043ee9
      It's arguably smoother to keep them close to the source,
      as that's where one's working when modifying them. More
      importantly, though, is the ability to use private headers
      in the src/ dir that simply include "git/$samename.h" to
      get to the public API at the same time.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • s/git_revp/git_revpool/ · 1b9e92c7
      git_revp is something I personally can't stop pronouncing
      "rev pointer". I'm sure others would suffer the same
      problem.
      
      Also, rename the git_revp_ sub-api "gitrp_". This is the
      first of many such renames, primarily done to prevent
      extreme inflation in the "git_" namespace, which we'd like
      to reserve for a higher-level API.
      
      While we're at it, we remove the noise-char "c" from a lot
      of functions. Since revision walking is all about commits,
      the common case should be that we're dealing with commits.
      Exceptions can get a more mnemonic description as needed.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Rename "git_sobj" "git_obj" · dff79e27
      The 's' never really made sense, since it's not a "small"
      object at all, but rather a plain object. As such, it should
      have a "plain" object name.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • Use same-directory include for public headers · 257bd746
      It doesn't make sense to use "git/somefile.h" in the
      public git headers, as it's quite likely that projects
      using them will have a git directory themselves. This
      alters it, making the public headers look for headers
      in the same directory they themselves are in.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
    • List git.git authors consenting to relicense their code · eb160e94
      Since re-using code from git.git proper is the quick way
      forward, we need to list those who have given their consent
      to do just that. The relicense permission is only valid for
      use with libgit2, and only for GPLv2 + gcc-exception (as
      specified by 'COPYING'.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
  5. 04 Nov, 2008 4 commits