Hi,

Path is the path to the file in the repository. If the path in the diff is
always going to be absolute, then you can completely ignore base_path and
just use path. We use base_path for Subversion, where the filenames in the
diff are relative to the current directory rather than the root of the
repository. We then append path to base_path to generate that absolute path.

Christian

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


On Tue, Aug 11, 2009 at 10:54 AM, schuijo <schu...@gmail.com> wrote:

>
> 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