- 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 24 commits
-
-
Include conflicts when diffing
Carlos Martín Nieto committed -
Fill the pointers for matching refspecs
Edward Thomson committed -
Tackle remote API issues from bindings
Carlos Martín Nieto committed -
If there exists a conflict in the index, but no file in the working directory, this implies that the user wants to accept the resolution by removing the file. Thus, remove the conflict entry from the index, instead of trying to add a (nonexistent) file.
Edward Thomson committed -
Mark the `old_file` and `new_file` sides of a delta with a new bit, `GIT_DIFF_FLAG_EXISTS`, that introduces that a particular side of the delta exists in the diff. This is useful for indicating whether a working directory item exists or not, in the presence of a conflict. Diff users may have previously used DELETED to determine this information.
Edward Thomson committed -
When confronted with a conflict in the index, `git_index_add_all` should stage the working directory copy. If there is no file in the working directory, the conflict should simply be removed.
Edward Thomson committed -
cl_git_sandbox_init_new() will create a clar temp directory and initialize a new repository at that location.
Edward Thomson committed -
Edward Thomson committed
-
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 -
Edward Thomson committed
-
Since a diff entry only concerns a single entry, zero the information for the index side of a conflict. (The index entry would otherwise erroneously include the lowest-stage index entry - generally the ancestor of a conflict.) Test that during status, the index side of the conflict is empty.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Make sure that we provide a blanked nitem side when the item does not exist in the working directory.
Edward Thomson committed -
When diffing against an index, return a new `GIT_DELTA_CONFLICTED` delta type for items that are conflicted. For a single file path, only one delta will be produced (despite the fact that there are multiple entries in the index). Index iterators now have the (optional) ability to return conflicts in the index. Prior to this change, they would be omitted, and callers (like diff) would omit conflicted index entries entirely.
Edward Thomson committed -
Edward Thomson committed
-
If `git_index_remove_bypath` does no work, and returns an OK error code, it should not set an error message.
Edward Thomson committed -
When adding a conflict for some path, remove the staged entry. Otherwise, an illegal index (with both stage 0 and high-stage entries) would result.
Edward Thomson committed -
Wrap the iterator current / advance functions so that we can extend them, but also handle GIT_ITEROVER cases in the iterator funcs instead of the callers.
Edward Thomson committed -
Edward Thomson committed
-
These are updates, same as the rest, we should call this callback. As we are using the callback, let's make sure to skip unnecessary updates.
Carlos Martín Nieto committed -
When we moved from acting on the instance to acting on the configuration, we dropped the validation of the passed refspec, which can lead to writing an invalid refspec to the configuration. Bring that validation back.
Carlos Martín Nieto committed -
An anonymous remote is not configured and cannot therefore have configured refspecs. Remove the parameter which adds this from the constructor.
Carlos Martín Nieto committed -
Fix ident replacement to match Git behavior
Carlos Martín Nieto committed
-
- 26 May, 2015 1 commit
-
-
Git inserts a space after the SHA1 (as of 2.1.4 at least), so do the same.
Colomban Wendling committed
-
- 22 May, 2015 7 commits
-
-
Thin packs: don't
Carlos Martín Nieto committed -
When thickening a pack, avoid loading already loaded bases and trying to insert them all over again.
Edward Thomson committed -
When creating an index, know that we do not have an index for our own packfile, preventing some unnecessary file opens and error reporting.
Edward Thomson committed -
openssl: don't try to handle WANT_READ or WANT_WRITE
Edward Thomson committed -
Carlos Martín Nieto committed
-
When we look for which remote corresponds to a remote-tracking branch, we look in the refspecs to see which ones matches. If none do, we should abort. We currently ignore the error message from this operation, so let's not do that anymore. As part of the test we're writing, let's test for the expected behaviour if we cannot find a refspec which tells us what the remote-tracking branch for a remote would look like.
Carlos Martín Nieto committed -
When we find out that we're dealing with a matching refspec, we set the flag and return immediately. This leaves the strings as NULL, which breaks the contract. Assign these pointers to a string with the correct values.
Carlos Martín Nieto committed
-
- 21 May, 2015 7 commits
-
-
Carlos Martín Nieto committed
-
Cristian Oneț committed
-
Fix error when building as C++.
Carlos Martín Nieto committed -
index_add_all: include untracked files in new subdirs
Carlos Martín Nieto committed -
No need to get reports about individual ignored files, having a single ignored directory delta is enough.
Edward Thomson committed -
ignore: clear the error when matching a pattern negation
Edward Thomson committed -
Edward Thomson committed
-