1. 04 Oct, 2018 1 commit
    • tests: verify diff stats with renames in subdirectory · 3148efd2
      Until now, we didn't have any tests that verified that our format for
      renames in subdirectories is correct. While our current behaviour is no
      different than for renames that do not happen with a common prefix
      shared between old and new file name, we intend to change the format to
      instead match the format that upstream git uses.
      
      Add a test case for this to document our current behaviour and to show
      how the next commit will change that format.
      Patrick Steinhardt committed
  2. 14 Aug, 2018 1 commit
  3. 18 Jul, 2018 1 commit
    • tree: accept null ids in existing trees when updating · 2dff7e28
      When we add entries to a treebuilder we validate them. But we validate even
      those that we're adding because they exist in the base tree. This disables
      using the normal mechanisms on these trees, even to fix them.
      
      Keep track of whether the entry we're appending comes from an existing tree and
      bypass the name and id validation if it's from existing data.
      Carlos Martín Nieto committed
  4. 15 Jun, 2018 3 commits
  5. 22 May, 2018 1 commit
  6. 17 Apr, 2018 3 commits
  7. 12 Apr, 2018 1 commit
    • revwalk: fix uninteresting revs sometimes not limiting graphwalk · 54fd80e3
      When we want to limit our graphwalk, we use the heuristic of checking
      whether the newest limiting (uninteresting) revision is newer than the
      oldest interesting revision. We do so by inspecting whether the first
      item's commit time of the user-supplied list of revisions is newer than
      the last added interesting revision. This is wrong though, as the user
      supplied list is in no way guaranteed to be sorted by increasing commit
      dates. This could lead us to abort the revwalk early before applying all
      relevant limiting revisions, outputting revisions which should in fact
      have been hidden.
      
      Fix the heuristic by instead checking whether _any_ of the limiting
      commits was made earlier than the last interesting commit. Add a test.
      Patrick Steinhardt committed
  8. 24 Feb, 2018 1 commit
  9. 20 Feb, 2018 1 commit
  10. 04 Feb, 2018 2 commits
  11. 04 Dec, 2017 1 commit
  12. 25 Aug, 2017 1 commit
    • submodule: refuse lookup in bare repositories · 477b3e04
      While it is technically possible to look up submodules inside of a
      bare repository by reading the submodule configuration of a specific
      commit, we do not offer this functionality right now. As such, calling
      both `git_submodule_lookup` and `git_submodule_foreach` should error out
      early when these functions encounter a bare repository. While
      `git_submodule_lookup` already does return an error due to not being
      able to parse the configuration, `git_submodule_foreach` simply returns
      success and never invokes the callback function.
      
      Fix the issue by having both functions check whether the repository is
      bare and returning an error in that case.
      Patrick Steinhardt committed
  13. 25 Jul, 2017 1 commit
  14. 20 Jul, 2017 1 commit
  15. 06 Jun, 2017 1 commit
  16. 17 Mar, 2017 1 commit
    • submodule: resolve URLs relative to main worktree · b0c9bc92
      It is possible to specify submodule URLs relative to the repository
      location. E.g. having a submodule with URL "../submodule" will look for
      the submodule at "repo/../submodule".
      
      With the introduction of worktrees, though, we cannot simply resolve the
      URL relative to the repository location itself. If the repository for
      which a URL is to be resolved is a working tree, we have to resolve the
      URL relative to the parent's repository path. Otherwise, the URL would
      change depending on where the working tree is located.
      
      Fix this by special-casing when we have a working tree while getting the
      URL base.
      Patrick Steinhardt committed
  17. 03 Mar, 2017 2 commits
  18. 13 Feb, 2017 4 commits
  19. 09 Feb, 2017 1 commit
  20. 08 Feb, 2017 1 commit
  21. 09 Oct, 2016 1 commit
  22. 06 Oct, 2016 1 commit
  23. 02 Jun, 2016 1 commit
  24. 31 Mar, 2016 1 commit
  25. 28 Feb, 2016 1 commit
  26. 17 Feb, 2016 1 commit
    • win32: tests around handling forbidden paths · 4be2aa57
      Introduce a repository that contains some paths that were illegal
      on PC-DOS circa 1981 (like `aux`, `con`, `com1`) and that in a
      bizarre fit of retrocomputing, remain illegal on some "modern"
      computers, despite being "new technology".
      
      Introduce some aspirational tests that suggest that we should be
      able to cope with trees and indexes that contain paths that
      would be illegal on the filesystem, so that we can at least diff
      them.  Further ensure that checkout will not write a repository
      with forbidden paths.
      Edward Thomson committed
  27. 01 Dec, 2015 2 commits
  28. 25 Nov, 2015 3 commits