- 11 Feb, 2016 1 commit
-
-
Arthur Schreiber committed
-
- 08 Feb, 2016 1 commit
-
-
Patrick Steinhardt committed
-
- 16 Dec, 2015 1 commit
-
-
Instead of calling `git_index_add` in a loop, use the new `git_index_fill` internal API to fill the index with the initial staged entries. The new `fill` helper assumes that all the entries will be unique and valid, so it can append them at the end of the entries vector and only sort it once at the end. It performs no validation checks. This prevents the quadratic behavior caused by having to sort the entries list once after every insertion.
Vicent Marti committed
-
- 25 Nov, 2015 8 commits
-
-
Edward Thomson committed
-
When building a recursive merge base, allow conflicts to occur. Use the file (with conflict markers) as the common ancestor. The user has already seen and dealt with this conflict by virtue of having a criss-cross merge. If they resolved this conflict identically in both branches, then there will be no conflict in the result. This is the best case scenario. If they did not resolve the conflict identically in the two branches, then we will generate a new conflict. If the user is simply using standard conflict output then the results will be fairly sensible. But if the user is using a mergetool or using diff3 output, then the common ancestor will be a conflict file (itself with diff3 output, haha!). This is quite terrible, but it matches git's behavior.
Edward Thomson committed -
Use annotated commits to act as our virtual bases, instead of regular commits, to avoid polluting the odb with virtual base commits and trees. Instead, build an annotated commit with an index and pointers to the commits that it was merged from.
Edward Thomson committed -
Edward Thomson committed
-
When there are more than two common ancestors, continue merging the virtual base with the additional common ancestors, effectively octopus merging a new virtual base.
Edward Thomson committed -
Edward Thomson committed
-
When the commits to merge have multiple common ancestors, build a "virtual" base tree by merging the common ancestors.
Edward Thomson committed -
Edward Thomson committed
-
- 02 Nov, 2015 3 commits
-
-
Vicent Marti committed
-
Vicent Marti committed
-
Vicent Marti committed
-
- 28 Oct, 2015 3 commits
-
-
Vicent Marti committed
-
Vicent Marti committed
-
Vicent Marti committed
-
- 27 Oct, 2015 2 commits
-
-
Vicent Marti committed
-
Vicent Marti committed
-
- 22 Oct, 2015 1 commit
-
-
Provide a new merge option, GIT_MERGE_TREE_FAIL_ON_CONFLICT, which will stop on the first conflict and fail the merge operation with GIT_EMERGECONFLICT.
Edward Thomson committed
-
- 05 Oct, 2015 2 commits
-
-
Edward Thomson committed
-
xdiff craps the bed on large files. Treat very large files as binary, so that it doesn't even have to try. Refactor our merge binary handling to better match git.git, which looks for a NUL in the first 8000 bytes.
Edward Thomson committed
-
- 30 Aug, 2015 2 commits
-
-
Now that non-pathspec matching diffs are implemented at the iterator level, drop `FILELIST_MATCH`ing.
Edward Thomson committed -
When using literal pathspecs in diff with `GIT_DIFF_DISABLE_PATHSPEC_MATCH` turn on the faster iterator pathlist handling. Updates iterator pathspecs to include directory prefixes (eg, `foo/`) for compatibility with `GIT_DIFF_DISABLE_PATHSPEC_MATCH`.
Edward Thomson committed
-
- 28 Aug, 2015 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 12 Jul, 2015 1 commit
-
-
The header src/cc-compat.h defines portable format specifiers PRIuZ, PRIdZ, and PRIxZ. The original report highlighted the need to use these specifiers in examples/network/fetch.c. For this commit, I checked all C source and header files not in deps/ and transitioned to the appropriate format specifier where appropriate.
Matthew Plough committed
-
- 25 Jun, 2015 1 commit
-
-
Provide `git_iterator_walk` to walk each iterator in lockstep, returning each iterator's idea of the contents of the next path.
Edward Thomson committed
-
- 10 Jun, 2015 1 commit
-
-
`merge_diff_list_count_candidates()` takes pointers to the source and target counts, but when it comes time to increase them, we're increasing the pointer, rather than the value it's pointing to. Dereference the value to increase.
Carlos Martín Nieto committed
-
- 29 May, 2015 1 commit
-
-
We do not error on "merge conflicts"; on the contrary, merge conflicts are a normal part of merging. We only error on "checkout conflicts", where a change exists in the index or the working directory that would otherwise be overwritten by performing the checkout. This *may* happen during merge (after the production of the new index that we're going to checkout) but it could happen during any checkout.
Edward Thomson committed
-
- 28 May, 2015 1 commit
-
-
It's not always obvious the mapping between stage level and conflict-ness. More importantly, this can lead otherwise sane people to write constructs like `if (!git_index_entry_stage(entry))`, which (while technically correct) is unreadable. Provide a nice method to help avoid such messy thinking.
Edward Thomson committed
-
- 11 May, 2015 1 commit
-
-
Edward Thomson committed
-
- 16 Mar, 2015 4 commits
-
-
Jeff Hostetler committed
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
- 14 Feb, 2015 2 commits
-
-
Provide git_indexwriter_init_for_operation for the common locking pattern in merge, rebase, revert and cherry-pick.
Edward Thomson committed -
Always lock the index when we begin the merge, before we write any of the metdata files. This prevents a race where another client may run a commit after we have written the MERGE_HEAD but before we have updated the index, which will produce a merge commit that is treesame to one parent. The merge will finish and update the index and the resultant commit would not be a merge at all.
Edward Thomson committed
-
- 13 Feb, 2015 2 commits
-
-
Make our overflow checking look more like gcc and clang's, so that we can substitute it out with the compiler instrinsics on platforms that support it. This means dropping the ability to pass `NULL` as an out parameter. As a result, the macros also get updated to reflect this as well.
Edward Thomson committed -
Introduce some helper macros to test integer overflow from arithmetic and set error message appropriately.
Edward Thomson committed
-