git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Miguel Torroja <miguel.torroja@gmail.com>
To: Luke Diamand <luke@diamand.org>, Git Users <git@vger.kernel.org>,
	Junio C Hamano <gitster@pobox.com>
Cc: Lars Schneider <larsxschneider@gmail.com>,
	Miguel Torroja <miguel.torroja@gmail.com>
Subject: [PATCH 3/3] git-p4: filter for {'code':'info'} in p4CmdList
Date: Thu, 13 Jul 2017 09:00:35 +0200	[thread overview]
Message-ID: <20170713070035.12731-3-miguel.torroja@gmail.com> (raw)
In-Reply-To: <20170713070035.12731-1-miguel.torroja@gmail.com>

The function p4CmdList accepts a new argument: skip_info. When set to
True it ignores any 'code':'info' entry (skip_info=False by default).

That allows us to fix some of the tests in t9831-git-p4-triggers.sh
known to be broken with verobse p4 triggers

Signed-off-by: Miguel Torroja <miguel.torroja@gmail.com>
---
 git-p4.py                  | 9 ++++++---
 t/t9831-git-p4-triggers.sh | 4 ++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/git-p4.py b/git-p4.py
index e3a2791e0..2fa581789 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -313,7 +313,7 @@ def p4_move(src, dest):
     p4_system(["move", "-k", wildcard_encode(src), wildcard_encode(dest)])
 
 def p4_last_change():
-    results = p4CmdList(["changes", "-m", "1"])
+    results = p4CmdList(["changes", "-m", "1"], skip_info=True)
     return int(results[0]['change'])
 
 def p4_describe(change):
@@ -321,7 +321,7 @@ def p4_describe(change):
        the presence of field "time".  Return a dict of the
        results."""
 
-    ds = p4CmdList(["describe", "-s", str(change)])
+    ds = p4CmdList(["describe", "-s", str(change)], skip_info=True)
     if len(ds) != 1:
         die("p4 describe -s %d did not return 1 result: %s" % (change, str(ds)))
 
@@ -509,7 +509,7 @@ def isModeExec(mode):
 def isModeExecChanged(src_mode, dst_mode):
     return isModeExec(src_mode) != isModeExec(dst_mode)
 
-def p4CmdList(cmd, stdin=None, stdin_mode='w+b', cb=None):
+def p4CmdList(cmd, stdin=None, stdin_mode='w+b', cb=None, skip_info=False):
 
     if isinstance(cmd,basestring):
         cmd = "-G " + cmd
@@ -545,6 +545,9 @@ def p4CmdList(cmd, stdin=None, stdin_mode='w+b', cb=None):
     try:
         while True:
             entry = marshal.load(p4.stdout)
+            if skip_info:
+                if 'code' in entry and entry['code'] == 'info':
+                    continue
             if cb is not None:
                 cb(entry)
             else:
diff --git a/t/t9831-git-p4-triggers.sh b/t/t9831-git-p4-triggers.sh
index 871544b1c..bbcf14c66 100755
--- a/t/t9831-git-p4-triggers.sh
+++ b/t/t9831-git-p4-triggers.sh
@@ -20,7 +20,7 @@ test_expect_success 'init depot' '
 	)
 '
 
-test_expect_failure 'clone with extra info lines from verbose p4 trigger' '
+test_expect_success 'clone with extra info lines from verbose p4 trigger' '
 	test_when_finished cleanup_git &&
 	(
 		p4 triggers -i <<-EOF
@@ -38,7 +38,7 @@ test_expect_failure 'clone with extra info lines from verbose p4 trigger' '
 	)
 '
 
-test_expect_failure 'import with extra info lines from verbose p4 trigger' '
+test_expect_success 'import with extra info lines from verbose p4 trigger' '
 	test_when_finished cleanup_git &&
 	(
 		cd "$cli" &&
-- 
2.11.0


  parent reply	other threads:[~2017-07-13  7:01 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-20 12:19 [PATCH] git-p4: changelist template with p4 -G change -o Miguel Torroja
2017-06-22 17:32 ` Junio C Hamano
2017-06-24 11:49   ` Luke Diamand
2017-06-24 12:38     ` miguel torroja
2017-06-24 17:36     ` Lars Schneider
     [not found]       ` <CAKYtbVbGekXGAyPd7HeLot_MdZkp7-1Ss-iAi7o8ze2b+sNB6Q@mail.gmail.com>
2017-06-27  9:20         ` miguel torroja
2017-06-27 19:17           ` [PATCH] git-p4: parse marshal output "p4 -G" in p4 changes Miguel Torroja
2017-06-28  4:08             ` Junio C Hamano
2017-06-28  9:54               ` Luke Diamand
2017-06-28 13:14                 ` miguel torroja
     [not found]                   ` <CAE5ih7-x45MD1H6Ahr5oCVtTjgbBkeP4GbKCGB-Cwk6BSQwTcw@mail.gmail.com>
2017-06-29 22:41                     ` miguel torroja
2017-06-30  7:56                       ` Luke Diamand
2017-06-30  8:22                         ` miguel torroja
2017-06-29 22:46                     ` Miguel Torroja
2017-06-30  8:26                       ` Lars Schneider
2017-06-30  9:41                         ` Miguel Torroja
2017-06-30 10:13                           ` Lars Schneider
2017-06-30 16:02                             ` Miguel Torroja
2017-07-03 22:53                               ` Miguel Torroja
2017-07-03 22:57                             ` Miguel Torroja
2017-07-11  8:35                               ` Luke Diamand
2017-07-11 22:35                                 ` Miguel Torroja
2017-07-11 22:53                                 ` Miguel Torroja
2017-07-12  8:25                                   ` Luke Diamand
2017-07-12 10:16                                     ` Miguel Torroja
2017-07-12 17:13                                       ` Junio C Hamano
2017-07-13  7:00                                         ` [PATCH 1/3] git-p4: git-p4 tests with p4 triggers Miguel Torroja
2017-07-13  7:00                                           ` [PATCH 2/3] git-p4: parse marshal output "p4 -G" in p4 changes Miguel Torroja
2017-07-13  7:00                                           ` Miguel Torroja [this message]
2017-07-13  7:12                                         ` [PATCH] " Miguel Torroja
2017-07-13 19:30                                           ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170713070035.12731-3-miguel.torroja@gmail.com \
    --to=miguel.torroja@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=larsxschneider@gmail.com \
    --cc=luke@diamand.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).