1. 01 May, 2015 3 commits
  2. 28 Apr, 2015 6 commits
  3. 18 Apr, 2015 1 commit
  4. 17 Apr, 2015 1 commit
  5. 18 Mar, 2015 1 commit
  6. 06 Mar, 2015 3 commits
  7. 03 Mar, 2015 2 commits
  8. 02 Mar, 2015 1 commit
    • win32: add the patch level to the .dll fileversion · bf1476f1
      Win32 DLLs have four fields for the version number (major, minor,
      teeny, patch).  If a consumer wants to build a custom DLL, it may
      be useful to set the patchlevel version number in the DLL.
      
      This value only affects the DLL version number, it does not affect
      the resultant "version number", which remains major.minor.teeny.
      Edward Thomson committed
  9. 13 Feb, 2015 5 commits
  10. 05 Feb, 2015 1 commit
  11. 29 Dec, 2014 1 commit
  12. 19 Dec, 2014 1 commit
  13. 16 Dec, 2014 2 commits
    • checkout: disallow bad paths on win32 · a64119e3
      Disallow:
       1. paths with trailing dot
       2. paths with trailing space
       3. paths with trailing colon
       4. paths that are 8.3 short names of .git folders ("GIT~1")
       5. paths that are reserved path names (COM1, LPT1, etc).
       6. paths with reserved DOS characters (colons, asterisks, etc)
      
      These paths would (without \\?\ syntax) be elided to other paths - for
      example, ".git." would be written as ".git".  As a result, writing these
      paths literally (using \\?\ syntax) makes them hard to operate with from
      the shell, Windows Explorer or other tools.  Disallow these.
      Edward Thomson committed
    • win32: use NT-prefixed "\\?\" paths · cceae9a2
      When turning UTF-8 paths into UCS-2 paths for Windows, always use
      the \\?\-prefixed paths.  Because this bypasses the system's
      path canonicalization, handle the canonicalization functions ourselves.
      
      We must:
       1. always use a backslash as a directory separator
       2. only use a single backslash between directories
       3. not rely on the system to translate "." and ".." in paths
       4. remove trailing backslashes, except at the drive root (C:\)
      Edward Thomson committed
  14. 13 Oct, 2014 1 commit
    • p_lstat win32: don't canonicalize volume mounts · 8d45b469
      A reparse point that is an IO_REPARSE_TAG_MOUNT_POINT could be
      a junction or an actual filesystem mount point.  (Who knew?)
      If it's the latter, its reparse point will report the actual
      volume information \??\Volume{GUID}\ and we should not attempt
      to dereference that further, instead readlink should report
      EINVAL since it's not a symlink / junction and its original
      path was canonical.
      
      Yes, really.
      Edward Thomson committed
  15. 05 Aug, 2014 3 commits
  16. 06 Jul, 2014 4 commits
  17. 07 Jun, 2014 2 commits
  18. 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
  19. 20 May, 2014 1 commit