1. 24 Jan, 2020 22 commits
  2. 18 Jan, 2020 4 commits
  3. 17 Jan, 2020 3 commits
  4. 16 Jan, 2020 2 commits
  5. 15 Jan, 2020 4 commits
  6. 14 Jan, 2020 2 commits
    • index: fix resizing index map twice on case-insensitive systems · 7fc97eb3
      Depending on whether the index map is case-sensitive or insensitive, we
      need to call either `git_idxmap_icase_resize` or `git_idxmap_resize`.
      There are multiple locations where we thus use the following pattern:
      
      	if (index->ignore_case &&
      	    git_idxmap_icase_resize(map, length) < 0)
      		return -1;
      	else if (git_idxmap_resize(map, length) < 0)
      		return -1;
      
      The funny thing is: on case-insensitive systems, we will try to resize
      the map twice in case where `git_idxmap_icase_resize()` doesn't error.
      While this will still use the correct hashing function as both map types
      use the same, this bug will at least cause us to resize the map twice in
      a row.
      
      Fix the issue by introducing a new function `index_map_resize` that
      handles case-sensitivity, similar to how `index_map_set` and
      `index_map_delete`. Convert all call sites where we were previously
      resizing the map to use that new function.
      Patrick Steinhardt committed
    • index: replace map macros with inline functions · ab45887f
      Traditionally, our maps were mostly implemented via macros that had
      weird call semantics. This shows in our index code, where we have macros
      that insert into an index map case-sensitively or insensitively, as they
      still return error codes via an error parameter. This is unwieldy and,
      most importantly, not necessary anymore, due to the introduction of our
      high-level map API and removal of macros.
      
      Replace them with inlined functions to make code easier to read.
      Patrick Steinhardt committed
  7. 12 Jan, 2020 1 commit
  8. 10 Jan, 2020 2 commits