<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase--interactive.sh, branch v2.5.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.5.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.5.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-07-13T21:00:25Z</updated>
<entry>
<title>Merge branch 'js/rebase-i-clean-up-upon-continue-to-skip'</title>
<updated>2015-07-13T21:00:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-07-13T21:00:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e01787f1a1de589b7adc6f6946b53996a5e74c34'/>
<id>urn:sha1:e01787f1a1de589b7adc6f6946b53996a5e74c34</id>
<content type='text'>
Abandoning an already applied change in "git rebase -i" with
"--continue" left CHERRY_PICK_HEAD and confused later steps.

* js/rebase-i-clean-up-upon-continue-to-skip:
  rebase -i: do not leave a CHERRY_PICK_HEAD file behind
  t3404: demonstrate CHERRY_PICK_HEAD bug
</content>
</entry>
<entry>
<title>rebase -i: do not leave a CHERRY_PICK_HEAD file behind</title>
<updated>2015-06-29T20:12:43Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2015-06-18T16:38:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0e0aff4b4ca93053a83578cb040475c6e3185f2d'/>
<id>urn:sha1:0e0aff4b4ca93053a83578cb040475c6e3185f2d</id>
<content type='text'>
When skipping commits whose changes were already applied via `git rebase
--continue`, we need to clean up said file explicitly.

The same is not true for `git rebase --skip` because that will execute
`git reset --hard` as part of the "skip" handling in git-rebase.sh, even
before git-rebase--interactive.sh is called.

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>Merge branch 'mm/rebase-i-post-rewrite-exec'</title>
<updated>2015-06-01T19:45:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-06-01T19:45:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a6be52e239df4d4a469a5324273f43a0695fe95d'/>
<id>urn:sha1:a6be52e239df4d4a469a5324273f43a0695fe95d</id>
<content type='text'>
"git rebase -i" fired post-rewrite hook when it shouldn't (namely,
when it was told to stop sequencing with 'exec' insn).

* mm/rebase-i-post-rewrite-exec:
  t5407: use &lt;&lt;- to align the expected output
  rebase -i: fix post-rewrite hook with failed exec command
  rebase -i: demonstrate incorrect behavior of post-rewrite
</content>
</entry>
<entry>
<title>rebase -i: fix post-rewrite hook with failed exec command</title>
<updated>2015-05-22T15:39:02Z</updated>
<author>
<name>Matthieu Moy</name>
<email>Matthieu.Moy@imag.fr</email>
</author>
<published>2015-05-22T13:15:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b12d3e904dc6deba7885d8528538de13e28128dd'/>
<id>urn:sha1:b12d3e904dc6deba7885d8528538de13e28128dd</id>
<content type='text'>
Usually, when 'git rebase' stops before completing the rebase, it is to
give the user an opportunity to edit a commit (e.g. with the 'edit'
command). In such cases, 'git rebase' leaves the sha1 of the commit being
rewritten in "$state_dir"/stopped-sha, and subsequent 'git rebase
--continue' will call the post-rewrite hook with this sha1 as &lt;old-sha1&gt;
argument to the post-rewrite hook.

The case of 'git rebase' stopping because of a failed 'exec' command is
different: it gives the opportunity to the user to examine or fix the
failure, but does not stop saying "here's a commit to edit, use
--continue when you're done". So, there's no reason to call the
post-rewrite hook for 'exec' commands. If the user did rewrite the
commit, it would be with 'git commit --amend' which already called the
post-rewrite hook.

Fix the behavior to leave no stopped-sha file in case of failed exec
command, and teach 'git rebase --continue' to skip record_in_rewritten if
no stopped-sha file is found.

Signed-off-by: Matthieu Moy &lt;Matthieu.Moy@imag.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ph/rebase-i-redo'</title>
<updated>2015-05-19T20:17:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-19T20:17:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=eae0216646039b203cd60c4294ef79f805fbd696'/>
<id>urn:sha1:eae0216646039b203cd60c4294ef79f805fbd696</id>
<content type='text'>
"git rebase -i" moved the "current" command from "todo" to "done" a
bit too prematurely, losing a step when a "pick" did not even start.

* ph/rebase-i-redo:
  rebase -i: redo tasks that die during cherry-pick
</content>
</entry>
<entry>
<title>Merge branch 'nd/multiple-work-trees'</title>
<updated>2015-05-11T21:23:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-11T21:23:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=68a2e6a2c80303144807c8c91a087427e3c8e727'/>
<id>urn:sha1:68a2e6a2c80303144807c8c91a087427e3c8e727</id>
<content type='text'>
A replacement for contrib/workdir/git-new-workdir that does not
rely on symbolic links and make sharing of objects and refs safer
by making the borrowee and borrowers aware of each other.

* nd/multiple-work-trees: (41 commits)
  prune --worktrees: fix expire vs worktree existence condition
  t1501: fix test with split index
  t2026: fix broken &amp;&amp;-chain
  t2026 needs procondition SANITY
  git-checkout.txt: a note about multiple checkout support for submodules
  checkout: add --ignore-other-wortrees
  checkout: pass whole struct to parse_branchname_arg instead of individual flags
  git-common-dir: make "modules/" per-working-directory directory
  checkout: do not fail if target is an empty directory
  t2025: add a test to make sure grafts is working from a linked checkout
  checkout: don't require a work tree when checking out into a new one
  git_path(): keep "info/sparse-checkout" per work-tree
  count-objects: report unused files in $GIT_DIR/worktrees/...
  gc: support prune --worktrees
  gc: factor out gc.pruneexpire parsing code
  gc: style change -- no SP before closing parenthesis
  checkout: clean up half-prepared directories in --to mode
  checkout: reject if the branch is already checked out elsewhere
  prune: strategies for linked checkouts
  checkout: support checking out into a new working directory
  ...
</content>
</entry>
<entry>
<title>rebase -i: redo tasks that die during cherry-pick</title>
<updated>2015-04-29T15:49:22Z</updated>
<author>
<name>Phil Hord</name>
<email>hordp@cisco.com</email>
</author>
<published>2015-04-28T22:55:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8cbc57ca1109ba455c6098654b7d732a01fd89fd'/>
<id>urn:sha1:8cbc57ca1109ba455c6098654b7d732a01fd89fd</id>
<content type='text'>
When rebase--interactive processes a task, it removes the item from
the todo list and appends it to another list of executed tasks. If a
pick (this includes squash and fixup) fails before the index has
recorded the changes, take the corresponding item and put it on the todo
list again. Otherwise, the changes introduced by the scheduled commit
would be lost.

That kind of decision is possible since the cherry-pick command
signals why it failed to apply the changes of the given commit. Either
the changes are recorded in the index using a conflict (return value 1)
and rebase does not continue until they are resolved or the changes
are not recorded in the index (return value neither 0 nor 1) and
rebase has to try again with the same task.

Add a test cases for regression testing to the "rebase-interactive"
test suite.

Signed-off-by: Fabian Ruch &lt;bafain@gmail.com&gt;
Signed-off-by: Phil Hord &lt;hordp@cisco.com&gt;
Acked-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'es/rebase-i-count-todo' into maint</title>
<updated>2015-03-23T18:23:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-03-23T18:23:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f63ed085e20da82a8b7b49d90c61d0eb1b2ed19d'/>
<id>urn:sha1:f63ed085e20da82a8b7b49d90c61d0eb1b2ed19d</id>
<content type='text'>
"git rebase -i" recently started to include the number of
commits in the insn sheet to be processed, but on a platform
that prepends leading whitespaces to "wc -l" output, the numbers
are shown with extra whitespaces that aren't necessary.

* es/rebase-i-count-todo:
  rebase-interactive: re-word "item count" comment
  rebase-interactive: suppress whitespace preceding item count
</content>
</entry>
<entry>
<title>Merge branch 'es/rebase-i-count-todo'</title>
<updated>2015-03-17T23:01:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-03-17T23:01:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fbcbcee51c5f209922bb1d4409be2fe9a7c66231'/>
<id>urn:sha1:fbcbcee51c5f209922bb1d4409be2fe9a7c66231</id>
<content type='text'>
"git rebase -i" recently started to include the number of
commits in the insn sheet to be processed, but on a platform
that prepends leading whitespaces to "wc -l" output, the numbers
are shown with extra whitespaces that aren't necessary.

* es/rebase-i-count-todo:
  rebase-interactive: re-word "item count" comment
  rebase-interactive: suppress whitespace preceding item count
</content>
</entry>
<entry>
<title>rebase-interactive: re-word "item count" comment</title>
<updated>2015-03-06T20:25:33Z</updated>
<author>
<name>Eric Sunshine</name>
<email>sunshine@sunshineco.com</email>
</author>
<published>2015-03-04T07:53:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2185d3b7ad2ccdfe220d5c4139ff671a66fe7d80'/>
<id>urn:sha1:2185d3b7ad2ccdfe220d5c4139ff671a66fe7d80</id>
<content type='text'>
97f05f43 (Show number of TODO items for interactive rebase, 2014-12-10)
taught rebase-interactive to display an item count in the instruction
list comments:

    # Rebase 46640c6..5568fd5 onto 46640c6 (4 TODO item(s))
    #
    # Commands:
    # p, pick = use commit
    # ...

However, with the exception of the --edit-todo option, "TODO" is a
one-off term, never presented to the user by rebase-interactive in
any other context. The item count is in fact the number of commands
("pick", "edit", etc.) remaining on the instruction sheet, and the
comment immediately following it talks about "Commands". Consequently,
replace "(# TODO item(s))" with the more accurate and meaningful
"(# command(s))".

Signed-off-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
