|
|
|
Re: [PATCHv3 2/2] rebase [-i --exec | -ix] <CMD>... | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
|
On 08.06.12 16:53, Lucien Kong wrote:
> This patch provides a way to automatically add these "exec" lines
> between each commit applications. For instance, running 'git rebase -i
> --exec "make test"' lets you check that intermediate commits are
> compilable. It is also compatible with the option --autosquash. At
> this point, you can't use --exec without the interactive mode (-i).
>
> Tests about this new command are also added in
> t3404-rebase-interactive.sh.
> Should now work on MacOS.
Hej,
I'm not sure on which commit to apply the patch.
(may be we shoud improve git format-patch to tell us the original commit ID),
but if I remove the non applying part, it looks like this:
=================
ok 54 - rebase-i history with funny messages
expecting success:
git checkout master &&
git checkout -b execute &&
test_commit one_exec main.txt one_exec &&
test_commit two_exec main.txt two_exec &&
test_commit three_exec main.txt three_exec
Switched to branch 'master'
Switched to a new branch 'execute'
[execute 925b01e] one_exec
Author: A U Thor <author@xxxxxxxxxxx>
1 file changed, 1 insertion(+)
create mode 100644 main.txt
[execute 7f87cbe] two_exec
Author: A U Thor <author@xxxxxxxxxxx>
1 file changed, 1 insertion(+), 1 deletion(-)
[execute f0f177e] three_exec
Author: A U Thor <author@xxxxxxxxxxx>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 55 - prepare for rebase -i --exec
expecting success:
git rebase -i --exec "git show HEAD" HEAD~2 >actual &&
(
FAKE_LINES="1 exec_git_show_HEAD 2 exec_git_show_HEAD" &&
export FAKE_LINES &&
git rebase -i HEAD~2 >expected
) &&
sed 1,9d expected >expect &&
mv expect expected &&
test_cmp expected actual
error: unknown option `exec'
usage: git rebase [-i] [options] [--onto <newbase>] [<upstream>] [<branch>]
or: git rebase [-i] [options] --onto <newbase> --root [<branch>]
or: git-rebase [-i] --continue | --abort | --skip
Available options are
-v, --verbose display a diffstat of what changed upstream
-q, --quiet be quiet. implies --no-stat
--onto ... rebase onto given branch instead of upstream
-p, --preserve-merges
try to recreate merges instead of ignoring them
-s, --strategy ... use the given merge strategy
--no-ff cherry-pick all commits, even if unchanged
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
-k, --keep-empty preserve empty commits during rebase
-f, --force-rebase force rebase even if branch is up to date
-X, --strategy-option ...
pass the argument through to the merge strategy
--stat display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--verify allow pre-rebase hook to run
--rerere-autoupdate allow rerere to update index with resolved conflicts
--root rebase all reachable commits up to the root(s)
--autosquash move commits that begin with squash!/fixup! under -i
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
--whitespace ... passed to 'git apply'
--ignore-whitespace passed to 'git apply'
-C ... passed to 'git apply'
Actions:
--continue continue
--abort abort and check out the original branch
--skip skip current patch and continue
not ok - 56 running "git rebase -i --exec git show HEAD"
#
# git rebase -i --exec "git show HEAD" HEAD~2 >actual &&
# (
# FAKE_LINES="1 exec_git_show_HEAD 2 exec_git_show_HEAD" &&
# export FAKE_LINES &&
# git rebase -i HEAD~2 >expected
# ) &&
# sed 1,9d expected >expect &&
# mv expect expected &&
# test_cmp expected actual
#
expecting success:
git reset --hard execute &&
git rebase --exec "git show HEAD" -i HEAD~2 >actual &&
(
FAKE_LINES="1 exec_git_show_HEAD 2 exec_git_show_HEAD" &&
export FAKE_LINES &&
git rebase -i HEAD~2 >expected
) &&
sed 1,9d expected >expect &&
mv expect expected &&
test_cmp expected actual
HEAD is now at f0f177e three_exec
error: unknown option `exec'
usage: git rebase [-i] [options] [--onto <newbase>] [<upstream>] [<branch>]
or: git rebase [-i] [options] --onto <newbase> --root [<branch>]
or: git-rebase [-i] --continue | --abort | --skip
Available options are
-v, --verbose display a diffstat of what changed upstream
-q, --quiet be quiet. implies --no-stat
--onto ... rebase onto given branch instead of upstream
-p, --preserve-merges
try to recreate merges instead of ignoring them
-s, --strategy ... use the given merge strategy
--no-ff cherry-pick all commits, even if unchanged
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
-k, --keep-empty preserve empty commits during rebase
-f, --force-rebase force rebase even if branch is up to date
-X, --strategy-option ...
pass the argument through to the merge strategy
--stat display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--verify allow pre-rebase hook to run
--rerere-autoupdate allow rerere to update index with resolved conflicts
--root rebase all reachable commits up to the root(s)
--autosquash move commits that begin with squash!/fixup! under -i
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
--whitespace ... passed to 'git apply'
--ignore-whitespace passed to 'git apply'
-C ... passed to 'git apply'
Actions:
--continue continue
--abort abort and check out the original branch
--skip skip current patch and continue
not ok - 57 running "git rebase --exec git show HEAD -i"
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Newbies FAQ] [Linux Kernel Development] [Free Online Dating] [Gcc Help] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [V4L] [Bugtraq] [Free Online Dating] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [Fedora Users] [Linux Resources]