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 email@example.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 -~----------~----~----~----~------~----~------~--~---