regress/cmdline/histedit.sh


Log

Author Commit Date CI Message
Stefan Sperling b93c7142 2021-10-01T06:22:27 add histedit -e option which runs the 'edit' script command for every commit ok jrick
Stefan Sperling ad324bf5 2021-09-21T20:27:45 fix histedit_no_op test which was failing randomly A no-op replayed history ends up having exactly the same commit IDs if all commits are created at roughly the same moment in time. There are no content changes involved so if commit timestamps do not differ then commit hashes will be the same. In which case there is no fork in history for 'got histedit -l' to display, yet the test was always expecting a fork in history to be displayed. Update the test to take this issue into account. The test will now pass no matter which result is produced by the histedit operation. Problem found by Lucas who observed that this test was randomly failing. Patch also provided by Lucas.
Stefan Sperling 4c662b1d 2021-09-01T13:44:53 fix test data directory name used by test_histedit_fold_add_delete
Christian Weisgerber 3a6b8760 2021-08-31T19:18:37 use the POSIX-compliant "date -u" command to return UTC time; ok stsp
Christian Weisgerber a9662115 2021-08-29T13:01:47 add missing "return 1" to failure handling in the regress scripts ok stsp@
Stefan Sperling 643b85bc 2021-07-16T10:47:10 new -X option for removing backups created by got rebase and got histedit ok semarie
Stefan Sperling e600f124 2021-03-21T19:09:35 ensure that old commits remain referenced after rebase and histedit Create automatic "backup" references which ensure that objects from the pre-rebase or pre-histedit state remain in the repository. A new -l option for 'got rebase' and 'got histedit' lists old commits. This makes it easier to recover from botched rebase or histedit operations. Removal of such objects currently requires got ref -d and git-gc. This will be made more convenient in the future. testing and ok jrick
Stefan Sperling 54c39596 2020-12-28T17:38:34 use POSIX [s1 = s2] syntax instead of [s1 == s2]; patch by Ryo ONODERA
Stefan Sperling a615e0e7 2020-12-16T00:08:58 implicitly mark all files in work tree as up-to-date after rebase/histedit This should always be correct, since rebase and histedit start out with a clean and single-base-commit worktree, and end up committing all changes across the entire work tree when they are successful. tested by jrick and myself
Stefan Sperling a347e6bb 2020-12-13T13:19:10 test behaviour of histedit -f with an empty log message
Stefan Sperling 239f5c5a 2020-12-13T13:11:23 add a basic test case for histedit -f
Stefan Sperling 29c68398 2020-09-24T00:51:04 check final repository state in test_histedit_fold_add_delete
Stefan Sperling 0a22ca1a 2020-09-23T22:31:00 make 'got histedit' collapse folded add+delete operations into a no-op If a merged commit wants to delete a locally added file, and this locally added file matches the content which was deleted in the commit being merged, we can go ahead with the deletion because there is no risk of data loss. fixes the histedit problem reported by jrick on freenode
Stefan Sperling ecfff807 2020-09-23T19:10:15 add an xfail test for a histedit issue where a deleted file remains If a previous commit introduces a new file, and it is folded into a commit that deletes the same file, the file still exists after the histedit. reported by jrick on freenode
Christian Weisgerber f6cae3ed 2020-09-13T14:05:17 switch function declarations from Korn shell to Bourne/POSIX shell syntax ok stsp
Stefan Sperling 7fb414ae 2020-08-08T07:34:47 add a -q option to tests for quiet output and use it for 'make regress' Previous default output remains when test cases are run individually. ok tracey
Stefan Sperling e31abbf2 2020-03-22T14:21:06 add -c option to 'got ref' which now expects just one argument after options
Stefan Sperling 3969253a 2020-03-07T19:01:44 remove implicit entry update from got_fileindex_entry_alloc(); just alloc
Stefan Sperling 5b87815e 2020-03-05T11:20:24 prevent commits from being listed more than once in a histedit script While merging a commit multiple times during a histedit operation could potentially make sense in some corner case, a commit appearing more than once in the script is more likely to happen accidentally. If desired, the same effect can still be achieved by running multiple histedit operations, or by using 'got cherrypick' while the histedit operation is paused for arbitrary editing.
Stefan Sperling de05890f 2020-03-05T10:53:53 fix histedit 'rebase commit ID mismatch' error when splitting a commit Commit IDs on histedit's temporary branch can change arbitrarily because the user may create new commits on this branch while editing past commits. So there is no point in trying to verify these IDs like we do during rebase. Add a test case which demonstrates the problem.
Stefan Sperling 0def28b1 2019-08-17T10:15:35 fix 'last commit cannot be folded' check with reordered commits
Stefan Sperling f032f1f7 2019-08-04T14:10:07 fix and test interaction of rebase/histedit -c and 'got stage'
Stefan Sperling c7d20a3f 2019-07-30T17:46:15 forbid editing the history of branches outside of "refs/heads"
Stefan Sperling b2c50a0a 2019-07-25T13:05:09 add another histedit test for path prefix behaviour
Stefan Sperling a4027091 2019-07-25T12:08:58 rename a histedit test
Stefan Sperling 13a06bb3 2019-07-25T12:06:24 remove some unused variables from histedit tests
Stefan Sperling 86ac67ee 2019-07-25T12:01:57 check committed diffs in some histedit tests
Stefan Sperling 0160a755 2019-07-25T11:37:04 add histedit path prefix test
Stefan Sperling 3f9de99f 2019-07-24T22:24:09 histedit: make folding work across dropped commits
Stefan Sperling 0ebf8283 2019-07-23T17:39:43 initial 'got histedit' implementation