1. 07 Jun, 2010 3 commits
  2. 04 May, 2010 1 commit
  3. 28 Apr, 2010 3 commits
  4. 14 Apr, 2010 3 commits
    • Add block-sha1 in favour of the mozilla routines · 5dddf7c8
      Since block-sha1 from git.git has such excellent performance, we
      can also get rid of the openssl dependency. It's rather simple
      to add it back later as an optional extra, but we really needn't
      bother to pull in the entire ssl library and have to deal with
      linking issues now that we have the portable and, performance-wise,
      truly excellent block-sha1 code to fall back on.
      
      Since this requires a slight revamp of the build rules anyway, we
      take the opportunity to fix including EXTRA_OBJS in the final build
      as well.
      
      The block-sha1 code was originally implemented for git.git by
      Linus Torvalds <torvalds@linux-foundation.org> and was later
      polished by Nicolas Pitre <nico@cam.org>.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Andreas Ericsson committed
    • Add generic buildrule for assembly files · a7335c51
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Andreas Ericsson committed
    • Make 'make clean' wipe all object files in src/*/ · 9b173803
      Instead of naming the subdirectories explicitly (which will result in
      us forgetting about one sooner or later), we change the shell glob
      pattern to wipe all object files from all subdirectories under src/.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Andreas Ericsson committed
  5. 28 Feb, 2010 1 commit
  6. 01 Feb, 2010 1 commit
  7. 20 Jan, 2010 2 commits
  8. 13 Oct, 2009 2 commits
    • Add test-suite coverage testing using gcov · e4553584
      Add a new "coverage" Makefile target that re-builds the
      library and tests using the gcc compiler/linker flags
      required by gcov, runs the test suite to capture the
      runtime data, then compiles a coverage report.
      
      The report, which is saved in a file named "untested",
      consists of a list of untested files, followed by a list
      of untested functions. More detailed execution statistics
      are given in the gcov log files which are saved in the
      top-level directory (named like src#hash.c.gcov).
      
      Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
      Ramsay Jones committed
    • Add support for running the tests via valgrind · cac5d927
      Add some makefile targets, which use valgrind's memcheck tool to
      run the tests, in order to help diagnose memory problems in the
      library.
      
      In addition, we enable the '--leak-check' option to report on any
      memory leaks. However, unlike the other memory problems reported
      by memcheck, memory leak reports do not result in an error exit
      from valgrind. (So memory leaks are reported on stderr, but don't
      halt the test run.)
      
      A suppressions file (tests.supp) is included since libz triggers
      some false positives.
      
      Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
      Ramsay Jones committed
  9. 05 Jun, 2009 2 commits
  10. 20 Mar, 2009 1 commit
    • win32: Add routines to abstract memory-mapped file functions · 79ca2edc
      In particular, the git__mmap() and git__munmap() routines provide
      the interface to platform specific memory-mapped file facilities.
      We provide implementations for unix and win32, which can be found
      in their own sub-directories.
      
      Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Ramsay Jones committed
  11. 18 Mar, 2009 2 commits
    • Factor out test helper methods for creating/deleting loose objects · 491442f9
      Signed-off-by: Julio Espinoza-Sokal <julioes@gmail.com>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Julio Espinoza-Sokal committed
    • Add built-in (Mozilla) SHA1 routines · 1906f236
      Paul agreed to the GCC-exception license by email:
      |
      | From: Paul Kocher <paul@cryptography.com>
      | Date: Sun, 15 Mar 2009 11:37:23 -0700
      | Subject: Re: Adding Mozilla SHA1 implementation to libgit2
      |
      | Yes - that's fine.
      |
      | At 01:56 AM 3/5/2009, Andreas Ericsson wrote:
      | > Hi Paul. We spoke earlier about this, if you remember?
      | > We'd like to add the GCC-exception to the GPL license
      | > for these files.
      
      Signed-off-by: Paul Kocher <paul@cryptography.com>
      Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Ramsay Jones committed
  12. 01 Feb, 2009 4 commits
  13. 31 Dec, 2008 2 commits
  14. 30 Dec, 2008 3 commits
  15. 19 Dec, 2008 1 commit
  16. 18 Dec, 2008 2 commits
  17. 02 Dec, 2008 3 commits
    • Use __CHECKER__ to detect when sparse is running · 17643760
      Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
      Acked-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Ramsay Jones committed
    • Use cgcc in the sparse target · 80133dad
      cgcc is the recommended way to run sparse, since it provides
      many -Defines suitable to the given gcc platform. For example,
      on some Ubuntu/glibc versions, a plain sparse invocation gives
      the following warning:
      
          "warning: This machine appears to be neither x86_64 nor i386."
      
      Using "cgcc -no-compile" instead eliminates this warning.
      
      Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
      Acked-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Ramsay Jones committed
    • Remove config.h and make fileops an internal API · ec250c6e
      Since it doesn't make sense to make the disk access stuff
      portable *AND* public (that's a job for each application
      imo), we can take a shortcut and just support unixy stuff
      for now and get away with coding most of it as macros.
      
      Since we go with an internal API for starters and only
      provide higher-level API's to the libgit users, we'll be
      ok with this approach.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed
  18. 22 Nov, 2008 4 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
    • 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