1. 15 Nov, 2012 1 commit
    • Add POSIX compat lstat() variant for win32 · cccacac5
      The existing p_lstat implementation on win32 is not quite POSIX
      compliant when setting errno to ENOTDIR.  This adds an option to
      make is be compliant so that code (such as checkout) that cares
      to have separate behavior for ENOTDIR can use it portably.
      
      This also contains a couple of other minor cleanups in the
      posix_w32.c implementations to avoid unnecessary work.
      Russell Belfer committed
  2. 07 Nov, 2012 1 commit
  3. 15 Oct, 2012 1 commit
  4. 27 Aug, 2012 1 commit
  5. 22 Aug, 2012 2 commits
    • Some cleanup suggested during review · 85bd1746
      This cleans up a number of items suggested during code review
      with @vmg, including:
      
      * renaming "outside repo" config API to `git_config_open_default`
      * killing the `git_config_open_global` API
      * removing the `git_` prefix from the static functions in fileops
      * removing some unnecessary functionality from the "cp" command
      Russell Belfer committed
    • Add template dir and set gid to repo init · ca1b6e54
      This extends git_repository_init_ext further with support for
      initializing the repository from an external template directory
      and with support for the "create shared" type flags that make a
      set GID repository directory.
      
      This also adds tests for much of the new functionality to the
      existing `repo/init.c` test suite.
      
      Also, this adds a bunch of new utility functions including a
      very general purpose `git_futils_mkdir` (with the ability to
      make paths and to chmod the paths post-creation) and a file
      tree copying function `git_futils_cp_r`.  Also, this includes
      some new path functions that were useful to keep the code
      simple.
      Russell Belfer committed
  6. 16 Jul, 2012 1 commit
  7. 13 Jun, 2012 1 commit
  8. 12 Jun, 2012 1 commit
  9. 10 Jun, 2012 1 commit
  10. 07 Jun, 2012 1 commit
  11. 05 Jun, 2012 1 commit
  12. 12 May, 2012 1 commit
    • Fix readdir_r() usage for Solaris · 6fb1c0b4
      On Solaris, struct dirent is defined differently than Linux. The field
      containing the path name is of size 0, rather than NAME_MAX. So, we need to
      use a properly sized buffer on Solaris to avoid a stack overflow.
      
      Also fix some DIR* leaks on cleanup.
      Scott J. Goldman committed
  13. 10 May, 2012 1 commit
  14. 13 Mar, 2012 2 commits
    • Resolve comments from pull request · e3c47510
      This converts the map validation function into a macro, tweaks
      the GITERR_OS system error automatic appending, and adds a
      tentative new error access API and some quick unit tests for
      both the old and new error APIs.
      Russell Belfer committed
    • Migrate ODB files to new error handling · e1de726c
      This migrates odb.c, odb_loose.c, odb_pack.c and pack.c to
      the new style of error handling.  Also got the unix and win32
      versions of map.c.  There are some minor changes to other
      files but no others were completely converted.
      
      This also contains an update to filebuf so that a zeroed out
      filebuf will not think that the fd (== 0) is actually open
      (and inadvertently call close() on fd 0 if cleaned up).
      
      Lastly, this was built and tested on win32 and contains a
      bunch of fixes for the win32 build which was pretty broken.
      Russell Belfer committed
  15. 02 Mar, 2012 1 commit
    • Update diff to use iterators · 74fa4bfa
      This is a major reorganization of the diff code.  This changes
      the diff functions to use the iterators for traversing the
      content.  This allowed a lot of code to be simplified.  Also,
      this moved the functions relating to outputting a diff into a
      new file (diff_output.c).
      
      This includes a number of other changes - adding utility
      functions, extending iterators, etc. plus more tests for the
      diff code.  This also takes the example diff.c program much
      further in terms of emulating git-diff command line options.
      Russell Belfer committed
  16. 23 Feb, 2012 1 commit
  17. 13 Feb, 2012 1 commit
  18. 19 Sep, 2011 1 commit
  19. 18 Sep, 2011 1 commit
    • Cleanup legal data · bb742ede
      1. The license header is technically not valid if it doesn't have a
      copyright signature.
      
      2. The COPYING file has been updated with the different licenses used in
      the project.
      
      3. The full GPLv2 header in each file annoys me.
      Vicent Marti committed
  20. 30 Aug, 2011 1 commit
  21. 18 Aug, 2011 1 commit
  22. 17 Aug, 2011 1 commit
  23. 09 Jul, 2011 1 commit
    • posix: Portable `vsnprintf` · 2fc78e70
      Our good, lovely folks at Microsoft decided that there was no good
      reason to make `vsnprintf` compilant with the C standard, so that
      function in Windows returns -1 on overflow, instead of returning the
      actual byte count needed to write the full string.
      
      We now handle this situation more gracefully with the POSIX
      compatibility layer, by returning the needed byte size using an
      auxiliary method instead of blindly resizing the target buffer until it
      fits.
      
      This means we can now support `printf`s of any size by allocating a
      temporary buffer. That's good.
      Vicent Marti committed
  24. 05 Jul, 2011 3 commits
    • fileops: Drop `git_fileops_prettify_path` · 5ad739e8
      The old `git_fileops_prettify_path` has been replaced with
      `git_path_prettify`. This is a much simpler method that uses the OS's
      `realpath` call to obtain the full path for directories and resolve
      symlinks.
      
      The `realpath` syscall is the original POSIX call in Unix system and
      an emulated version under Windows using the Windows API.
      Vicent Marti committed
    • 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
  25. 03 Jul, 2011 1 commit
  26. 01 Jul, 2011 1 commit
  27. 23 May, 2011 1 commit
  28. 11 Jan, 2011 1 commit
  29. 22 Dec, 2010 1 commit
    • Remove git_errno · 9f54fe48
      It was not being used by any methods (only by malloc and calloc), and
      since it needs to be TLS, it cannot be exported on DLLs on Windows.
      
      Burn it with fire. The API always returns error codes!
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  30. 20 Mar, 2009 1 commit