From: Junio C Hamano Date: Fri, 16 Dec 2016 23:27:50 +0000 (-0800) Subject: Merge branch 'ls/p4-retry-thrice' X-Git-Tag: v2.12.0-rc0~147 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/2a72b69407c5769db1519f82e7a10d98a3ab0352?hp=796bd3bb2ac98e6aa4cb9afccc18c3056f795196 Merge branch 'ls/p4-retry-thrice' * ls/p4-retry-thrice: git-p4: add config to retry p4 commands; retry 3 times by default --- diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt index ce40b9a547..bae862ddcb 100644 --- a/Documentation/git-p4.txt +++ b/Documentation/git-p4.txt @@ -476,6 +476,10 @@ git-p4.client:: Client specified as an option to all p4 commands, with '-c ', including the client spec. +git-p4.retries:: + Specifies the number of times to retry a p4 command (notably, + 'p4 sync') if the network times out. The default value is 3. + Clone and sync variables ~~~~~~~~~~~~~~~~~~~~~~~~ git-p4.syncFromOrigin:: diff --git a/git-p4.py b/git-p4.py index 1d4bfe64e2..13bf44768b 100755 --- a/git-p4.py +++ b/git-p4.py @@ -78,6 +78,11 @@ def p4_build_cmd(cmd): if len(client) > 0: real_cmd += ["-c", client] + retries = gitConfigInt("git-p4.retries") + if retries is None: + # Perform 3 retries by default + retries = 3 + real_cmd += ["-r", str(retries)] if isinstance(cmd,basestring): real_cmd = ' '.join(real_cmd) + ' ' + cmd