<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase--interactive.sh, branch v2.6.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.6.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.6.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-10-16T21:32:43Z</updated>
<entry>
<title>Merge branch 'gr/rebase-i-drop-warn' into maint</title>
<updated>2015-10-16T21:32:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-16T21:32:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=19d11d43fddd7535c93a616984c3815d5a444f99'/>
<id>urn:sha1:19d11d43fddd7535c93a616984c3815d5a444f99</id>
<content type='text'>
"git rebase -i" had a minor regression recently, which stopped
considering a line that begins with an indented '#' in its insn
sheet not a comment, which is now fixed.

* gr/rebase-i-drop-warn:
  rebase-i: loosen over-eager check_bad_cmd check
  rebase-i: explicitly accept tab as separator in commands
</content>
</entry>
<entry>
<title>rebase-i: loosen over-eager check_bad_cmd check</title>
<updated>2015-10-06T05:39:56Z</updated>
<author>
<name>Matthieu Moy</name>
<email>Matthieu.Moy@imag.fr</email>
</author>
<published>2015-10-01T08:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1db168ee971a6a61ce72480e1db9ddfd3629bfcf'/>
<id>urn:sha1:1db168ee971a6a61ce72480e1db9ddfd3629bfcf</id>
<content type='text'>
804098bb (git rebase -i: add static check for commands and SHA-1,
2015-06-29) tried to check all insns before running any in the todo
list, but it did so by implementing its own parser that is a lot
stricter than necessary.  We used to allow lines that are indented
(including comment lines), and we used to allow a whitespace between
the insn and the commit object name to be HT, among other things,
that are flagged as an invalid line by mistake.

Fix this by using the same tokenizer that is used to parse the todo
list file in the new check.

Whether it's a good thing to accept indented comments is
debatable (other commands like "git commit" do not accept them), but we
already accepted them in the past, and some people and scripts rely on
this behavior. Also, a line starting with space followed by a '#' cannot
have any meaning other than being a comment, hence it doesn't harm to
accept them as comments.

Largely based on patch by: Junio C Hamano &lt;gitster@pobox.com&gt;

[jc: updated test with quickfix from Torsten Bögershausen]

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>rebase-i: explicitly accept tab as separator in commands</title>
<updated>2015-10-02T18:36:44Z</updated>
<author>
<name>Matthieu Moy</name>
<email>Matthieu.Moy@imag.fr</email>
</author>
<published>2015-10-01T08:18:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=31bff64100d0864741b57cc44e01a19359573e99'/>
<id>urn:sha1:31bff64100d0864741b57cc44e01a19359573e99</id>
<content type='text'>
The git-rebase-todo is parsed several times with different parsers. In
principle, the user input is normalized by transform_todo_ids and
further parsing can be stricter.

In case the user wrote

pick deadbeef&lt;TAB&gt;commit message

the parser of transform_todo_ids was considering the sha1 to be
"deadbeef&lt;TAB&gt;commit", and was leaving the tab in the transformed sheet.
In practice, this went unnoticed since the actual command interpretation
was done later in do_next which did accept the tab as a separator.

Make it explicit in the code of transform_todo_ids that tabs are
accepted. This way, code that mimicks it will also accept tabs as
separator.

A similar construct appears in skip_unnecessary_picks, but this one
comes after transform_todo_ids, hence reads the normalized format, so it
needs not be changed.

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 'gr/rebase-i-drop-warn'</title>
<updated>2015-08-03T18:01:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-03T18:01:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3a760cad7952ce5d17ff77a8f376aaa35299dfa7'/>
<id>urn:sha1:3a760cad7952ce5d17ff77a8f376aaa35299dfa7</id>
<content type='text'>
Add "drop commit-object-name subject" command as another way to
skip replaying of a commit in "rebase -i", and then punish those
who do not use it (and instead just remove the lines) by throwing
a warning.

* gr/rebase-i-drop-warn:
  git rebase -i: add static check for commands and SHA-1
  git rebase -i: warn about removed commits
  git-rebase -i: add command "drop" to remove a commit
</content>
</entry>
<entry>
<title>Merge branch 'mr/rebase-i-customize-insn-sheet'</title>
<updated>2015-08-03T18:01:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-03T18:01:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9f56db7cafc6a4634b8f2fa70f1c8949f4242df1'/>
<id>urn:sha1:9f56db7cafc6a4634b8f2fa70f1c8949f4242df1</id>
<content type='text'>
"git rebase -i"'s list of todo is made configurable.

* mr/rebase-i-customize-insn-sheet:
  git-rebase--interactive.sh: add config option for custom instruction format
</content>
</entry>
<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>git rebase -i: add static check for commands and SHA-1</title>
<updated>2015-06-30T19:14:25Z</updated>
<author>
<name>Galan Rémi</name>
<email>remi.galan-alfonso@ensimag.grenoble-inp.fr</email>
</author>
<published>2015-06-29T20:20:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=804098bb30a5339cccb0be981a3e876245aa0ae5'/>
<id>urn:sha1:804098bb30a5339cccb0be981a3e876245aa0ae5</id>
<content type='text'>
Check before the start of the rebasing if the commands exists, and for
the commands expecting a SHA-1, check if the SHA-1 is present and
corresponds to a commit. In case of error, print the error, stop git
rebase and prompt the user to fix with 'git rebase --edit-todo' or to
abort.

This allows to avoid doing half of a rebase before finding an error
and giving back what's left of the todo list to the user and prompt
him to fix when it might be too late for him to do so (he might have
to abort and restart the rebase).

Signed-off-by: Galan Rémi &lt;remi.galan-alfonso@ensimag.grenoble-inp.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git rebase -i: warn about removed commits</title>
<updated>2015-06-30T19:14:25Z</updated>
<author>
<name>Galan Rémi</name>
<email>remi.galan-alfonso@ensimag.grenoble-inp.fr</email>
</author>
<published>2015-06-29T20:20:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=370799596081e1d1f862e42305ba8119183bde94'/>
<id>urn:sha1:370799596081e1d1f862e42305ba8119183bde94</id>
<content type='text'>
Check if commits were removed (i.e. a line was deleted) and print
warnings or stop git rebase depending on the value of the
configuration variable rebase.missingCommitsCheck.

This patch gives the user the possibility to avoid silent loss of
information (losing a commit through deleting the line in this case)
if he wants.

Add the configuration variable rebase.missingCommitsCheck.
    - When unset or set to "ignore", no checking is done.
    - When set to "warn", the commits are checked, warnings are
      displayed but git rebase still proceeds.
    - When set to "error", the commits are checked, warnings are
      displayed and the rebase is stopped.
      (The user can then use 'git rebase --edit-todo' and
      'git rebase --continue', or 'git rebase --abort')

rebase.missingCommitsCheck defaults to "ignore".

Signed-off-by: Galan Rémi &lt;remi.galan-alfonso@ensimag.grenoble-inp.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-rebase -i: add command "drop" to remove a commit</title>
<updated>2015-06-30T19:14:25Z</updated>
<author>
<name>Galan Rémi</name>
<email>remi.galan-alfonso@ensimag.grenoble-inp.fr</email>
</author>
<published>2015-06-29T20:20:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c9266d589482544d588ccfd95f54d0bfdb277aee'/>
<id>urn:sha1:c9266d589482544d588ccfd95f54d0bfdb277aee</id>
<content type='text'>
Instead of removing a line to remove the commit, you can use the
command "drop" (just like "pick" or "edit"). It has the same effect as
deleting the line (removing the commit) except that you keep a visual
trace of your actions, allowing a better control and reducing the
possibility of removing a commit by mistake.

Signed-off-by: Galan Rémi &lt;remi.galan-alfonso@ensimag.grenoble-inp.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</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>
</feed>
