1251: Review Board and git bare repository
- ThirdParty
- Review Board
hart.*****@gmai***** (Google Code) (Is this you? Claim this profile.) | |
Aug. 3, 2009 |
What version are you running? 1.0.1 What's the URL of the page containing the problem? / What steps will reproduce the problem? 1. In admin frontend, configure a new repository 2. Put the path of a git bare repository (like '/myrepo.git') 3. Connect with an user and try to make a new review request What is the expected output? What do you see instead? It is expected to work !? I don't get it why you need a local checkout (http://www.review-board.org/docs/manual/dev/admin/management/repositories/#git) ?
Git has no concept of individual remote file checkouts from a repository. If you want to fetch a single revision of a single, file, you first need a full checkout (synced regularly, ideally on push) of the entire repository. And that has to be local. Yes, it's annoying, and we've worked really hard to come up with an implementation that used Git's remote protocol to grab one single file, but it's not feasible. We've also talked about automating a clone and keeping it in sync, but decided there are too many interaction problems (we'd need to make it obvious when a repo is ready to use, for example) and doing it behind the admin's back is kinda bad, considering how much space may be needed. What we are planning to do is to allow the user to supply a URL on a gitweb/github/etc site that points to the raw file, given a filename and revision. This would prevent the need for a local tree. We're hoping to do this for 1.1. So, today, a bare repository won't work, and you will need a full clone that's regularly updated. Hope that answers your question.
-
+ ThirdParty
Thanks for the answer. In facts, I'm only interested in reviewing diff files. I don't want Review Board fetches any file in my repository. Is it possible to use Review Board only to views this diff files ? Just post a new review request with a diff, discuss about it, and if it is ok, ship it.
I'm interested in knowing this too. In fact, I'd really appreciate some official guidance on setting up such a system. Bare repositories are the status quo for shared git repositories. It'd really speed along adoptions among git shops to have any kind of instructions on getting the systems to talk. Maybe something as simple as this: bare-repo: post-receive hook -> push -> another, local repo just for RB. This local repo has a pre-receive hook which creates the diff based on the lastest push, calls post-review --guess-description, etc. Ideas? Suggestions?