1. 05 Jul, 2011 2 commits
    • fileops: Cleanup · f79026b4
      Cleaned up the structure of the whole OS-abstraction layer.
      
      fileops.c now contains a set of utility methods for file management used
      by the library. These are abstractions on top of the original POSIX
      calls.
      
      There's a new file called `posix.c` that contains
      emulations/reimplementations of all the POSIX calls the library uses.
      These are prefixed with `p_`. There's a specific posix file for each
      platform (win32 and unix).
      
      All the path-related methods have been moved from `utils.c` to `path.c`
      and have their own prefix.
      Vicent Marti committed
  2. 01 Jul, 2011 1 commit
  3. 30 Jun, 2011 1 commit
  4. 20 Jun, 2011 1 commit
  5. 12 Jun, 2011 1 commit
  6. 07 Jun, 2011 1 commit
  7. 03 Jun, 2011 1 commit
  8. 10 Apr, 2011 1 commit
  9. 22 Mar, 2011 2 commits
  10. 15 Mar, 2011 1 commit
  11. 03 Mar, 2011 4 commits
  12. 17 Feb, 2011 1 commit
    • Improve the performance when writing Index files · 348c7335
      In response to issue #60 (git_index_write really slow), the write_index
      function has been rewritten to improve its performance -- it should now
      be in par with the performance of git.git.
      
      On top of that, if Posix Threads are available when compiling libgit2, a
      new threaded writing system will be used (3 separate threads take care
      of solving byte-endianness, hashing the contents of the index and
      writing to disk, respectively). For very long Index files, this method
      is up to 3x times faster than git.git.
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  13. 09 Feb, 2011 1 commit
    • Use the new git__joinpath to build paths in methods · 995f9c34
      The `git__joinpath` function has been changed to use a statically
      allocated buffer; we assume the buffer to be 4096 bytes, because fuck
      you.
      
      The new method also supports an arbritrary number of paths to join,
      which may come in handy in the future.
      
      Some methods which were manually joining paths with `strcpy` now use the
      new function, namely those in `index.c` and `refs.c`.
      
      Based on Emeric Fermas' original patch, which was using the old
      `git__joinpath` because I'm stupid. Thanks!
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  14. 06 Feb, 2011 1 commit
  15. 05 Feb, 2011 2 commits
    • Fix directory/path manipulation methods · f725931b
      The `dirname` and `dirbase` methods have been replaced with the Android
      implementation, which is actually compilant to some kind of standard.
      
      A new method `topdir` has been added, which returns the topmost
      directory in a path.
      
      These changes fix issue #49:
      
      	`gitfo_prettify_dir_path` converts "./.git/" to ".git/", so
      	the code at src/repository.c:190 goes out of bounds when
      	trying to find the topmost directory.
      
      	The new `git__topdir` method handles this gracefully, and the
      	fixed `git__dirname` now returns the proper value for the
      	repository's working dir.
      
      	E.g.
      
      		/repo/.git/ ==> working dir '/repo/'
      		.git/		==> working dir '.'
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  16. 02 Feb, 2011 1 commit
    • Rewrite the unit testing suite · 2a1732b4
      NIH Enterprises presents: a new testing system based on CuTesT, which is
      faster than our previous one and fortunately uses no preprocessing on
      the source files, which means we can run that from CMake.
      
      The test suites have been gathered together into bigger files (one file
      per suite, testing each of the different submodules of the library).
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed