Re: git-p4.skipSubmitEdit
- From
Luke Diamand <luke@diamand.org>
- Date
- Sep 12, 2011, 07:34 UTC
- Message-ID
- <4E6DB5F0.7080303@diamand.org>
- In-Reply-To
- <1315514452.10046.0.camel@uncle-pecos>
On 08/09/11 21:40, L. A. Linden Levy wrote:
Show 12 quoted lines
> Hi All, > > I have been using git-p4 for a while and it has allowed me to completely > change the way I develop and still be able to use perforce which my > company has for its main VCS. One thing that was driving me nuts was > that "git p4 submit" cycles through all of my individual commits and > asks me if I want to change them. The way I develop I often am checking > in 20 to 50 different small commits each with a descriptive git comment. > I felt like I was doing double duty by having emacs open on every commit > into perforce. So I modified git-p4 to have an option to skip the > editor. This option coupled with git-p4.skipSubmitEditCheck will make > the submission non-interactive for "git p4 submit".
Sorry - I've not had a chance to look at this before now. But a couple of comments:
- Is there a line wrap problem in the patch? It doesn't seem to want to apply for me.
- needs an update to the documentation in git-p4.txt
- is there any way to eliminate the slightly ugly "if/pass/else/do-stuff" construct?
- I'd think if you turned off the editor completely then there's no point doing the submit-edit-check.
- You probably need to follow the instructions in Documentation/SubmittingPatches so that Junio will pay attention to the patch.
Regards! Luke
Show 56 quoted lines
>
> Below are the patch and environment results:
>
>
> $ git config -l
> ...
> user.name=Loren A. Linden Levy
> git-p4.skipsubmitedit=true
> git-p4.skipsubmiteditcheck=true
> ...
>
> $ git format-patch origin/master --stdout
>
> From 16c4344de0047cbaf3381eca590a3e59b0d0a25c Mon Sep 17 00:00:00 2001
> From: "Loren A. Linden Levy"<lindenle@gmail.com>
> Date: Thu, 8 Sep 2011 13:37:22 -0700
> Subject: [PATCH] changed git-p4
>
> ---
> contrib/fast-import/git-p4 | 15 ++++++++++-----
> 1 files changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
> index 2f7b270..a438b3e 100755
> --- a/contrib/fast-import/git-p4
> +++ b/contrib/fast-import/git-p4
> @@ -935,18 +935,23 @@ class P4Submit(Command, P4UserMap):
> tmpFile.write(submitTemplate + separatorLine + diff +
> newdiff)
> tmpFile.close()
> mtime = os.stat(fileName).st_mtime
> - if os.environ.has_key("P4EDITOR"):
> - editor = os.environ.get("P4EDITOR")
> + if gitConfig("git-p4.skipSubmitEdit") == "true":
> + pass
> else:
> - editor = read_pipe("git var GIT_EDITOR").strip()
> - system(editor + " " + fileName)
> -
> + if os.environ.has_key("P4EDITOR"):
> + editor = os.environ.get("P4EDITOR")
> + else:
> + editor = read_pipe("git var GIT_EDITOR").strip()
> +
> + system(editor + " " + fileName)
> +
> if gitConfig("git-p4.skipSubmitEditCheck") == "true":
> checkModTime = False
> else:
> checkModTime = True
>
> response = "y"
> +
> if checkModTime and (os.stat(fileName).st_mtime<= mtime):
> response = "x"
> while response != "y" and response != "n":