{"thread":{"id":"28706","subject":"[PATCH] Git-p4: Add \"git p4 change\" command.","startedAt":"2011-10-17T22:18:57Z","lastAt":"2011-10-17T22:21:22Z","messageCount":2,"participants":["Andrei Warkentin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"177899","messageId":"1318889937-17693-1-git-send-email-andreiw@vmware.com","threadId":"28706","inReplyTo":null,"subject":"[PATCH] Git-p4: Add \"git p4 change\" command.","fromName":"Andrei Warkentin","fromEmail":"andreiw@vmware.com","sentAt":"2011-10-17T22:18:57Z","receivedAt":"2011-10-17T22:18:57Z","isPatch":true,"sender":{"key":"andreiw@vmware.com","avatar":null},"body":"Many users of p4/sd use changelists for review, regression\ntests and batch builds.\n\n\"p4 change\" is almost equivalent to \"p4 submit\", yet will\njust create the changelist and not submit it.\n\nSigned-off-by: Andrei Warkentin <andreiw@vmware.com>\n---\n contrib/fast-import/git-p4 |   23 ++++++++++++++++++-----\n 1 files changed, 18 insertions(+), 5 deletions(-)\n\ndiff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4\nindex 2f7b270..dd084b9 100755\n--- a/contrib/fast-import/git-p4\n+++ b/contrib/fast-import/git-p4\n@@ -950,7 +950,10 @@ class P4Submit(Command, P4UserMap):\n             if checkModTime and (os.stat(fileName).st_mtime <= mtime):\n                 response = \"x\"\n                 while response != \"y\" and response != \"n\":\n-                    response = raw_input(\"Submit template unchanged. Submit anyway? [y]es, [n]o (skip this patch) \")\n+                    if (self.cmdname == \"change\"):\n+                        response = raw_input(\"Change template unchanged. Create changelist anyway? [y]es, [n]o (skip this patch) \")\n+                    else:\n+                        response = raw_input(\"Submit template unchanged. Submit anyway? [y]es, [n]o (skip this patch) \")\n \n             if response == \"y\":\n                 tmpFile = open(fileName, \"rb\")\n@@ -959,7 +962,10 @@ class P4Submit(Command, P4UserMap):\n                 submitTemplate = message[:message.index(separatorLine)]\n                 if self.isWindows:\n                     submitTemplate = submitTemplate.replace(\"\\r\\n\", \"\\n\")\n-                p4_write_pipe(\"submit -i\", submitTemplate)\n+                if (self.cmdname == \"change\"):\n+                    p4_write_pipe(\"change -i\", submitTemplate)\n+                else:\n+                    p4_write_pipe(\"submit -i\", submitTemplate)\n \n                 if self.preserveUser:\n                     if p4User:\n@@ -981,9 +987,14 @@ class P4Submit(Command, P4UserMap):\n             file = open(fileName, \"w+\")\n             file.write(self.prepareLogMessage(template, logMessage))\n             file.close()\n-            print (\"Perforce submit template written as %s. \"\n-                   + \"Please review/edit and then use p4 submit -i < %s to submit directly!\"\n-                   % (fileName, fileName))\n+            if (self.cmdname == \"change\"):\n+                print (\"Perforce change template written as %s. \"\n+                       + \"Please review/edit and then use p4 change -i < %s to submit directly!\"\n+                       % (fileName, fileName))\n+            else:\n+                print (\"Perforce submit template written as %s. \"\n+                       + \"Please review/edit and then use p4 submit -i < %s to submit directly!\"\n+                       % (fileName, fileName))\n \n     def run(self, args):\n         if len(args) == 0:\n@@ -2177,6 +2188,7 @@ commands = {\n     \"debug\" : P4Debug,\n     \"submit\" : P4Submit,\n     \"commit\" : P4Submit,\n+    \"change\" : P4Submit,\n     \"sync\" : P4Sync,\n     \"rebase\" : P4Rebase,\n     \"clone\" : P4Clone,\n@@ -2202,6 +2214,7 @@ def main():\n         sys.exit(2)\n \n     options = cmd.options\n+    cmd.cmdname = cmdName\n     cmd.gitdir = os.environ.get(\"GIT_DIR\", None)\n \n     args = sys.argv[2:]\n-- \n1.7.4.1\n"},{"id":"177901","messageId":"1615625330.26778.1318890082820.JavaMail.root@zimbra-prod-mbox-2.vmware.com","threadId":"28706","inReplyTo":"1318889937-17693-1-git-send-email-andreiw@vmware.com","subject":"Re: [PATCH] Git-p4: Add \"git p4 change\" command.","fromName":"Andrei Warkentin","fromEmail":"awarkentin@vmware.com","sentAt":"2011-10-17T22:21:22Z","receivedAt":"2011-10-17T22:21:22Z","isPatch":true,"sender":{"key":"awarkentin@vmware.com","avatar":null},"body":"----- Original Message -----\n> From: \"Andrei Warkentin\" <andreiw@vmware.com>\n> To: git@vger.kernel.org, gitster@pobox.com\n> Cc: \"Andrei Warkentin\" <andreiw@vmware.com>\n> Sent: Monday, October 17, 2011 6:18:57 PM\n> Subject: [PATCH] Git-p4: Add \"git p4 change\" command.\n> \n> Many users of p4/sd use changelists for review, regression\n> tests and batch builds.\n> \n> \"p4 change\" is almost equivalent to \"p4 submit\", yet will\n> just create the changelist and not submit it.\n> \n> Signed-off-by: Andrei Warkentin <andreiw@vmware.com>\n> ---\n>  contrib/fast-import/git-p4 |   23 ++++++++++++++++++-----\n>  1 files changed, 18 insertions(+), 5 deletions(-)\n> \n> diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4\n> index 2f7b270..dd084b9 100755\n> --- a/contrib/fast-import/git-p4\n> +++ b/contrib/fast-import/git-p4\n> @@ -950,7 +950,10 @@ class P4Submit(Command, P4UserMap):\n>              if checkModTime and (os.stat(fileName).st_mtime <=\n>              mtime):\n>                  response = \"x\"\n>                  while response != \"y\" and response != \"n\":\n> -                    response = raw_input(\"Submit template unchanged.\n> Submit anyway? [y]es, [n]o (skip this patch) \")\n> +                    if (self.cmdname == \"change\"):\n> +                        response = raw_input(\"Change template\n> unchanged. Create changelist anyway? [y]es, [n]o (skip this patch)\n> \")\n> +                    else:\n> +                        response = raw_input(\"Submit template\n> unchanged. Submit anyway? [y]es, [n]o (skip this patch) \")\n>  \n>              if response == \"y\":\n>                  tmpFile = open(fileName, \"rb\")\n> @@ -959,7 +962,10 @@ class P4Submit(Command, P4UserMap):\n>                  submitTemplate =\n>                  message[:message.index(separatorLine)]\n>                  if self.isWindows:\n>                      submitTemplate = submitTemplate.replace(\"\\r\\n\",\n>                      \"\\n\")\n> -                p4_write_pipe(\"submit -i\", submitTemplate)\n> +                if (self.cmdname == \"change\"):\n> +                    p4_write_pipe(\"change -i\", submitTemplate)\n> +                else:\n> +                    p4_write_pipe(\"submit -i\", submitTemplate)\n>  \n>                  if self.preserveUser:\n>                      if p4User:\n> @@ -981,9 +987,14 @@ class P4Submit(Command, P4UserMap):\n>              file = open(fileName, \"w+\")\n>              file.write(self.prepareLogMessage(template, logMessage))\n>              file.close()\n> -            print (\"Perforce submit template written as %s. \"\n> -                   + \"Please review/edit and then use p4 submit -i <\n> %s to submit directly!\"\n> -                   % (fileName, fileName))\n> +            if (self.cmdname == \"change\"):\n> +                print (\"Perforce change template written as %s. \"\n> +                       + \"Please review/edit and then use p4 change\n> -i < %s to submit directly!\"\n> +                       % (fileName, fileName))\n> +            else:\n> +                print (\"Perforce submit template written as %s. \"\n> +                       + \"Please review/edit and then use p4 submit\n> -i < %s to submit directly!\"\n> +                       % (fileName, fileName))\n>  \n>      def run(self, args):\n>          if len(args) == 0:\n> @@ -2177,6 +2188,7 @@ commands = {\n>      \"debug\" : P4Debug,\n>      \"submit\" : P4Submit,\n>      \"commit\" : P4Submit,\n> +    \"change\" : P4Submit,\n>      \"sync\" : P4Sync,\n>      \"rebase\" : P4Rebase,\n>      \"clone\" : P4Clone,\n> @@ -2202,6 +2214,7 @@ def main():\n>          sys.exit(2)\n>  \n>      options = cmd.options\n> +    cmd.cmdname = cmdName\n>      cmd.gitdir = os.environ.get(\"GIT_DIR\", None)\n>  \n>      args = sys.argv[2:]\n> --\n> 1.7.4.1\n> \n\nThis is the change I would like to have reviewed.\n\nSorry again for the spam.\n\nA\n"}]}