<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase--common.sh, branch v2.22.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.22.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.22.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-02-07T06:05:20Z</updated>
<entry>
<title>Merge branch 'en/rebase-merge-on-sequencer'</title>
<updated>2019-02-07T06:05:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-02-07T06:05:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8fe9c3f21dff206acb464d86cbd3bf4dbbb94f38'/>
<id>urn:sha1:8fe9c3f21dff206acb464d86cbd3bf4dbbb94f38</id>
<content type='text'>
"git rebase --merge" as been reimplemented by reusing the internal
machinery used for "git rebase -i".

* en/rebase-merge-on-sequencer:
  rebase: implement --merge via the interactive machinery
  rebase: define linearization ordering and enforce it
  git-legacy-rebase: simplify unnecessary triply-nested if
  git-rebase, sequencer: extend --quiet option for the interactive machinery
  am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
  t5407: add a test demonstrating how interactive handles --skip differently
  rebase: fix incompatible options error message
  rebase: make builtin and legacy script error messages the same
</content>
</entry>
<entry>
<title>git-rebase, sequencer: extend --quiet option for the interactive machinery</title>
<updated>2018-12-28T20:49:48Z</updated>
<author>
<name>Elijah Newren</name>
<email>newren@gmail.com</email>
</author>
<published>2018-12-11T16:11:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=899b49c446fa645419676899c9409e2975a5dd26'/>
<id>urn:sha1:899b49c446fa645419676899c9409e2975a5dd26</id>
<content type='text'>
While 'quiet' and 'interactive' may sound like antonyms, the interactive
machinery actually has logic that implements several
interactive_rebase=implied cases (--exec, --keep-empty, --rebase-merges)
which won't pop up an editor.  The rewrite of interactive rebase in C
added a quiet option, though it only turns stats off.  Since we want to
make the interactive machinery also take over for git-rebase--merge, it
should fully implement the --quiet option.

git-rebase--interactive was already somewhat quieter than
git-rebase--merge and git-rebase--am, possibly because cherry-pick has
just traditionally been quieter.  As such, we only drop a few
informational messages -- "Rebasing (n/m)" and "Successfully rebased..."

Also, for simplicity, remove the differences in how quiet and verbose
options were recorded.  Having one be signalled by the presence of a
"verbose" file in the state_dir, while the other was signalled by the
contents of a "quiet" file was just weirdly inconsistent.  (This
inconsistency pre-dated the rewrite into C.)  Make them consistent by
having them both key off the presence of the file.

Signed-off-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase: introduce --reschedule-failed-exec</title>
<updated>2018-12-11T08:19:01Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2018-12-10T19:04:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d421afa0c66ec6bbd15602d534f77546c516f2a5'/>
<id>urn:sha1:d421afa0c66ec6bbd15602d534f77546c516f2a5</id>
<content type='text'>
A common use case for the `--exec` option is to verify that each commit
in a topic branch compiles cleanly, via `git rebase -x make &lt;base&gt;`.

However, when an `exec` in such a rebase fails, it is not re-scheduled,
which in this instance is not particularly helpful.

Let's offer a flag to reschedule failed `exec` commands.

Based on an idea by Paul Morelle.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase: refactor common shell functions into their own file</title>
<updated>2018-08-06T20:08:01Z</updated>
<author>
<name>Pratik Karki</name>
<email>predatoramigo@gmail.com</email>
</author>
<published>2018-08-06T19:31:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c7b64aa0f3a83ed574d9d374bf2639c3c091120c'/>
<id>urn:sha1:c7b64aa0f3a83ed574d9d374bf2639c3c091120c</id>
<content type='text'>
The functions present in `git-legacy-rebase.sh` are used by the rebase
backends as they are implemented as shell script functions in the
`git-rebase--&lt;backend&gt;` files.

To make the `builtin/rebase.c` work, we have to provide support via
a Unix shell script snippet that uses these functions and so, we
want to use the rebase backends *directly* from the builtin rebase
without going through `git-legacy-rebase.sh`.

This commit extracts the functions to a separate file,
`git-rebase--common`, that will be read by `git-legacy-rebase.sh` and
by the shell script snippets which will be used extensively in the
following commits.

Signed-off-by: Pratik Karki &lt;predatoramigo@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
