1. 06 Jul, 2014 2 commits
  2. 07 Jun, 2014 2 commits
  3. 04 Jun, 2014 1 commit
    • filebuf: make unlocking atomic · e58281aa
      When renaming a lock file to its final location, we need to make sure
      that it is replaced atomically.
      
      We currently have a workaround for Windows by removing the target file.
      This means that the target file, which may be a ref or a packfile, may
      cease to exist for a short wile, which shold be avoided.
      
      Implement the workaround only in Windows, by making sure that the file
      we want to replace is writable.
      Carlos Martín Nieto committed
  4. 16 May, 2014 3 commits
  5. 01 May, 2014 1 commit
  6. 23 Apr, 2014 1 commit
  7. 22 Apr, 2014 1 commit
  8. 20 Apr, 2014 1 commit
  9. 27 Mar, 2014 1 commit
    • Retry renaming files on Access Denied errors · 2873a862
      When a file is open for reading (without shared-delete permission), and
      then a different thread/process called p_rename, that would fail, even
      if the file was only open for reading for a few milliseconds. This
      change lets p_rename wait up to 50ms for the file to be closed by the
      reader. Applies only to win32.
      
      This is especially important for git_filebuf_commit, because writes
      should not fail if the file is read simultaneously.
      
      Fixes #2207
      Jan Melcher committed
  10. 05 Feb, 2014 1 commit
  11. 11 Dec, 2013 1 commit
    • Test cancel from indexer progress callback · 7697e541
      This adds tests that try canceling an indexer operation from
      within the progress callback.
      
      After writing the tests, I wanted to run this under valgrind and
      had a number of errors in that situation because mmap wasn't
      working.  I added a CMake option to force emulation of mmap and
      consolidated the Amiga-specific code into that new place (so we
      don't actually need separate Amiga code now, just have to turn on
      -DNO_MMAP).
      
      Additionally, I made the indexer code propagate error codes more
      reliably than it used to.
      Russell Belfer committed
  12. 09 Dec, 2013 1 commit
  13. 27 Nov, 2013 1 commit
  14. 08 Oct, 2013 1 commit
    • More filemode cleanups for FAT on MacOS · 14997dc5
      This cleans up some additional issues.  The main change is that
      on a filesystem that doesn't support mode bits, libgit2 will now
      create new blobs with GIT_FILEMODE_BLOB always instead of being
      at the mercy to the filesystem driver to report executable or not.
      This means that if "core.filemode" lies and claims that filemode
      is not supported, then we will ignore the executable bit from the
      filesystem.  Previously we would have allowed it.
      
      This adds an option to the new git_repository_reset_filesystem to
      recurse through submodules if desired.  There may be other types
      of APIs that would like a "recurse submodules" option, but this
      one is particularly useful.
      
      This also has a number of cleanups, etc., for related things
      including trying to give better error messages when problems come
      up from the filesystem.  For example, the FAT filesystem driver on
      MacOS appears to return errno EINVAL if you attempt to write a
      filename with invalid UTF-8 in it.  We try to capture that with a
      better error message now.
      Russell Belfer committed
  15. 17 Sep, 2013 5 commits
  16. 05 Sep, 2013 1 commit
  17. 28 Aug, 2013 1 commit
  18. 27 Aug, 2013 1 commit
  19. 26 Aug, 2013 2 commits
  20. 22 Aug, 2013 2 commits
  21. 19 Aug, 2013 3 commits
  22. 16 Aug, 2013 1 commit
  23. 13 Aug, 2013 6 commits