Re: [GSoC][PATCH 1/4] rebase: duplicate git-rebase--interactive.sh to git-rebase--preserve-merges.sh

2018-05-22 Thread Alban Gruin
Hi Stefan,

Le 22/05/2018 à 20:26, Stefan Beller a écrit :
> On Tue, May 22, 2018 at 6:31 AM, Alban Gruin  wrote:
>> This duplicates git-rebase--interactive.sh to
>> git-rebase--preserve-merges.sh. This is done to split -p from -i. No
>> modifications are made to this file here, but any code that is not used by -p
>> will be stripped in the next commit.
>>
>> Signed-off-by: Alban Gruin 
> 
> So how would I best review this?
> 
> I applied the patches locally[1], and ran git-ls-tree on this commit
> hoping to find the same blob id for git-rebase--interactive.sh as for
> git-rebase--preserve-merges.sh; however I did not.
> 
> So I diffed them and had the diff below[2], which looks like that has parts
> of Johannes recent series?
> 

Thanks for the heads-up.

I started to work on that patch set on the master branch of git.git, and
I forgot to update git-rebase--preserve-merges.sh after rebasing on
Johannes’ branch.

So I’ll reroll the patch as soon as possible.

> Thanks,
> Stefan
> 




Re: [GSoC][PATCH 1/4] rebase: duplicate git-rebase--interactive.sh to git-rebase--preserve-merges.sh

2018-05-22 Thread Stefan Beller
On Tue, May 22, 2018 at 6:31 AM, Alban Gruin  wrote:
> This duplicates git-rebase--interactive.sh to
> git-rebase--preserve-merges.sh. This is done to split -p from -i. No
> modifications are made to this file here, but any code that is not used by -p
> will be stripped in the next commit.
>
> Signed-off-by: Alban Gruin 

So how would I best review this?

I applied the patches locally[1], and ran git-ls-tree on this commit
hoping to find the same blob id for git-rebase--interactive.sh as for
git-rebase--preserve-merges.sh; however I did not.

So I diffed them and had the diff below[2], which looks like that has parts
of Johannes recent series?

Thanks,
Stefan

[1] After applying I pushed it to
https://github.com/stefanbeller/git/tree/alban_split_off_-p
and this patch is commit 9f64342ea1b64d43e4675b5f202174c9e0f77dbf

[2] $ git diff 
9f64342ea1b64d43e4675b5f202174c9e0f77dbf:git-rebase--preserve-merges.sh
\
9f64342ea1b64d43e4675b5f202174c9e0f77dbf:git-rebase--interactive.sh
diff --git a/git-rebase--preserve-merges.sh b/git-rebase--interactive.sh
index 9947e6265fe..2f4941d0fc9 100644
--- a/git-rebase--preserve-merges.sh
+++ b/git-rebase--interactive.sh
@@ -155,13 +155,19 @@ reschedule_last_action () {
 append_todo_help () {
gettext "
 Commands:
-p, pick = use commit
-r, reword = use commit, but edit the commit message
-e, edit = use commit, but stop for amending
-s, squash = use commit, but meld into previous commit
-f, fixup = like \"squash\", but discard this commit's log message
-x, exec = run command (the rest of the line) using shell
-d, drop = remove commit
+p, pick  = use commit
+r, reword  = use commit, but edit the commit message
+e, edit  = use commit, but stop for amending
+s, squash  = use commit, but meld into previous commit
+f, fixup  = like \"squash\", but discard this commit's log message
+x, exec  = run command (the rest of the line) using shell
+d, drop  = remove commit
+l, label  = label current HEAD with a name
+t, reset  = reset HEAD to a label
+m, merge [-C  | -c ]  [# ]
+.   create a merge commit using the original merge commit's
+.   message (or the oneline, if no original merge commit was
+.   specified). Use -c  to reword the commit message.

 These lines can be re-ordered; they are executed from top to bottom.
 " | git stripspace --comment-lines >>"$todo"
@@ -888,6 +894,8 @@ init_revisions_and_shortrevisions () {
else
revisions=$onto...$orig_head
shortrevisions=$shorthead
+   test -z "$squash_onto" ||
+   echo "$squash_onto" >"$state_dir"/squash-onto
fi
 }

@@ -942,7 +950,7 @@ EOF
die "Could not skip unnecessary pick commands"

checkout_onto
-   if test -z "$rebase_root" && test ! -d "$rewritten"
+   if test ! -d "$rewritten"
then
require_clean_work_tree "rebase"
exec git rebase--helper ${force_rebase:+--no-ff}
$allow_empty_message \
@@ -964,6 +972,8 @@ git_rebase__interactive () {
init_revisions_and_shortrevisions

git rebase--helper --make-script ${keep_empty:+--keep-empty} \
+   ${rebase_merges:+--rebase-merges} \
+   ${rebase_cousins:+--rebase-cousins} \
$revisions ${restrict_revision+^$restrict_revision} >"$todo" ||
die "$(gettext "Could not generate todo list")"