1. 06 Jul, 2011 5 commits
  2. 05 Jul, 2011 4 commits
    • fileops: Fix stat() on directories for W32 · 19ac1ed7
      The `stat` methods were having issues when called with a trailing slash
      in Windows platforms.
      
      We now use GetFileAttributes() where possible, which doesn't have this
      restriction.
      Vicent Marti committed
    • 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
  3. 01 Jul, 2011 1 commit
  4. 29 Jun, 2011 1 commit
  5. 28 Jun, 2011 1 commit
  6. 20 Jun, 2011 1 commit
  7. 18 Jun, 2011 1 commit
  8. 17 Jun, 2011 2 commits
  9. 15 Jun, 2011 2 commits
  10. 12 Jun, 2011 1 commit
  11. 10 Jun, 2011 2 commits
  12. 08 Jun, 2011 1 commit
    • windows: Fix Symlink issues · ae496955
      Handle Symlinks if they can be handled in Win32. This is not even
      compiled. Needs review.
      
      The lstat implementation is modified from core Git.
      The readlink implementation is modified from PHP.
      Vicent Marti committed
  13. 07 Jun, 2011 2 commits
    • fileops: Allow differentiation between deep and shallow exists() · fdd1e04c
      When calling gitfo_exists() on a symbolic link, sometimes we need to
      simply check whether the link exists and sometimes we need to check
      whether the file pointed to by the symlink exists.
      
      Introduce a new function gitfo_shallow_exists that only checks if the
      link exists and revert gitfo_exists to the original functionality of
      checking whether the file pointed to by the link exists.
      Jakob Pfender committed
    • index/fileops: Correctly process symbolic links · 1869b31e
      gitfo_exists() used to error out if the given file was a symbolic link,
      due to access() returning an error code. This is not expected behaviour,
      as gitfo_exists() should only check whether the file itself exists, not
      its link target if it is a symbolic link.
      
      Fix this by calling gitfo_lstat() instead, which is just a wrapper for
      lstat().
      
      Also fix the same error in index_init_entry().
      Jakob Pfender committed
  14. 06 Jun, 2011 1 commit
  15. 04 Jun, 2011 1 commit
  16. 03 Jun, 2011 5 commits
  17. 29 May, 2011 1 commit
  18. 23 May, 2011 2 commits
  19. 14 May, 2011 1 commit
  20. 23 Mar, 2011 1 commit
    • Improve the ODB writing backend · f6f72d7e
      Temporary files when doing streaming writes are now stored inside the
      Objects folder, to prevent issues when moving files between
      disks/partitions.
      
      Add support for block writes to the ODB again (for those backends that
      cannot implement streaming).
      Vicent Marti committed
  21. 22 Mar, 2011 4 commits