Commit Briefs

643b85bcb4 Stefan Sperling

new -X option for removing backups created by got rebase and got histedit

ok semarie


e600f1246e Stefan Sperling

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



a615e0e779 Stefan Sperling

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


a347e6bb7c Stefan Sperling

test behaviour of histedit -f with an empty log message


239f5c5ae4 Stefan Sperling

add a basic test case for histedit -f



0a22ca1a5a Stefan Sperling

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


ecfff807e1 Stefan Sperling

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


f6cae3ed1e Christian Weisgerber

switch function declarations from Korn shell to Bourne/POSIX shell syntax

ok stsp


7fb414ae4d Stefan Sperling

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



5b87815ed2 Stefan Sperling

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.


de05890fef Stefan Sperling

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.





b2c50a0a51 Stefan Sperling

add another histedit test for path prefix behaviour


a402709190 Stefan Sperling

rename a histedit test


13a06bb35e Stefan Sperling

remove some unused variables from histedit tests


86ac67ee6b Stefan Sperling

check committed diffs in some histedit tests


0160a755b4 Stefan Sperling

add histedit path prefix test


3f9de99f9b Stefan Sperling

histedit: make folding work across dropped commits


0ebf8283cd Stefan Sperling

initial 'got histedit' implementation