Christian,

Ok...I think I've severely bitten off more than I can chew, but I'm
trying to forge my way through this.  I've been modifying post-review
to add Vault support, and appear to have it working to the point where
it seems to be attempting to contact the Vault server while uploading
the diff.  The point I'm a little lost/confused on is how to represent
Vault in the RepositoryInfo class.  What exactly are path and
base_path and how are they used?  (hopefully this will help me to
determine what need to be populated in there for Vault)

Thanks!


On Jul 28, 4:05 pm, Christian Hammond <chip...@chipx86.com> wrote:
> There are some threads on the mailing list about doing this, but they're not
> exactly step-by-step tutorials. The best reference right now is the
> scmtools/*.py files.
>
> Basically, you'll create a subclass of SCMTool that does the following:
>
> 1) Grabs a file from a repository, given a file path and revision.
> 2) Provide a DiffParser subclass that handles pulling out filenames and
> revisions and any other necessary data from a diff (most of the code for all
> this is common, so you just hook into things -- see the other files for
> examples).
> 3) If Vault has a concept of server-side changesets (you register a
> changeset with a description, and other data, and the server always knows
> what you have checked out on the client) then you'll need to implement
> get_changeset().
>
> So the general model is that this code will have three classes:
>
> 1) VaultTool
> 2) VaultDiffParser
> 3) VaultClient
>
> VaultTool will be a subclass of SCMTool and will be what Review Board talks
> to.
>
> VaultDiffParser will be a subclass of DiffParser and will override functions
> to parse revision info out of a diff.
>
> VaultClient will be a wrapper around the command line tool, which
> VaultClient will talk to.
>
> Now, let's talk diffs. Many revision control systems provide tools that
> generate diffs unsuitable for Review Board, and sometimes we have to work
> around them. If vault's tool generates a diff containing revision
> information for a file that can be used to pull data from the repository,
> then we're good. If not, you'll need to implement this in post-review.
> Basically, generate a custom diff, or post-process the generated diff, to
> stuff revision information in. Then VaultDiffParser will parse that out.
> You'll see this done for Perforce and many others in post-review.
>
> Christian
>
> --
> Christian Hammond - chip...@chipx86.com
> Review Board -http://www.review-board.org
> VMware, Inc. -http://www.vmware.com
>
>
>
> On Tue, Jul 28, 2009 at 1:42 PM, schuijo <schu...@gmail.com> wrote:
>
> > I couldn't locate a Python API for Vault, but they do have a command
> > line tool.  Is there a document or thread detailing how to implement
> > the interface?
>
> > Thanks!
>
> > On Jul 28, 3:00 pm, Christian Hammond <chip...@chipx86.com> wrote:
> > > Not to my knowledge. Some have talked about wanting it, but I don't know
> > if
> > > anyone's working on it. If you'd like to work on it, we'll provide
> > guidance.
>
> > > The only real requirement is that there's a command line tool or Python
> > API
> > > for grabbing a file from a remote server. Everything else can be done by
> > us.
> > > It does help, though, if the tool/API can generate a suitable diff, or at
> > > least one we can post-process.
>
> > > Christian
>
> > > --
> > > Christian Hammond - chip...@chipx86.com
> > > Review Board -http://www.review-board.org
> > > VMware, Inc. -http://www.vmware.com
>
> > > On Tue, Jul 28, 2009 at 12:12 PM, schuijo <schu...@gmail.com> wrote:
>
> > > > Is anyone working on support for Sourcegear's Vault?
>
> > > > Thanks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To post to this group, send email to reviewboard@googlegroups.com
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