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". 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@xxxxxxxxx> 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": -- 1.7.6.347.g4db0d -- Alex Linden Levy Senior Software Engineer MobiTV, Inc. 6425 Christie Avenue, 5th Floor, Emeryville, CA 94608 phone 510.450.5190 mobile 720.352.8394 email alevy@xxxxxxxxxx web www.mobitv.com
Attachment:
signature.asc
Description: This is a digitally signed message part