1. 21 Apr, 2019 1 commit
    • rebase: orig_head and onto accessors · e215f475
      The rebase struct stores fields with information about the current
      rebase process, which were not accessible via a public interface.
      
      Accessors for getting the `orig_head` and `onto` branch
      names and object ids have been added.
      Erik Aigner committed
  2. 17 Apr, 2019 2 commits
    • Merge pull request #5050 from libgit2/ethomson/windows_init_traversal · b3923cf7
      git_repository_init: stop traversing at windows root
      Edward Thomson committed
    • git_repository_init: stop traversing at windows root · 45f24e78
      Stop traversing the filesystem at the Windows directory root.  We were
      calculating the filesystem root for the given directory to create, and
      walking up the filesystem hierarchy.  We intended to stop when the
      traversal path length is equal to the root path length (ie, stopping at
      the root, since no path may be shorter than the root path).
      
      However, on Windows, the root path may be specified in two different
      ways, as either `Z:` or `Z:\`, where `Z:` is the current drive letter.
      `git_path_dirname_r` returns the path _without_ a trailing slash, even
      for the Windows root.  As a result, during traversal, we need to test
      that the traversal path is _less than or equal to_ the root path length
      to determine if we've hit the root to ensure that we stop when our
      traversal path is `Z:` and our calculated root path was `Z:\`.
      Edward Thomson committed
  3. 16 Apr, 2019 3 commits
  4. 07 Apr, 2019 4 commits
  5. 06 Apr, 2019 1 commit
  6. 05 Apr, 2019 1 commit
    • ignore: treat paths with trailing "/" as directories · 9d117e20
      The function `git_ignore_path_is_ignored` is there to test the
      ignore status of paths that need not necessarily exist inside of
      a repository. This has the implication that for a given path, we
      cannot always decide whether it references a directory or a file,
      and we need to distinguish those cases because ignore rules may
      treat those differently. E.g. given the following gitignore file:
      
          *
          !/**/
      
      we'd only want to unignore directories, while keeping files
      ignored. But still, calling `git_ignore_path_is_ignored("dir/")`
      will say that this directory is ignored because it treats "dir/"
      as a file path.
      
      As said, the `is_ignored` function cannot always decide whether
      the given path is a file or directory, and thus it may produce
      wrong results in some cases. While this is unfixable in the
      general case, we can do better when we are being passed a path
      name with a trailing path separator (e.g. "dir/") and always
      treat them as directories.
      Patrick Steinhardt committed
  7. 04 Apr, 2019 6 commits
  8. 29 Mar, 2019 11 commits
  9. 25 Mar, 2019 2 commits
  10. 23 Mar, 2019 1 commit
  11. 20 Mar, 2019 2 commits
  12. 15 Mar, 2019 1 commit
  13. 14 Mar, 2019 2 commits
  14. 06 Mar, 2019 1 commit
  15. 05 Mar, 2019 1 commit
  16. 02 Mar, 2019 1 commit