4864: rbt setup-repo fails due to IPv6 ServerAddress returned in p4 info

henryd

What version are you running?

1.0.2

What steps will reproduce the problem?

  1. connect to perforce using ipv4 address
  2. setup Repository on ReviewBoard using ipv4 address
  3. rbt login
  4. rbt setup-repo

What is the expected output? What do you see instead?

expected that rbt setup-repo finds the ReviewBoard repo via the p4 connection address and creates ".reviewboardrc"

What operating system are you using?

Windows10

Attach the debug out from the command.

N:\<#WorkspaceRoot#>>rbt setup-repo --debug
>>> RBTools 1.0.2
>>> Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:22:17) [MSC v.1500 32 bit (Intel)]
>>> Running on Windows-10-10.0.18362
>>> Home = <HomeDir>
>>> Current directory = N:\<#WorkspaceRoot#>
>>> Command line: rbt setup-repo --debug
>>> Running: tf vc help
>>> Checking for a Subversion repository...
>>> Unable to execute "svn help": skipping SVN
>>> Checking for a Git repository...
>>> Unable to execute "git --help" or "git.cmd --help": skipping Git
>>> Checking for a Mercurial repository...
>>> Unable to execute "hg --help": skipping Mercurial
>>> Checking for a CVS repository...
>>> Unable to execute "cvs": skipping CVS
>>> Checking for a Perforce repository...
>>> Running: p4 info
>>> Running: diff --version
>>> Repository info: Path: <#PerforceServer IPV6 Address#>, Base path: None, Supports changesets: True
>>> Checking for a Plastic repository...
>>> Unable to execute "cm version": skipping Plastic
>>> Checking for a ClearCase repository...
>>> Unable to execute "cleartool help": skipping ClearCase
>>> Checking for a Bazaar repository...
>>> Unable to execute "bzr help": skipping Bazaar
>>> Checking for a Team Foundation Server repository...
>>> Unable to execute "tf help": skipping TFS
>>> Making HTTP GET request to http://192.168.1.81/api/
>>> Making HTTP GET request to http://192.168.1.81/api/repositories/
>>> Cached response for HTTP GET http://192.168.1.81/api/repositories/ expired and was modified
No Perforce repository found or selected for 192.168.1.81. .reviewboardrc not created.

Please provide any additional information below.

<#PerforceServer IPV6 Address#> is the perforce server returning IPV6 address even thoug P4PORT connects via an IPV4 address, the mismatch casues rbt setup-repo to fail. In order to fix this I modified the python scripts to additionally lok for the address in P4PORT returned by the command "p4 set"
The modified python scripts are attached in my

#1 henryd

search for p4setpath in the supplied .egg, I hacked on a seperate variable to carry the P4PORT address - which is obviously not the correct way to implement this as it touches an object common to all repos but it proves the concept / fix of using P4PORT instead of / as well as "p4 info" "Server address".