run_add_interactive() in builtin/add.c manually computes array bounds
and allocates a static args array to build the add--interactive command
line, which is error-prone. Use the argv-array helper functions instead.
Signed-off-by: Fabian Ruch
---
builtin/add.c | 21 ++---
1 file
On 03/15/2014 12:14 PM, Fabian Ruch wrote:
> run_add_interactive() in builtin/add.c manually computes array bounds
> and allocates a static args array to build the add--interactive command
> line, which is error-prone. Use the argv-array helper functions instead.
>
> Signed-off-
Hi Johan,
Johan Herland writes:
> A colleague of mine noticed that cherry-pick does not accept the
> --no-verify option to skip running the pre-commit/commit-msg hooks.
neither git-cherry-pick nor git-revert execute the pre-commit or
commit-msg hooks at the moment. The underlying rationale can be
Hi David,
On 09/14/2014 10:30 AM, David Aguilar wrote:
> Ensure that rev-parse --verify --quiet is silent when asked
> about deleted reflog entries.
>
> Signed-off-by: David Aguilar
> ---
> This verifies and depends on "refs: make rev-parse --quiet actually quiet".
>
> t/t1503-rev-parse-verify
Hi Colin,
On 09/08/2014 01:25 PM, Colin Yates wrote:
> My understanding is that rebasing branch B onto branch A unrolls all
> of branch B's commits and then "reduces" them onto the HEAD of branch
> A.
>
> For example, I took featureA branch from develop three days ago.
> develop subsequently had
Hi Michael,
On 08/13/2014 02:47 PM, Michael Haggerty wrote:
> On 08/07/2014 01:59 AM, Fabian Ruch wrote:
>> pick and reword are atomic to-do list commands in the sense that they
>> open a new task which is closed after the respective command is
>> completed. squash and fixup
`.
Add a test. The test case rebases a single disconnected commit which
creates an isolated file on master and, therefore, does not require a
specific merge strategy. It is a mere sanity check.
Reported-by: David M. Lloyd
Signed-off-by: Fabian Ruch
---
Hi David,
I don't think you made a mista
Hi Junio,
On 10/09/2014 09:05 PM, Junio C Hamano wrote:
> Fabian Ruch writes:
>> diff --git a/git-rebase--merge.sh b/git-rebase--merge.sh
>> index d3fb67d..3f754ae 100644
>> --- a/git-rebase--merge.sh
>> +++ b/git-rebase--merge.sh
>&
Hi,
Junio C Hamano writes:
> Fabian Ruch writes:
>> diff --git a/git-rebase--merge.sh b/git-rebase--merge.sh
>> index d3fb67d..3f754ae 100644
>> --- a/git-rebase--merge.sh
>> +++ b/git-rebase--merge.sh
>> @@ -67,7 +67,13 @@ call_merge () {
>>
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.
Reported-by: Phil Hord
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 27 ++-
1 file changed, 22
uations in which the sequencer
encounters an error.
Signed-off-by: Fabian Ruch
---
sequencer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sequencer.c b/sequencer.c
index 90cac7b..97cecca 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -278,7 +278,7 @@ static int fast_forwar
case for regression testing to the "rebase-interactive"
test suite.
Reported-by: Phil Hord
Signed-off-by: Fabian Ruch
---
t/t3404-rebase-interactive.sh | 44 +++
1 file changed, 44 insertions(+)
diff --git a/t/t3404-rebase-interactive.sh b/t/t3
Hi Michael,
I have some inline comments below. Also, some parts of the patch do not
adhere to the style rules
- tabs for indentation
- $(...) for command substitution
- no space after redirection operators
- double-quotes around redirection targets
for shell scripts (from the file `Documenta
Hi Junio,
On 05/27/2014 08:42 PM, Junio C Hamano wrote:
> Fabian Ruch writes:
>> [..]
>>
>> In order to signal the three possible situations (not only success and
>> failure to complete) after a pick through porcelain commands such as
>> `cherry-pick`, exit with
If the user explicitly specified a merge strategy or strategy options,
"rebase --interactive" started using the default merge strategy again
after "rebase --continue".
This problem gets fixed by this commit. Add test.
Since the "rebase" options "-s" and "-X" imply "--merge", we can simply
remove
rd in the interactive mode and always compile
the "cherry-pick" arguments from the "rebase" state variables "strategy"
and "strategy_opts".
Reported-by: Diogo de Campos
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh| 18 +++---
t/t3
Hi Michael,
On 05/18/2014 11:17 PM, Michael S. Tsirkin wrote:
> As a maintainer, I often get patches by mail, then
> acked-by,reviewed-by etc responses are sent by separate
> mail.
>
> I like making acks commits,
> this way they are easy to keep track of
> as part of git history.
In order to ful
-empty`.
Signed-off-by: Fabian Ruch
---
Notes:
Hi,
This is not a fix yet.
We are currently special casing in `do_pick` and whether the current
head is the sentinel commit is not a special case that would fit into
`do_pick`'s interface description. What if we
ff-by: Fabian Ruch
---
git-rebase--interactive.sh| 52 ---
t/t3404-rebase-interactive.sh | 8 +++
2 files changed, 52 insertions(+), 8 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index ea5514e..fffdfa5 100644
---
to run the post-rewrite
hook, something I could not figure out myself.
Thanks for your time,
Fabian
[1] pick, reword, squash, fixup
Fabian Ruch (7):
rebase -i: Make option handling in pick_one more flexible
rebase -i: Teach do_pick the option --edit
rebase -i: Stop on root commits with
parameter left on the list. If an option is not supported,
ignore it and issue a warning on the console. Construct a new arguments
list `extra_args` of recognized options that shall be passed to
`cherry-pick` on the command line.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 61
;t include these
flags in the git-commit command line either.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 4 ++--
t/t3412-rebase-root.sh | 39 +++
2 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/git-rebase--interactive.sh b/
be squashed into the subsequent commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 20 +++-
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index e4992dc..ada520d 100644
--- a/git-rebase
always rewritten. Safely use the
rewrite infrastructure of `do_pick` to create the final commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 31 ++-
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase
initialization regardless of any conflicts because `$amend` is always
cleared before the next to-do item is processed.
Signed-off-by: Fabian Ruch
---
Notes:
A question about when to enable the post-rewrite hook.
`rebase` collects the hashes of all processed commits using
`$squash_msg` as commit message. Indicate an error in `do_pick`
using return statements and properly kill the script at the call sites.
Remove unused commit message title argument from `do_pick`'s signature.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh
Hi Michael,
thanks for your reply.
On 06/19/2014 01:35 PM, Michael Haggerty wrote:
> On 06/18/2014 02:10 PM, Fabian Ruch wrote:
>> `rebase` supports the option `--root` both with and without `--onto`.
>> The case where `--onto` is not specified is handled by creating a
>>
Hi Michael,
On 06/20/2014 03:40 PM, Michael Haggerty wrote:
> On 06/19/2014 05:28 AM, Fabian Ruch wrote:
>> `pick_one` and `pick_one_preserving_merges` are wrappers around
>> `cherry-pick` in `rebase --interactive`. They take the hash of a commit
>> and build a `cherry-pi
Hi Michael,
On 06/20/2014 03:41 PM, Michael Haggerty wrote:
> On 06/19/2014 05:28 AM, Fabian Ruch wrote:
>> The to-do list command `reword` replays a commit like `pick` but lets
>> the user also edit the commit's log message. If one thinks of `pick`
>> entries as sched
Hi Eric,
On 06/21/2014 02:33 AM, Eric Sunshine wrote:
> On Wed, Jun 18, 2014 at 11:28 PM, Fabian Ruch wrote:
>> When `rebase` is executed with `--root` but no `--onto` is specified,
>> `rebase` creates a sentinel commit which is replaced with the root
>> commit in three st
Hi Junio,
On 06/20/2014 09:53 PM, Junio C Hamano wrote:
> Michael Haggerty writes:
>>> pick_one () {
>>> ff=--ff
>>> + extra_args=
>>> + while test $# -gt 0
>>> + do
>>> + case "$1" in
>>> + -n)
>>> + ff=
>>> + extra_args="$extra_
Hi Avi,
On 07/02/2014 10:51 AM, Avi Kivity wrote:
> Some workflows prefer to track exactly which email message was used to
> generate a commit. This can be used, for example, to generate an
> automated acknowledgement when a patch is committed as a response to
> the patch email, or as a reference
and line.
This could be both a security and a usability issue. For this reason,
the patch series still hasn't graduated from being RFC.
Fabian
Fabian Ruch (19):
rebase -i: Failed reword prints redundant error message
rebase -i: reword complains about empty commit despite --keep-emp
nates. Caveat: In case the commit-msg hook finds the
new log message ill-formatted, the user is only notified of the
failed commit-msg hook but the log message is used for the commit
anyway. git-commit ought to offer more fine-grained control over
which hooks are executed.
Signed-off-by: Fabian Ruch
---
tion would be to keep track of
the failed hooks in their output so that the user knows which of her
hooks require improvement.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 3 ---
1 file changed, 3 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
ind
some way but
nothing more and the unchanged to-do list entry would not fail.
Handle `reword` by cherry-picking the named commit and editing the
log message using
git commit --allow-empty --amend
instead of
git commit --amend.
Add test.
Signed-off-by: Fabian Ruch
---
git-r
ich
carries out exactly the same steps as the case arm for `reword` in
`do_next` so far.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 15 +--
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index e06d9b6.
veals whether there are
conflicts or not and in-depth troubleshooting is still possible using
the `--verbose` option.
Remove the commit message title argument from `do_pick`'s interface,
which has become unused.
Signed-off-by: Fabian Ruch
---
git-rebase--interacti
`--allow-empty-message` is correctly specified here.
Add test.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 2 +-
t/t3412-rebase-root.sh | 39 +++
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/git-rebase--interactive.sh b/git
command output with control sequences. Execute the
`reword` code from `do_next` instead if the option `--edit` is
specified.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 52 ++
1 file changed, 52 insertions(+)
diff --git a/git-rebase
to a new function `do_replay` which
assumes the first argument to be a commit hash and make no more such
assumptions in `do_next`.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 42 --
1 file changed, 28 insertions(+), 14 deletions(-)
diff
that the committer email and
commit date fields do not match the root commit either way. Remove
the option. However, `-C` (other than `-c`) does not invoke the
editor and the `--amend` option invokes it by default. Disable editor
invocation again by specifying `--no-edit`.
Signed-off-by: Fabian
. Since the
orphaned root commit gets a temporary parent, it is always rewritten.
Safely use the rewrite infrastructure of `do_pick` to create the
final commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 55 +++---
1 file changed, 33
still do not accept user options as the
interplay of `--reset-author` and the author script are yet to be
determined.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 19 ---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/git-rebase--interactive.sh b/git
is a detail of
git-rebase--interactive's implementation. The option `-q` was
probably introduced as a copy-and-paste error stemming from that part
of the root commit handling code.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 2 +-
1 file changed, 1 insertion(+), 1 del
-commit command line which creates the
final commit. If `--amend` is not passed as well, the fresh
authorship effect is achieved by the mere fact that we are creating a
new commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 23 ++-
1 file changed, 22 insertions
`. However, `do_pick` does not execute the verification
hooks anyway because it solely replays commits and assumes that they
have been verified before.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 30 ++
1 file changed, 6 insertions(+), 24 deletions(-)
diff
-cherry-pick option `--signoff` to the `do_pick` interface. It
appends a Signed-off-by: line using the committer identity to the log
message of the picked commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a
`rewrite_message` and relay the option
--file "$rewrite_message"
to the git-commit command line which creates the commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 20 +++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/
conflicts. It is not a mistake to do the initialization regardless of
any conflicts because `amend` is always cleared before the next to-do
item is processed.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 18 +-
1 file changed, 17 insertions(+), 1 deletion(-)
diff
the to-do list is
edited. Apply the same procedure as in `do_cmd` with the exception
that we only care about where the options stop and the commit hash
begins. Do not reject any options when transforming the commit
hashes.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 49 ++
git-commit.
Might be squashed into the subsequent commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 21 +++--
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 47e3edf..37800be 100644
--- a/
holds for fast_forward might be turned off due to a use of
--no-ff. To correctly notice squashes, explicitly check for -n.
Add test.
Signed-off-by: Fabian Ruch
---
Hi,
The code checking force_rebase is copied from pick_one, although
using a ternary operator to initialise fast_forward might be
On 07/08/2014 10:45 PM, Junio C Hamano wrote:
> Fabian Ruch writes:
>> Fabian Ruch (19):
>> rebase -i: Failed reword prints redundant error message
>> rebase -i: reword complains about empty commit despite --keep-empty
>> rebase -i: reword executes pre-co
Junio C Hamano writes:
> Fabian Ruch writes:
>> Subject: rebase -i: reword complains about empty commit despite --keep-empty
>
> I had to read the title and then the log twice before understanding
> that the above is not "change the complaint message" (i.e. &
Hi Junio,
Junio C Hamano writes:
> Fabian Ruch writes:
>> The command line used to recreate root commits specifies the
>> erroneous option `--allow-empty-message`. If the root commit has an
>> empty log message, the replay of this commit should fail and the
>> rebase
Hi Andrew,
thanks for your review and sorry that I forgot to cc the bug fix to you.
Andrew Wong writes:
> On Tue, Jul 8, 2014 at 4:31 PM, Junio C Hamano wrote:
>> Fabian Ruch writes:
>>> It is true that a failed hook script might not output any diagnosis...
>>
>>
age.
Kind regards,
Fabian
Fabian Ruch writes:
> The command line used to recreate root commits specifies the
> erroneous option `-q` which suppresses the commit summary message.
> However, git-rebase--interactive tends to tell the user about the
> commits it creates, if she wishes (c
Hi Junio,
Junio C Hamano writes:
> Fabian Ruch writes:
>> The to-do list command `reword` replays a commit like `pick` but lets
>> the user also edit the commit's log message. This happens in two
>> steps. Firstly, the named commit is cherry-picked. Secondly, the
>
Hi Marc,
I forgot to cc your mailbox when I posted this patch last week. Do you
still remember whether there was a particular reason why
pick_one_preserving_merges wasn't touched by the commit b499549 ("Teach
rebase the --no-ff option."), by any chance?
Kind regards,
Fabi
= "$ptree"` always false for them.
Add tests.
Signed-off-by: Fabian Ruch
---
Hi,
Three test cases were added to the bug report to account for the
additional cases in which the bug strikes (raised by Michael on the
other sub-thread). A bugfix is included now as well.
Concerning the bu
Hi Junio,
Junio C Hamano writes:
> Fabian Ruch writes:
>> The command line used to recreate root commits specifies the
>> effectless option `-C`. It is used to reuse commit message and
>> authorship from the named commit but the commit being amended here,
>> which is t
Hi Junio,
Junio C Hamano writes:
> Fabian Ruch writes:
>> It makes the next patch easier to understand because the finalising
>> command line "git commit --allow-empty --amend --no-post-rewrite -n
>> --no-edit" seems to be simply moved to the end of do_pick. S
ll
without introducing another indentation level in `do_pick`.
Thanks for your time,
Fabian
Fabian Ruch (19):
rebase -i: failed reword prints redundant error message
rebase -i: allow rewording an empty commit without complaints
rebase -i: reword executes pre-commit hook on interim commit
tion would be to keep track of
the failed hooks in their output so that the user knows which of her
hooks require improvement.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 3 ---
1 file changed, 3 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
ind
some way but
nothing more and the unchanged to-do list entry would not fail.
Handle `reword` by cherry-picking the named commit and editing the
log message using
git commit --allow-empty --amend
instead of
git commit --amend.
Add test.
Signed-off-by: Fabian Ruch
---
git-r
conflicts. It is not a mistake to do the initialization regardless of
any conflicts because `amend` is always cleared before the next to-do
item is processed.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 18 +-
1 file changed, 17 insertions(+), 1 deletion(-)
diff
either because
its commit message can be altered as for any other pick. Since the
orphaned root commit gets a temporary parent, it is always rewritten.
Safely use the rewrite infrastructure of `do_pick` to create the
final commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 58
cuted.
Teach `test_commit` the `--no-verify` option and add test.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh| 17 +
t/t3404-rebase-interactive.sh | 38 ++
t/test-lib-functions.sh | 6 +-
3 files changed, 56 inser
git-commit.
Might be squashed into the subsequent commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 21 +++--
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 5df1086..d85e55d 100644
--- a/
ich
carries out exactly the same steps as the case arm for `reword` in
`do_next` so far.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 15 +--
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index e06d9b6.
still do not accept user options as the
interplay of `--reset-author` and the author script are yet to be
determined.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 19 ---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/git-rebase--interactive.sh b/git
-cherry-pick option `--signoff` to the `do_pick` interface. It
appends a Signed-off-by: line using the committer identity to the log
message of the picked commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a
-commit command line which creates the
final commit. If `--amend` is not passed as well, the fresh
authorship effect is achieved by the mere fact that we are creating a
new commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 23 ++-
1 file changed, 22 insertions
d the user can make her changes to the replayed commit.
Add tests.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh| 4 ++--
t/t3404-rebase-interactive.sh | 24
t/t3412-rebase-root.sh| 19 +++
3 files changed, 45 insertions(
command output with control sequences. Execute the
`reword` code from `do_next` instead if the option `--edit` is
specified.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 52 ++
1 file changed, 52 insertions(+)
diff --git a/git-rebase
`rewrite_message` and relay the option
--file "$rewrite_message"
to the git-commit command line which creates the commit.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 20 +++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/
replayed. Remove the option.
Since `-C` (in contrast to `-c`) does not invoke the editor and the
`--amend` option invokes it by default, disable editor invocation
again by specifying `--no-edit`.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 2 +-
1 file changed, 1 insertion(+), 1
veals whether there are
conflicts or not and in-depth troubleshooting is still possible using
the `--verbose` option.
Remove the commit message title argument from `do_pick`'s interface,
which has become unused.
Signed-off-by: Fabian Ruch
---
git-rebase--interacti
the to-do list is
edited. Apply the same procedure as in `do_cmd` with the exception
that we only care about where the options stop and the commit hash
begins. Do not reject any options when transforming the commit
hashes.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 49 ++
`. However, `do_pick` does not execute the verification
hooks anyway because it solely replays commits and assumes that they
have been verified before.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 30 ++
1 file changed, 6 insertions(+), 24 deletions(-)
diff
to a new function `do_replay` which
assumes the first argument to be a commit hash and make no more such
assumptions in `do_next`.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 42 --
1 file changed, 28 insertions(+), 14 deletions(-)
diff
authorship of the sentinel commit because
this additional commit is an implementation detail hidden from the
final history. The removed `-q` option was probably introduced as a
copy-and-paste error stemming from that part of the root commit
handling code.
Signed-off-by: Fabian Ruch
---
git-rebase
The test case "--amend option copies authorship" specifies that the
git-commit option `--amend` uses the authorship of the replaced
commit for the new commit. Add the omitted check that this property
actually holds.
Signed-off-by: Fabian Ruch
---
Without the check, the test case suc
Hi Peff,
Jeff King writes:
> On Tue, Jul 29, 2014 at 01:18:00AM +0200, Fabian Ruch wrote:
>> this is a reroll of the patch series that enables rudimentary support
>> of line options for git-rebase's to-do list commands and reimplements
>> the well-known commands `reword
hread.
Your concerns below are of course noted.
Fabian
[1] http://article.gmane.org/gmane.comp.version-control.git/254361
Matthieu Moy writes:
> Fabian Ruch writes:
>> --- a/git-rebase--interactive.sh
>> +++ b/git-rebase--interactive.sh
>> @@
Hi,
Jeff King writes:
> On Tue, Jul 29, 2014 at 01:18:03AM +0200, Fabian Ruch wrote:
>
>> Specify the git-commit option `--no-verify` to disable the pre-commit
>> hook when editing the log message. Because `--no-verify` also skips
>> the commit-msg hook, execute the
Hi,
Jeff King writes:
> On Tue, Jul 29, 2014 at 01:18:07AM +0200, Fabian Ruch wrote:
>> The command line used to recreate root commits specifies the option
>> `-q` which suppresses the commit summary message. However,
>> git-rebase--interactive tends to tell the user
Hi Jeff,
Jeff King writes:
> On Tue, Jul 29, 2014 at 01:18:08AM +0200, Fabian Ruch wrote:
>> The command line used to recreate root commits specifies the
>> effectless option `-C`. It makes git-commit reuse commit message and
>> authorship of the named commit. However, the
squash skips commit-msg hook
- run commit-msg hook for reworded _and_ squashed commits
- a change to 'test_commit' options and 'fake_editor' debug output
Thanks for your time and reviews,
Fabian
Fabian Ruch (23):
rebase -i: allow replaying commits with empty log mes
a
`squash` result.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh| 10 ++
t/t3404-rebase-interactive.sh | 38 ++
t/t3412-rebase-root.sh| 16
3 files changed, 60 insertions(+), 4 deletions(-)
diff --git a/
ts in the
rebased history without notification.
Add tests.
Reported-by: Peter Krefting
Signed-off-by: Fabian Ruch
---
Hi,
Peter Krefting is cc'd as the author of the bug report "Confusing
error message in rebase when commit becomes empty" discussed on the
mailing list in June. Phil Hor
some way but
nothing more and the unchanged to-do list entry would not fail.
Handle `reword` by cherry-picking the named commit and editing the
log message using
git commit --allow-empty --amend
instead of
git commit --amend.
Add test.
Signed-off-by: Fabian Ruch
---
git-r
tion would be to keep track of
the failed hooks in their output so that the user knows which of her
hooks require improvement.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 3 ---
1 file changed, 3 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
ind
-do list before and after applying the
`FAKE_LINES` rewrite rules to it. Redirect this debug output to
stderr so that it does not interfere with the git-rebase status
output. Add test.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh| 9 +
git-rebase.sh | 12
ommit replayed and the
new log message in `$GIT_DIR/COMMIT_EDITMSG`.
Add tests.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh| 2 +-
t/t3404-rebase-interactive.sh | 14 ++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/git-rebase--interactive.sh b/git-r
g
git-tag for easy reference. The `--notag` option skips this step.
Add tests.
Signed-off-by: Fabian Ruch
---
Documentation/git-commit.txt | 8 -
builtin/commit.c | 32 ++---
t/t7503-pre-commit-hook.sh | 65 -
t/t7504-commit-msg-ho
command output with control sequences. Execute the
`reword` code from `do_next` instead if the option `--edit` is
specified.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 43 +++
1 file changed, 43 insertions(+)
diff --git a/git-rebase
conflicts. It is not a mistake to do the initialization regardless of
any conflicts because `amend` is always cleared before the next to-do
item is processed.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 18 +-
1 file changed, 17 insertions(+), 1 deletion(-)
diff
the to-do list is
edited. Apply the same procedure as in `do_cmd` with the exception
that we only care about where the options stop and the commit hash
begins. Do not reject any options when transforming the commit
hashes.
Signed-off-by: Fabian Ruch
---
git-rebase--interactive.sh | 49 ++
1 - 100 of 148 matches
Mail list logo