Hi Reinhold,

Assuming all review requests will be made against the main repository, what
you want to do is have the Path be the anonymous URL, and then to have the
.reviewboardrc using the name you configure for the repository. This is done
with the REPOSITORY setting:

http://www.reviewboard.org/docs/manual/dev/users/tools/post-review/#repository

So if you have:

    Name: Lilypond
    Path: git://git.sv.gnu.org/lilypond.git

Then .reviewboardrc should contain:

    REPOSITORY = "Lilypond"

It will then compare based on the name, rather than the path of the local
repo.

Now. by default, post-review will create diffs based on the master branch on
the "origin" remote. So, git diff origin/master..my-branch. If your
developers/contributors are using their own upstream repo somewhere as
"origin", they'll need to use --tracking-branch= (which defaults to
"origin/master"), so --tracking-branch=upstream/master or something. If they
cloned your main repo (whether the anonymous or developer URL), they don't
need to do anything special.

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
VMware, Inc. - http://www.vmware.com


On Sat, Aug 6, 2011 at 11:10 AM, Reinhold Kainhofer
<reinh...@kainhofer.com>wrote:

> I'm currently evaluating Reviewboard for use by lilypond, which uses the
> gnu.org GIT server (savannah.gnu.org). Unfortunately, there are different
> git
> URLs for anonymous access and for developers:
>
> The anonymous GIT URL is:
>    git://git.sv.gnu.org/lilypond.git
> The URL used by developers with push access is:
>    ssh://<username>@git.sv.gnu.org/srv/git/lilypond
>
> Now, I have a local clone of the anonymous repo on the server, and I have
> set
> up Reviewboard on my test server with the following repository settings:
>
> Hosting service: Custom
> Repository type: Git
> Path: /home/www/reviewboard.kainhofer.com/lilypond/.git
> Mirror path: git://git.sv.gnu.org/lilypond.git
> Raw file URL mask:
> http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob
> plain;f=<filename>;hb=<revision>
>
> I can't see any way to also specify the path of the developer git access
> here
> (the documentation says that the mirror url should be the origin of the
> local
> clone on the server)...
>
> We need both developers with push access and documentation writers, who
> have
> only an anonymous clone, to work with the Reviewboard.
>
> I have now my local clone (from the developer URL), and if I try to post a
> review, I get the error:
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> reinhold@einstein:~/lilypond/lilypond$ post-review --debug origin/master
> >>> RBTools 0.3.2
> >>> Home = /home/reinhold
> >>> svn info
> >>> git rev-parse --git-dir
> >>> git symbolic-ref -q HEAD
> >>> git config --get branch.master.merge
> >>> git config --get branch.master.remote
> >>> git config remote.origin.url
> >>> repository info: Path: ssh://kainho...@git.sv.gnu.org/srv/git/lilypond
> ,
> Base path: , Supports changesets: False
> >>> HTTP GETting api/
> >>> HTTP GETting http://reviewboard.kainhofer.com/api/info/
> >>> Using the new web API
> >>> git merge-base origin/master refs/heads/master
> >>> git diff --no-color --full-index --no-ext-diff
> 59b2663e3674c9e5ae1193e4da84706fda5de07f..refs/heads/master
> >>> Attempting to create review request on
> ssh://kainho...@git.sv.gnu.org/srv/git/lilypond for None
> >>> HTTP POSTing to http://reviewboard.kainhofer.com/api/review-requests/:
> {'repository': 'ssh://kainho...@git.sv.gnu.org/srv/git/lilypond'}
> >>> Got API Error 206 (HTTP code 400): The repository path specified is not
> in
> the list of known repositories
> >>> Error data: {u'stat': u'fail', u'repository':
> u'ssh://kainho...@git.sv.gnu.org/srv/git/lilypond', u'err': {u'msg': u'The
> repository path specified is not in the list of known repositories',
> u'code':
> 206}}
>
> There was an error creating this review request.
>
> The repository path "ssh://kainho...@git.sv.gnu.org/srv/git/lilypond" is
> not
> in the list of known repositories on the server.
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> That's not surprising, because I couldn't give the developer git URL
> anywhere
> in the repository settings in Reviewboard.
>
> So, how can I set up a repository that will match both the developer git
> repo
> and the anonymous git mirror?
>
> Thanks,
> Reinhold
> --
> ------------------------------------------------------------------
> Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
>  * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
>  * http://www.fam.tuwien.ac.at/, DVR: 0005886
>  * LilyPond, Music typesetting, http://www.lilypond.org
>
> --
> Want to help the Review Board project? Donate today at
> http://www.reviewboard.org/donate/
> Happy user? Let us know at http://www.reviewboard.org/users/
> -~----------~----~----~----~------~----~------~--~---
> To unsubscribe from this group, send email to
> reviewboard+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/reviewboard?hl=en

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~----------~----~----~----~------~----~------~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en

Reply via email to