tests/rebase


Log

Author Commit Date CI Message
Edward Thomson 470acc71 2021-09-21T11:01:27 rebase: fix (deprecated) signing test
Edward Thomson ef03e150 2021-08-29T10:14:01 rebase: deprecate signing_cb The signing callback should not be used; instead, callers should provide a commit_create_cb, perform the signing and commit creation themselves.
Edward Thomson d3bdf33b 2021-08-29T09:36:01 rebase: introduce git_commit_create_cb Introduce a new mechanism for `git_rebase_commit` for callers to customize the experience. Instead of assuming that we produce the commit for them, provide a commit creation callback that allows callers to produce the commit themselves and return the resulting commit id.
Patrick Steinhardt b0692d6b 2019-08-09T09:01:56 Merge pull request #4913 from implausible/feature/signing-rebase-commits Add sign capability to git_rebase_commit
Tyler Ang-Wanek a5d4237c 2019-07-02T10:14:02 fixup: code cleanup around rebase commit signing Use ci_git_fail_with where appropriate. Use correct initializer for callback.
Erik Aigner e215f475 2019-04-21T21:36:36 rebase: orig_head and onto accessors The rebase struct stores fields with information about the current rebase process, which were not accessible via a public interface. Accessors for getting the `orig_head` and `onto` branch names and object ids have been added.
Tyler Wanek 0d06bf48 2019-01-24T08:42:25 fixup: More generic signing_cb for future flexibility In the case that we want to build merge + commit, cherrypick + commit, or even just build a commit with signing callback, `git_rebase_commit_signature_cb` particular callback should be made more generic. We also renamed `signature_cb` to `signing_cb` to improve clarity on the purpose of the callback (build a difference between a git_signature and the act of signing). So we've ended up with `git_commit_signing_cb`.
Tyler Wanek 3a8ef824 2019-01-14T17:06:52 Update formatting of newly added rebase sign test suite
Tyler Wanek 578cc029 2019-01-14T17:03:49 Single callback for commit signing in rebase w/ git_buf Reduces the number of callbacks for signing a commit during a rebase operation to just one callback. That callback has 2 out git_buf parameters for signature and signature field. We use git_buf here, because we cannot make any assumptions about the heap allocator a user of the library might be using.
Tyler Wanek 900f9911 2019-01-11T09:17:17 Add tests for signing rebase commits
Edward Thomson ed8cfbf0 2019-01-17T00:32:31 references: use new names in internal usage Update internal usage to use the `git_reference` names for constants.
Edward Thomson 168fe39b 2018-11-28T14:26:57 object_type: use new enumeration names Use the new object_type enumeration names within the codebase.
Patrick Steinhardt 9994cd3f 2018-06-25T11:56:52 treewide: remove use of C++ style comments C++ style comment ("//") are not specified by the ISO C90 standard and thus do not conform to it. While libgit2 aims to conform to C90, we did not enforce it until now, which is why quite a lot of these non-conforming comments have snuck into our codebase. Do a tree-wide conversion of all C++ style comments to the supported C style comments to allow us enforcing strict C90 compliance in a later commit.
Edward Thomson b242cdbf 2017-11-17T00:19:07 index: commit the changes to the index properly Now that the index has a "dirty" state, where it has changes that have not yet been committed or rolled back, our tests need to be adapted to actually commit or rollback the changes instead of assuming that the index can be operated on in its indeterminate state.
Patrick Steinhardt ecf4f33a 2018-02-08T11:14:48 Convert usage of `git_buf_free` to new `git_buf_dispose`
Patrick Steinhardt c0558c62 2017-07-28T09:01:41 tests: rebase::submodule: verify initialization method calls Some return codes for functions which may fail are not being checked in `test_rebase_submodule__initialize`. This may lead us to not notice errors when initializing the environment and would possibly result in either memory corruption or segfaults as soon as any of the initialization steps fails. Fix this by wrapping these function calls into `cl_git_pass`.
Etienne Samson 35cb7b84 2017-07-20T21:00:15 tests: fix the rebase-submodule test
David Turner 2270ca9f 2017-03-03T13:27:47 rebase: ignore untracked files in submodules An untracked file in a submodule should not prevent a rebase from starting. Even if the submodule's SHA is changed, and that file would conflict with a new tracked file, it's still OK to start the rebase and discover the conflict later. Signed-off-by: David Turner <dturner@twosigma.com>
Carlos Martín Nieto f7dcd58c 2016-12-17T00:55:06 rebase: plug a leak in the tests
David Turner 4db1fc7e 2016-12-01T23:06:41 git_rebase_init: correctly handle detached HEAD git_rebase_finish relies on head_detached being set, but rebase_init_merge was only setting it when branch->ref_name was unset. But branch->ref_name would be set to "HEAD" in the case of detached HEAD being either implicitly (NULL) or explicitly passed to git_rebase_init.
Edward Thomson 5acf18ac 2016-06-02T01:58:25 rebase: test rebasing a new commit with subfolder Test a rebase (both a merge rebase and an inmemory rebase) with a new commit that adds files underneath a new subfolder.
Edward Thomson c7b4bbff 2016-05-03T15:22:22 rebase: test rebase (merge) w/ no common ancestor
Edward Thomson b3ffd8f6 2016-04-26T11:48:11 rebase::abort: test we can abort rebase by revspec Test that we can properly abort a rebase when it is initialized by a revspec. This ensures that we do not conflate revspecs and refnames.
Edward Thomson 1f84caf0 2016-04-21T18:16:37 rebase: correctly finish rebasing detached heads When rebasing with IDs, we do not return to the `branch`, we remain in a detached HEAD state.
Edward Thomson 320f53cd 2016-04-21T17:03:21 rebase: test abort immediately after init Instead of `open`ing a rebase and `abort`ing that, test that we can `abort` a rebase that has just begun with `init`.
Carlos Martín Nieto 2ba9a0dd 2016-03-09T23:45:33 Merge pull request #3623 from ethomson/rebase_with_commit rebase: additional setup tests of exotic behavior
Edward Thomson 09d99680 2016-02-28T20:10:44 rebase: additional tests for completing a rebase
Edward Thomson 2a39818c 2016-02-17T15:28:20 rebase: additional setup tests of exotic behavior Test some additional exotic rebase setup behavior: that we are able to set up properly when already in a detached HEAD state, that the caller specifies all of branch, upstream and onto, and that the caller specifies branch, upstream and onto by ID.
Edward Thomson f28bae0c 2016-02-15T17:16:00 rebase: persist a single in-memory index When performing an in-memory rebase, keep a single index for the duration, so that callers have the expected index lifecycle and do not hold on to an index that is free'd out from under them.
Edward Thomson a202e0d4 2016-02-11T10:11:21 rebase: allow custom merge_options Allow callers of rebase to specify custom merge options. This may allow custom conflict resolution, or failing fast when conflicts are detected.
Edward Thomson ee667307 2016-02-11T10:48:48 rebase: introduce inmemory rebasing Introduce the ability to rebase in-memory or in a bare repository. When `rebase_options.inmemory` is specified, the resultant `git_rebase` session will not be persisted to disk. Callers may still analyze the rebase operations, resolve any conflicts against the in-memory index and create the commits. Neither `HEAD` nor the working directory will be updated during this process.
Tomas Paladin Volf cf2380a6 2015-04-30T14:17:05 Fixed unused warning in tests/rebase/merge.c
Edward Thomson 94c988f6 2015-04-20T17:19:08 rebase: include checkout opts within rebase opts
Edward Thomson 78382358 2015-03-17T17:21:11 rebase: test checkout options for rebase
Edward Thomson f3a199dd 2015-03-17T15:53:04 rebase: init and open take a rebase_options `git_rebase_init` and `git_rebase_open` should take a `git_rebase_options` and use it for future rebase operations on that `rebase` object.
Edward Thomson 5ae38538 2015-03-17T11:47:16 rebase: take `checkout_options` where appropriate
Edward Thomson eaf0d688 2015-03-17T17:53:07 rebase: block rebase_commit with unstaged changes
Edward Thomson 49b3ddf2 2015-03-17T17:45:31 rebase: commit should return GIT_EUNMERGED git_rebase_commit should return `GIT_EUNMERGED` when unmerged items exist in the index, per the documentation. Test that this is correct.
Edward Thomson 30640aa9 2015-03-17T10:04:08 rebase: identify a rebase that has not started In `git_rebase_operation_current()`, indicate when a rebase has not started (with `GIT_REBASE_NO_OPERATION`) rather than conflating that with the first operation being in-progress.
Carlos Martín Nieto 4e498646 2015-01-15T16:50:31 repository: remove log message override for switching the active branch We want to use the "checkout: moving from ..." message in order to let git know when a change of branch has happened. Make the convenience functions for this goal write this message.
Carlos Martín Nieto 659cf202 2015-01-07T12:23:05 Remove the signature from ref-modifying functions 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.
Edward Thomson 49b8293c 2015-02-13T11:20:32 rebase: allow `NULL` branch to indicate `HEAD` Don't require the branch to rebase, if given `NULL`, simply look up `HEAD`.
Edward Thomson 92e87dd7 2015-02-13T10:44:19 rebase: provide NULL `exec` on non-EXEC operations Users may want to try to pay attention to the `exec` field on all rebase operations.
Linquize 8e0aa2eb 2014-12-07T23:41:30 Fix broken merge tests due to autocrlf was not false
Carlos Martín Nieto 21083a71 2014-12-06T03:12:04 notes: move the notes name argument Make it consistent between git_note_create() and git_note_remote() by putting it after the repository.
Edward Thomson 18b00406 2014-10-03T19:02:29 s/git_merge_head/git_annotated_commit Rename git_merge_head to git_annotated_commit, as it becomes used in more operations than just merge.
Edward Thomson 796b03bd 2014-10-03T20:47:48 rebase: clean up some warnings and memory leaks
Edward Thomson ed2c06a6 2014-09-11T16:47:20 git_rebase: iterators for operations
Edward Thomson f152f8ac 2014-08-26T16:18:46 rebase: preload all operations
Edward Thomson b6b636a7 2014-08-25T13:29:50 rebase: init/open a git_rebase object
Edward Thomson 18b439b9 2014-08-23T18:19:34 git_rebase_next: provide info about the operation
Edward Thomson 5ae9d296 2014-07-21T12:25:03 git_rebase_finish: rewrite notes when finishing rebase
Edward Thomson a612a25f 2014-07-18T18:22:54 git_rebase_commit: write HEAD's reflog appropriately
Edward Thomson 517644cc 2014-07-18T17:19:10 Introduce git_rebase_finish to complete a rebase
Edward Thomson 14864fbf 2014-07-18T15:37:42 git_rebase_next: test that we return GIT_ITEROVER
Edward Thomson 93a7004c 2014-07-18T14:50:06 git_rebase_commit: drop already-picked commits Already cherry-picked commits should not be re-included. If all changes included in a commit exist in the upstream, then we should error with GIT_EAPPLIED.
Edward Thomson a35a9890 2014-07-17T18:25:03 Introduce git_rebase_commit Commit the current patch of a rebase process.
Edward Thomson 443d5674 2014-07-17T11:59:01 git_rebase_next: write conflicts nicely during rebase
Edward Thomson 950a7091 2014-07-15T10:23:10 Introduce git_rebase_next `git_rebase_next` will apply the next patch (or cherry-pick) operation, leaving the results checked out in the index / working directory so that consumers can resolve any conflicts, as appropriate.
Edward Thomson 4fe84d62 2014-07-14T15:19:19 Introduce git_rebase_abort Abort an in-progress rebase and move the working directory and repository back to the ORIG_HEAD state.
Edward Thomson 867a36f3 2014-07-14T14:35:01 Introduce git_rebase to set up a rebase session Introduce `git_rebase` to set up a rebase session that can then be continued. Immediately, only merge-type rebase is supported.