Hi git people,
in a recent conversation at work, the question of how to
programmatically edit the git-rebase sequence came up.
Example use case:
I have a branch that touches a number of files, adds some files and
removes some files.
When rebasing, I want to split all commits that touched a certain subset
of files, for the clearity of the history.
I look at the output of
git log master..mybranch --oneline --diff-filter=M -- "./subdir/*.rs"
to find all commits in that subdir that only touched the files. All of
these commits are to be "edit"ed.
Now I fire up `git rebase -i master` and manually(!) match the list from
above `git-log` call and find the respective commits to edit them.
Is there a way I am not aware of to do that manual step programatically?
Something like
git rebase -i master --edit-commits="$(git log master..mybranch --diff-filter=M --format="%H" -- "./subdir/*.rs")"
would be convenient here, although I would understand if that is too
much clutter for the already very heavy git CLI interface :-)
Maybe I am just not aware of the obvious solution - I would be happy to
learn that there is already one!
Best,
Matthias