- 25 Nov, 2015 12 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 -
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Add a simple recursive test - where multiple ancestors exist and creating a virtual merge base from them would prevent a conflict.
Edward Thomson committed -
Edward Thomson 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
-
- 19 Sep, 2015 2 commits
-
-
This allows us to remove OS checks from source code, instead relying on CMake to detect whether or not `struct stat` has the nanoseconds members we rely on.
Axel Rasmussen committed -
Axel Rasmussen committed
-
- 28 Aug, 2015 1 commit
-
-
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
-
- 07 Jul, 2015 1 commit
-
-
When invoked with three files that each lack a trailing newline, the merge result should also lack a trailing newline.
Edward Thomson committed
-
- 22 Jun, 2015 1 commit
-
-
As we attempt to replicate a situation in which an older checkout has put a file on disk with different filtering settings from us, set the timestamp on the entry and file to a second before we're performing the operation so the entry in the index counts as old. This way we can test that we're not looking at the on-disk file when the index has the entry and we detect it as clean.
Carlos Martín Nieto committed
-
- 16 Jun, 2015 1 commit
-
-
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 3 commits
-
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
- 03 Mar, 2015 2 commits
-
-
This function is meant to simulate what git does in the reset command, so we should include the reflog message in that.
Carlos Martín Nieto committed -
The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
Carlos Martín Nieto committed
-
- 14 Feb, 2015 1 commit
-
-
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 1 commit
-
-
Correct the merge failed cleanup test. Merge data should not be cleaned up on conflicts, only on actual failure. And ORIG_HEAD should not be removed at all.
Edward Thomson committed
-
- 07 Dec, 2014 1 commit
-
-
Linquize committed
-
- 27 Oct, 2014 1 commit
-
-
Rename git_merge_head to git_annotated_commit, as it becomes used in more operations than just merge.
Edward Thomson committed
-
- 01 Oct, 2014 1 commit
-
-
Vicent Marti committed
-
- 26 Sep, 2014 1 commit
-
-
Jakub Čajka committed
-
- 16 Sep, 2014 1 commit
-
-
Ciro Santilli committed
-
- 03 Aug, 2014 1 commit
-
-
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 01 Jul, 2014 2 commits
-
-
git_checkout_index can now check out other git_index's (that are not necessarily the repository index). This allows checkout_index to use the repository's index for stat cache information instead of the index data being checked out. git_merge and friends now check out their indexes directly instead of trying to blend it into the running index.
Edward Thomson committed -
Edward Thomson committed
-
- 28 May, 2014 1 commit
-
-
Edward Thomson committed
-