Well, I got past the P4PASSWD issue and then began getting the error
"The current directory does not contain a checkout from a supported
source code repository." After much digging, I found that the error
is actually wrong.
The PerforceClient's "def_repository_info" function checks for a P4
if not check_install('p4 help'):
data = execute(["p4", "info"], ignore_errors=True)
If "p4" cannot be found for "p4 help", it returns None, and the
calling function assumes that a repository wasn't found, not that P4
couldn't be found. As it turns out, the service running this script
is changing the PATH and post-review cannot find P4, so this check
fails. More specifically, this is running from Hudson, and a recent
upgrade of the app changed how environment variables cascaded to child
processes, so when Hudson was upgraded, the PATH environment variables
weren't propagated, and post-review couldn't find P4.
I'd like to suggest that this "if" check actually throw an exception,
and not simply returns None. Thoughts?
On Aug 26, 1:47 am, Christian Hammond <chip...@chipx86.com> wrote:
> I think it's definitely reasonable to have a parameter for this.
> The perforce.py mentioned above would be for Review Board. With post-review,
> you'd be looking for postreview.py in rbtools.
> What I'd advise is to check out a copy of rbtools from Git and add a
> --p4-ticket parameter. It shouldn't be too hard. You can see how the other
> options work (which are defined near the bottom of the file), and make use
> of the passed option to pass the right thing to p4. I don't know about the
> ticketing stuff well enough to know what needs to be passed or set. If you
> can get it working, though, I'll commit a patch so you won't have to
> maintain a fork for too long.
> Christian Hammond - chip...@chipx86.com
> Review Board -http://www.reviewboard.org
> VMware, Inc. -http://www.vmware.com
> On Wed, Aug 25, 2010 at 4:46 PM, RShelley <12gaugeme...@gmail.com> wrote:
> > Dana, that sums it up pretty well. My problem is that the post-commit
> > command isn't being run by the user, it's run from a script on another
> > box (so it's not using P4V). "p4 login" is called first to attempt to
> > login and obtain a ticket and then I can use the ticket for future
> > commands, but post-review doesn't accept a ticket parameter and p4
> > isn't taking it from the environment. If I could pass it to post-
> > review with the rest of the p4 properties, it'd be splendid.
> > On Aug 25, 3:04 pm, "Dana Lacoste" <dlaco...@aperio.com> wrote:
> > > So, to summarize in case someone is searching through these archives
> > > later:
> > > Perforce, when security is turned on (this is a p4d server setting) will
> > > have different restrictions on what can and can't be done with the
> > > password on the CLIENT (i.e. you can't necessarily simply set an
> > > environment variable and run with it. For reference, see the P4
> > > SysAdmin Guide athttp://
> > > 081537 )
> > > User RShelley is running into issues with this and is having difficulty.
> > >http://reviews.reviewboard.org/r/1537/diff/hasa patch (which was
> > > discarded) which "handles" this situation for user tag_98007work.
> > > But, if you're on Windows (or potentially in some other environments),
> > > you're quite possibly using a .egg/.exe "compiled" version of Review
> > > Board and therefore it may be difficult to implement patches to the .py
> > > Python source. If you use the interpreted version, then you can apply
> > > the patch and things might work for you (if your environment is like
> > > that of user tag_98007work )
> > > Does that seem to sum things up OK?
> > > Note that I don't see any of the problems described here, but I had to
> > > do the following to get post-review to work for everyone:
> > > 1 - Everyone has to have the following environment set: P4PORT, P4USER,
> > > P4CLIENT (NOT P4PASSWD!)
> > > 2 - Everyone has to be running P4V when they run post-review (I actually
> > > added it as a tool to P4V so the users can right click on any changelist
> > > and hit "submit to reviewboard" and nobody needs to use a command
> > > line/shell command at all)
> > > With perforce 2009.2/2010.1 this works fine with no problems : the
> > > ticket from P4V is visible to the p4 command line (called from
> > > post-review) and everything's fine (this is using latest RBTools
> > > installed with the command "easy_install -U RBTools" and review board
> > > 1.5 beta 2)
> > > Dana Lacoste
> > > -----Original Message-----
> > > From: firstname.lastname@example.org [mailto:reviewbo...@googlegroups.com]
> > > On Behalf Of RShelley
> > > Sent: Wednesday, August 25, 2010 1:37 PM
> > > To: reviewboard
> > > Subject: Re: post-review and P4PASSWD
> > > My head hurts... Perforce consistently gives me reasons to not like
> > > it... Git can't come soon enough.
> > > Thanks for trying, I appreciate it!
> > --
> > Want to help the Review Board project? Donate today at
> > Happy user? Let us know athttp://www.reviewboard.org/users/
> > -~----------~----~----~----~------~----~------~--~---
> > To unsubscribe from this group, send email to
> > reviewboard+unsubscr...@googlegroups.com<reviewboard%2bunsubscr...@googlegr
> > oups.com>
> > For more options, visit this group at
Want to help the Review Board project? Donate today at
Happy user? Let us know at http://www.reviewboard.org/users/
To unsubscribe from this group, send email to
For more options, visit this group at