1. 22 Nov, 2008 3 commits
    • 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
    • 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
  2. 18 Nov, 2008 2 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
    • 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