[PATCH 0/5] rebase: improve the keep-empty

2013-05-28 Thread Felipe Contreras
Hi,

I've been analyzing 'git rebase' and found that the --keep-empty option
triggers a very very different behavior. Here's a bunch of patches that make it
behave like the 'am' does does for the most part.

There's only a few minor changes, after which it might be possible to replace
the whole 'am' mode to use cherr-pick instead.

Felipe Contreras (5):
  rebase: split the cherry-pick stuff
  rebase: fix 'cherry' mode storage
  rebase: fix sequence continuation
  rebase: fix abort of cherry mode
  rebase: fix cherry-pick invocations

 .gitignore|  1 +
 Makefile  |  1 +
 git-rebase--am.sh | 65 ++-
 git-rebase--cherry.sh | 55 +++
 git-rebase.sh |  8 +++
 5 files changed, 93 insertions(+), 37 deletions(-)
 create mode 100644 git-rebase--cherry.sh

-- 
1.8.3.rc3.312.g47657de

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] rebase: improve the keep-empty

2013-05-28 Thread Felipe Contreras
On Tue, May 28, 2013 at 8:29 AM, Felipe Contreras
felipe.contre...@gmail.com wrote:
 Hi,

 I've been analyzing 'git rebase' and found that the --keep-empty option
 triggers a very very different behavior. Here's a bunch of patches that make 
 it
 behave like the 'am' does does for the most part.

 There's only a few minor changes, after which it might be possible to replace
 the whole 'am' mode to use cherr-pick instead.

 Felipe Contreras (5):
   rebase: split the cherry-pick stuff
   rebase: fix 'cherry' mode storage
   rebase: fix sequence continuation
   rebase: fix abort of cherry mode
   rebase: fix cherry-pick invocations

To see the issue, simply enable keep_mode by default, and run the tests:

Test Summary Report
---
./t3401-rebase-partial.sh  (Wstat: 256
Tests: 7 Failed: 4)
  Failed tests:  3, 5-7
  Non-zero exit status: 1
./t3403-rebase-skip.sh (Wstat: 256
Tests: 10 Failed: 3)
  Failed tests:  4-5, 9
  Non-zero exit status: 1
./t3406-rebase-message.sh  (Wstat: 256
Tests: 6 Failed: 3)
  Failed tests:  3-5
  Non-zero exit status: 1
./t3400-rebase.sh  (Wstat: 256
Tests: 27 Failed: 10)
  Failed tests:  13-17, 22-25, 27
  Non-zero exit status: 1
./t3407-rebase-abort.sh(Wstat: 256
Tests: 11 Failed: 5)
  Failed tests:  2-6
  Non-zero exit status: 1
./t3412-rebase-root.sh (Wstat: 256
Tests: 31 Failed: 17)
  Failed tests:  4, 6-8, 10-12, 14-17, 23, 25-26, 28-29
31
  Non-zero exit status: 1
./t3417-rebase-whitespace-fix.sh   (Wstat: 256
Tests: 4 Failed: 4)
  Failed tests:  1-4
  Non-zero exit status: 1
./t3419-rebase-patch-id.sh (Wstat: 256
Tests: 9 Failed: 1)
  Failed test:  4
  Non-zero exit status: 1
./t3418-rebase-continue.sh (Wstat: 256
Tests: 6 Failed: 2)
  Failed tests:  3, 5
  Non-zero exit status: 1
./t5407-post-rewrite-hook.sh   (Wstat: 256
Tests: 13 Failed: 4)
  Failed tests:  4-6, 8
  Non-zero exit status: 1
./t5520-pull.sh(Wstat: 256
Tests: 21 Failed: 8)
  Failed tests:  12-15, 18-21
  Non-zero exit status: 1
./t7512-status-help.sh (Wstat: 256
Tests: 35 Failed: 3)
  Failed tests:  5-6, 28
  Non-zero exit status: 1
./t9106-git-svn-commit-diff-clobber.sh (Wstat: 256
Tests: 10 Failed: 3)
  Failed tests:  6, 9-10
  Non-zero exit status: 1
./t3404-rebase-interactive.sh  (Wstat: 256
Tests: 71 Failed: 2)
  Failed tests:  50, 69
  Non-zero exit status: 1
./t9137-git-svn-dcommit-clobber-series.sh  (Wstat: 256
Tests: 5 Failed: 1)
  Failed test:  4
  Non-zero exit status: 1
./t9140-git-svn-reset.sh   (Wstat: 256
Tests: 6 Failed: 1)
  Failed test:  6
  Non-zero exit status: 1
./t9903-bash-prompt.sh (Wstat: 256
Tests: 51 Failed: 20)
  Failed tests:  27-34, 36-39, 41-42, 45-49, 51
  Non-zero exit status: 1
./t9164-git-svn-dcommit-concurrent.sh  (Wstat: 256
Tests: 8 Failed: 4)
  Failed tests:  4-6, 8
  Non-zero exit status: 1
Files=629, Tests=10036, 308 wallclock secs ( 7.60 usr  1.39 sys +
556.35 cusr 382.46 csys = 947.80 CPU)
Result: FAIL

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] rebase: improve the keep-empty

2013-05-28 Thread Martin von Zweigbergk
Hi,

I think I have some patches at home that instead teach 'git am' the
--keep-empty flag. Does that make sense? It's been a while since I
looked at it, but I'll try to take a look tonight (PST).

Martin

On Tue, May 28, 2013 at 6:29 AM, Felipe Contreras
felipe.contre...@gmail.com wrote:
 Hi,

 I've been analyzing 'git rebase' and found that the --keep-empty option
 triggers a very very different behavior. Here's a bunch of patches that make 
 it
 behave like the 'am' does does for the most part.

 There's only a few minor changes, after which it might be possible to replace
 the whole 'am' mode to use cherr-pick instead.

 Felipe Contreras (5):
   rebase: split the cherry-pick stuff
   rebase: fix 'cherry' mode storage
   rebase: fix sequence continuation
   rebase: fix abort of cherry mode
   rebase: fix cherry-pick invocations

  .gitignore|  1 +
  Makefile  |  1 +
  git-rebase--am.sh | 65 
 ++-
  git-rebase--cherry.sh | 55 +++
  git-rebase.sh |  8 +++
  5 files changed, 93 insertions(+), 37 deletions(-)
  create mode 100644 git-rebase--cherry.sh

 --
 1.8.3.rc3.312.g47657de

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] rebase: improve the keep-empty

2013-05-28 Thread Felipe Contreras
Martin von Zweigbergk wrote:
 I think I have some patches at home that instead teach 'git am' the
 --keep-empty flag. Does that make sense? It's been a while since I
 looked at it, but I'll try to take a look tonight (PST).

I think it does make sense. But I still would prefer 'git rebase' to rely on
'git cherry-pick' primariliy.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html