git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 00/12] git p4: submit conflict handling
@ 2012-09-09 20:16 Pete Wyckoff
  2012-09-09 20:16 ` [PATCHv2 01/12] git p4 test: remove bash-ism of combined export/assignment Pete Wyckoff
                   ` (11 more replies)
  0 siblings, 12 replies; 22+ messages in thread
From: Pete Wyckoff @ 2012-09-09 20:16 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Luke Diamand, Johannes Sixt

Changes from v1, due to review from Luke and Hannes:

    * Drop the patch to suppress of p4d log messages, it is
      sometimes useful to watch.

    * Fix extra line before shebang in t9815.  (Thanks Hannes.)

    * Use "skip", not "continue" in the prompt about what to
      do next, just like before this series.

    * Automate the interactive prompt when a submit conflict
      is detected, with "git p4 submit --conflict=skip" or
      config variable git-p4.conflict.

    This does not try to fix the rebase path.  It adds the
    auto-skip during the submit phase, but changes are needed
    in rebase to understand that skips happened.  One approach
    is to skip the rebase, and just reset HEAD.

    Luke:  You have a patch for git-p4.skipConflictingChanges
    that I think might work with --conflict=skip or git-p4.skip.
    With this series, logging already happens in submit, so you
    might just quietly say "git rebase --skip".  Let me know
    if you think this is a good approach, so that this series
    can go in, and you can handle the rebase part.

    Version 1 of this series:

	http://thread.gmane.org/gmane.comp.version-control.git/203570

    Blurb (edited) from v1 follows.

These patches rework how git p4 deals with conflicts that
arise during a "git p4 submit".  These may arise due to
changes that happened in p4 since the last "git p4 sync".

The part that needs the most attention is the interaction
loop that happens when a commit failed.  Currently, three
options are offered:

    [s]kip this commit, but continue to apply others
    [a]pply the commit forcefully, generating .rej files
    [w]rite the commit to a patch.txt file
    and the implicit <ctrl-c> to stop

After this series, it offers two:

    [s]kip this commit but apply the rest
    [q]uit to stop

Other observable changes are new command-line options:

Alias -v for --verbose, similar to other git commands.

The --dry-run option addresses Luke's concern in

    http://thread.gmane.org/gmane.comp.version-control.git/201004/focus=201022

when I removed an unused "self.interactive" variable
that did a similar thing if you edited the code.  It prints
commits that would be applied to p4.

Option --prepare-p4-only is similar to --dry-run, in that
it does not submit anything to p4, but it does prepare the
p4 workspace, then prints long instructions about how to submit
everything properly.  It also serves, perhaps, as a replacement for
the [a]pply option in the submit-conflict loop.

Option --conflict=skip (new in v2) automates the prompt
handling when conflicts happen.


Pete Wyckoff (12):
  git p4 test: remove bash-ism of combined export/assignment
  git p4: gracefully fail if some commits could not be applied
  git p4: remove submit failure options [a]pply and [w]rite
  git p4: move conflict prompt into run, add [q]uit input
  git p4: standardize submit cancel due to unchanged template
  git p4: test clean-up after failed submit, fix added files
  git p4: rearrange submit template construction
  git p4: revert deleted files after submit cancel
  git p4: accept -v for --verbose
  git p4: add submit --dry-run option
  git p4: add submit --prepare-p4-only option
  git-p4: add submit --conflict option and config varaiable

 Documentation/git-p4.txt           |  24 ++-
 git-p4.py                          | 239 ++++++++++++++++-----
 t/lib-git-p4.sh                    |   7 +-
 t/t9805-git-p4-skip-submit-edit.sh |   2 +-
 t/t9807-git-p4-submit.sh           |  65 ++++++
 t/t9810-git-p4-rcs.sh              |  50 +----
 t/t9815-git-p4-submit-fail.sh      | 429 +++++++++++++++++++++++++++++++++++++
 7 files changed, 709 insertions(+), 107 deletions(-)
 create mode 100755 t/t9815-git-p4-submit-fail.sh

-- 
1.7.12.rc2.111.g96f7c73

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2012-09-17  8:15 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-09 20:16 [PATCHv2 00/12] git p4: submit conflict handling Pete Wyckoff
2012-09-09 20:16 ` [PATCHv2 01/12] git p4 test: remove bash-ism of combined export/assignment Pete Wyckoff
2012-09-15 21:25   ` Luke Diamand
2012-09-16  6:05     ` Junio C Hamano
2012-09-16  9:38       ` Luke Diamand
2012-09-17  4:50         ` Junio C Hamano
2012-09-17  8:13           ` Luke Diamand
2012-09-09 20:16 ` [PATCHv2 02/12] git p4: gracefully fail if some commits could not be applied Pete Wyckoff
2012-09-15 21:48   ` Luke Diamand
2012-09-09 20:16 ` [PATCHv2 03/12] git p4: remove submit failure options [a]pply and [w]rite Pete Wyckoff
2012-09-15 21:52   ` Luke Diamand
2012-09-09 20:16 ` [PATCHv2 04/12] git p4: move conflict prompt into run, add [q]uit input Pete Wyckoff
2012-09-15 21:56   ` Luke Diamand
2012-09-09 20:16 ` [PATCHv2 05/12] git p4: standardize submit cancel due to unchanged template Pete Wyckoff
2012-09-15 21:58   ` Luke Diamand
2012-09-09 20:16 ` [PATCHv2 06/12] git p4: test clean-up after failed submit, fix added files Pete Wyckoff
2012-09-09 20:16 ` [PATCHv2 07/12] git p4: rearrange submit template construction Pete Wyckoff
2012-09-09 20:16 ` [PATCHv2 08/12] git p4: revert deleted files after submit cancel Pete Wyckoff
2012-09-09 20:16 ` [PATCHv2 09/12] git p4: accept -v for --verbose Pete Wyckoff
2012-09-09 20:16 ` [PATCHv2 10/12] git p4: add submit --dry-run option Pete Wyckoff
2012-09-09 20:16 ` [PATCHv2 11/12] git p4: add submit --prepare-p4-only option Pete Wyckoff
2012-09-09 20:16 ` [PATCHv2 12/12] git-p4: add submit --conflict option and config varaiable Pete Wyckoff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).