Re: Sourcegear Vault

2009-11-08 Thread schuijo

Sorry Lynn, I haven't checked the posting here in a while.  I did have
it working, but not what I would call well.  The Vault CLI is
extremely slow when it needs to login to the Vault server, and it does
this once for each file in the review.  I wanted to create a method of
logging into the Vault server on first contact and retain that
connection.  I was trying to integrate a test .Net utility with
(something I found for Python, which name is escaping me now) when
what little free-time I had evaporated.  I'm hopeful I'll be able to
return to this project early next year.

John


On Oct 28, 1:26 pm, Lynn Roth lynnr...@gmail.com wrote:
 John,
 Were you ever able to get Review Board working well with Vault?

 Thanks,
 Lynn

 On Tue, Aug 18, 2009 at 3:47 PM, Christian Hammond chip...@chipx86.comwrote:



  We won't support Review Board running on IronPython. That's a no-go.
  However, a utility program for communicating with the server could be
  written using IronPython (or whatever) and Review Board can execute that,
  much like we do with git and p4.

  Christian

  --
  Christian Hammond - chip...@chipx86.com

  Review Board -http://www.review-board.org
  VMware, Inc. -http://www.vmware.com

  On Tue, Aug 18, 2009 at 12:14 PM, schuijo schu...@gmail.com wrote:

  Any chance Review-Board will work with IronPython?  (yes, the Vault
  libraries are .NET)

  On Aug 18, 11:01 am, schuijo schu...@gmail.com wrote:
   Christian,

   It does, but requires a login first.  It has a SOAP interface defined,
   but SourceGear highly recommends NOT using it.

   I have a Python question for you (sorry, until a couple weeks ago I
   never even heard of Python ;-)

   It seems the (time-wise) expensive steps in this Vault integration are
   the Java VM for the Java client, and the login step each time the CLC
   is called.  I'm thinking that creating some form of a DLL interface
   that will stay logged into Vault would greatly improve our response
   times.  Does Python have support for DLL integration?  COM?

   Thanks!

   On Aug 17, 1:23 pm, Christian Hammond chip...@chipx86.com wrote:

Hi John,

Yeah, that seems a bit expensive, slow, and unscalable...

Does Vault happen to have built-in support for looking at raw files
  from a
web page, given a filename and revision? If so, it can take advantage
  of the
new raw URL field I'm adding for Git.

If not, we'll need to figure out a solution that doesn't require Java.

Christian

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

On Mon, Aug 17, 2009 at 8:31 AM, schuijo schu...@gmail.com wrote:

 Thanks Christian, that seemed to be the case.

 Just a note to anyone attempting to integrate with Sourcegear's
  Vault:
 I originally attempted to use their Java CLC for portability, but
  each
 file in the review needed to contact the Vault server twice and each
 contact would (re)spawn the Java VM which was very expensive time
 wise.  I'm currently testing the system with the Win32 CLC and it is
 slow, but usable.  I'm considering looking into the possiblity of
 batching the contacts to the Vault server...time permitting.

 Thanks again for all your help Christian!!
 John

 On Aug 12, 7:21 pm, Christian Hammond chip...@chipx86.com wrote:
  Hi,

  It's possible that when you use the cache function, it's returning
  cached data from some older, broken attempt. If you reenable the
  caching and then fully clear the cache and try again, does it
  work?

  Christian

  On Wednesday, August 12, 2009, schuijo schu...@gmail.com wrote:

   More:

   I traced the source of that parameter to get_original_file() in
   diffutils.py.  When I bypass the cache lookup and just return
  the
   result of the fetch_file() sub-function I can display diffs
  properly,
   although response is very slow as expected.  Any ideas where I
  should
   look to determine why the cache contents would be wrong?  (I do
  have
   the memcached server installed)

   Thanks!

   On Aug 12, 5:54 pm, schuijo schu...@gmail.com wrote:
   I think I am very close now, but I have a problem in
  diffutils.py.
   The second parameter in the parse() function (file I believe)
  contains
   some invalid data, where does this get populated?

   Thanks!

   On Aug 11, 2:29 pm, Christian Hammond chip...@chipx86.com
  wrote:

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.


Re: Sourcegear Vault

2009-10-28 Thread Lynn Roth
John,
Were you ever able to get Review Board working well with Vault?

Thanks,
Lynn


On Tue, Aug 18, 2009 at 3:47 PM, Christian Hammond chip...@chipx86.comwrote:

 We won't support Review Board running on IronPython. That's a no-go.
 However, a utility program for communicating with the server could be
 written using IronPython (or whatever) and Review Board can execute that,
 much like we do with git and p4.

 Christian

 --
 Christian Hammond - chip...@chipx86.com

 Review Board - http://www.review-board.org
 VMware, Inc. - http://www.vmware.com


 On Tue, Aug 18, 2009 at 12:14 PM, schuijo schu...@gmail.com wrote:


 Any chance Review-Board will work with IronPython?  (yes, the Vault
 libraries are .NET)



 On Aug 18, 11:01 am, schuijo schu...@gmail.com wrote:
  Christian,
 
  It does, but requires a login first.  It has a SOAP interface defined,
  but SourceGear highly recommends NOT using it.
 
  I have a Python question for you (sorry, until a couple weeks ago I
  never even heard of Python ;-)
 
  It seems the (time-wise) expensive steps in this Vault integration are
  the Java VM for the Java client, and the login step each time the CLC
  is called.  I'm thinking that creating some form of a DLL interface
  that will stay logged into Vault would greatly improve our response
  times.  Does Python have support for DLL integration?  COM?
 
  Thanks!
 
  On Aug 17, 1:23 pm, Christian Hammond chip...@chipx86.com wrote:
 
 
 
   Hi John,
 
   Yeah, that seems a bit expensive, slow, and unscalable...
 
   Does Vault happen to have built-in support for looking at raw files
 from a
   web page, given a filename and revision? If so, it can take advantage
 of the
   new raw URL field I'm adding for Git.
 
   If not, we'll need to figure out a solution that doesn't require Java.
 
   Christian
 
   --
   Christian Hammond - chip...@chipx86.com
   Review Board -http://www.review-board.org
   VMware, Inc. -http://www.vmware.com
 
   On Mon, Aug 17, 2009 at 8:31 AM, schuijo schu...@gmail.com wrote:
 
Thanks Christian, that seemed to be the case.
 
Just a note to anyone attempting to integrate with Sourcegear's
 Vault:
I originally attempted to use their Java CLC for portability, but
 each
file in the review needed to contact the Vault server twice and each
contact would (re)spawn the Java VM which was very expensive time
wise.  I'm currently testing the system with the Win32 CLC and it is
slow, but usable.  I'm considering looking into the possiblity of
batching the contacts to the Vault server...time permitting.
 
Thanks again for all your help Christian!!
John
 
On Aug 12, 7:21 pm, Christian Hammond chip...@chipx86.com wrote:
 Hi,
 
 It's possible that when you use the cache function, it's returning
 cached data from some older, broken attempt. If you reenable the
 caching and then fully clear the cache and try again, does it
 work?
 
 Christian
 
 On Wednesday, August 12, 2009, schuijo schu...@gmail.com wrote:
 
  More:
 
  I traced the source of that parameter to get_original_file() in
  diffutils.py.  When I bypass the cache lookup and just return
 the
  result of the fetch_file() sub-function I can display diffs
 properly,
  although response is very slow as expected.  Any ideas where I
 should
  look to determine why the cache contents would be wrong?  (I do
 have
  the memcached server installed)
 
  Thanks!
 
  On Aug 12, 5:54 pm, schuijo schu...@gmail.com wrote:
  I think I am very close now, but I have a problem in
 diffutils.py.
  The second parameter in the parse() function (file I believe)
 contains
  some invalid data, where does this get populated?
 
  Thanks!
 
  On Aug 11, 2:29 pm, Christian Hammond chip...@chipx86.com
 wrote:
 
   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 

Re: Sourcegear Vault

2009-08-18 Thread schuijo

Christian,

It does, but requires a login first.  It has a SOAP interface defined,
but SourceGear highly recommends NOT using it.

I have a Python question for you (sorry, until a couple weeks ago I
never even heard of Python ;-)

It seems the (time-wise) expensive steps in this Vault integration are
the Java VM for the Java client, and the login step each time the CLC
is called.  I'm thinking that creating some form of a DLL interface
that will stay logged into Vault would greatly improve our response
times.  Does Python have support for DLL integration?  COM?

Thanks!


On Aug 17, 1:23 pm, Christian Hammond chip...@chipx86.com wrote:
 Hi John,

 Yeah, that seems a bit expensive, slow, and unscalable...

 Does Vault happen to have built-in support for looking at raw files from a
 web page, given a filename and revision? If so, it can take advantage of the
 new raw URL field I'm adding for Git.

 If not, we'll need to figure out a solution that doesn't require Java.

 Christian

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



 On Mon, Aug 17, 2009 at 8:31 AM, schuijo schu...@gmail.com wrote:

  Thanks Christian, that seemed to be the case.

  Just a note to anyone attempting to integrate with Sourcegear's Vault:
  I originally attempted to use their Java CLC for portability, but each
  file in the review needed to contact the Vault server twice and each
  contact would (re)spawn the Java VM which was very expensive time
  wise.  I'm currently testing the system with the Win32 CLC and it is
  slow, but usable.  I'm considering looking into the possiblity of
  batching the contacts to the Vault server...time permitting.

  Thanks again for all your help Christian!!
  John

  On Aug 12, 7:21 pm, Christian Hammond chip...@chipx86.com wrote:
   Hi,

   It's possible that when you use the cache function, it's returning
   cached data from some older, broken attempt. If you reenable the
   caching and then fully clear the cache and try again, does it work?

   Christian

   On Wednesday, August 12, 2009, schuijo schu...@gmail.com wrote:

More:

I traced the source of that parameter to get_original_file() in
diffutils.py.  When I bypass the cache lookup and just return the
result of the fetch_file() sub-function I can display diffs properly,
although response is very slow as expected.  Any ideas where I should
look to determine why the cache contents would be wrong?  (I do have
the memcached server installed)

Thanks!

On Aug 12, 5:54 pm, schuijo schu...@gmail.com wrote:
I think I am very close now, but I have a problem in diffutils.py.
The second parameter in the parse() function (file I believe) contains
some invalid data, where does this get populated?

Thanks!

On Aug 11, 2:29 pm, Christian Hammond chip...@chipx86.com wrote:

 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 

Re: Sourcegear Vault

2009-08-18 Thread Christian Hammond
We won't support Review Board running on IronPython. That's a no-go.
However, a utility program for communicating with the server could be
written using IronPython (or whatever) and Review Board can execute that,
much like we do with git and p4.

Christian

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


On Tue, Aug 18, 2009 at 12:14 PM, schuijo schu...@gmail.com wrote:


 Any chance Review-Board will work with IronPython?  (yes, the Vault
 libraries are .NET)



 On Aug 18, 11:01 am, schuijo schu...@gmail.com wrote:
  Christian,
 
  It does, but requires a login first.  It has a SOAP interface defined,
  but SourceGear highly recommends NOT using it.
 
  I have a Python question for you (sorry, until a couple weeks ago I
  never even heard of Python ;-)
 
  It seems the (time-wise) expensive steps in this Vault integration are
  the Java VM for the Java client, and the login step each time the CLC
  is called.  I'm thinking that creating some form of a DLL interface
  that will stay logged into Vault would greatly improve our response
  times.  Does Python have support for DLL integration?  COM?
 
  Thanks!
 
  On Aug 17, 1:23 pm, Christian Hammond chip...@chipx86.com wrote:
 
 
 
   Hi John,
 
   Yeah, that seems a bit expensive, slow, and unscalable...
 
   Does Vault happen to have built-in support for looking at raw files
 from a
   web page, given a filename and revision? If so, it can take advantage
 of the
   new raw URL field I'm adding for Git.
 
   If not, we'll need to figure out a solution that doesn't require Java.
 
   Christian
 
   --
   Christian Hammond - chip...@chipx86.com
   Review Board -http://www.review-board.org
   VMware, Inc. -http://www.vmware.com
 
   On Mon, Aug 17, 2009 at 8:31 AM, schuijo schu...@gmail.com wrote:
 
Thanks Christian, that seemed to be the case.
 
Just a note to anyone attempting to integrate with Sourcegear's
 Vault:
I originally attempted to use their Java CLC for portability, but
 each
file in the review needed to contact the Vault server twice and each
contact would (re)spawn the Java VM which was very expensive time
wise.  I'm currently testing the system with the Win32 CLC and it is
slow, but usable.  I'm considering looking into the possiblity of
batching the contacts to the Vault server...time permitting.
 
Thanks again for all your help Christian!!
John
 
On Aug 12, 7:21 pm, Christian Hammond chip...@chipx86.com wrote:
 Hi,
 
 It's possible that when you use the cache function, it's returning
 cached data from some older, broken attempt. If you reenable the
 caching and then fully clear the cache and try again, does it work?
 
 Christian
 
 On Wednesday, August 12, 2009, schuijo schu...@gmail.com wrote:
 
  More:
 
  I traced the source of that parameter to get_original_file() in
  diffutils.py.  When I bypass the cache lookup and just return the
  result of the fetch_file() sub-function I can display diffs
 properly,
  although response is very slow as expected.  Any ideas where I
 should
  look to determine why the cache contents would be wrong?  (I do
 have
  the memcached server installed)
 
  Thanks!
 
  On Aug 12, 5:54 pm, schuijo schu...@gmail.com wrote:
  I think I am very close now, but I have a problem in
 diffutils.py.
  The second parameter in the parse() function (file I believe)
 contains
  some invalid data, where does this get populated?
 
  Thanks!
 
  On Aug 11, 2:29 pm, Christian Hammond chip...@chipx86.com
 wrote:
 
   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)
 
  

Re: Sourcegear Vault

2009-08-17 Thread Christian Hammond
Hi John,

Yeah, that seems a bit expensive, slow, and unscalable...

Does Vault happen to have built-in support for looking at raw files from a
web page, given a filename and revision? If so, it can take advantage of the
new raw URL field I'm adding for Git.

If not, we'll need to figure out a solution that doesn't require Java.

Christian

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


On Mon, Aug 17, 2009 at 8:31 AM, schuijo schu...@gmail.com wrote:


 Thanks Christian, that seemed to be the case.

 Just a note to anyone attempting to integrate with Sourcegear's Vault:
 I originally attempted to use their Java CLC for portability, but each
 file in the review needed to contact the Vault server twice and each
 contact would (re)spawn the Java VM which was very expensive time
 wise.  I'm currently testing the system with the Win32 CLC and it is
 slow, but usable.  I'm considering looking into the possiblity of
 batching the contacts to the Vault server...time permitting.

 Thanks again for all your help Christian!!
 John


 On Aug 12, 7:21 pm, Christian Hammond chip...@chipx86.com wrote:
  Hi,
 
  It's possible that when you use the cache function, it's returning
  cached data from some older, broken attempt. If you reenable the
  caching and then fully clear the cache and try again, does it work?
 
  Christian
 
 
 
 
 
  On Wednesday, August 12, 2009, schuijo schu...@gmail.com wrote:
 
   More:
 
   I traced the source of that parameter to get_original_file() in
   diffutils.py.  When I bypass the cache lookup and just return the
   result of the fetch_file() sub-function I can display diffs properly,
   although response is very slow as expected.  Any ideas where I should
   look to determine why the cache contents would be wrong?  (I do have
   the memcached server installed)
 
   Thanks!
 
   On Aug 12, 5:54 pm, schuijo schu...@gmail.com wrote:
   I think I am very close now, but I have a problem in diffutils.py.
   The second parameter in the parse() function (file I believe) contains
   some invalid data, where does this get populated?
 
   Thanks!
 
   On Aug 11, 2:29 pm, Christian Hammond chip...@chipx86.com wrote:
 
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
  

Re: Sourcegear Vault

2009-08-12 Thread schuijo

More:

I traced the source of that parameter to get_original_file() in
diffutils.py.  When I bypass the cache lookup and just return the
result of the fetch_file() sub-function I can display diffs properly,
although response is very slow as expected.  Any ideas where I should
look to determine why the cache contents would be wrong?  (I do have
the memcached server installed)

Thanks!

On Aug 12, 5:54 pm, schuijo schu...@gmail.com wrote:
 I think I am very close now, but I have a problem in diffutils.py.
 The second parameter in the parse() function (file I believe) contains
 some invalid data, where does this get populated?

 Thanks!

 On Aug 11, 2:29 pm, Christian Hammond chip...@chipx86.com wrote:



  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

 

Re: Sourcegear Vault

2009-08-12 Thread Christian Hammond

Hi,

It's possible that when you use the cache function, it's returning
cached data from some older, broken attempt. If you reenable the
caching and then fully clear the cache and try again, does it work?

Christian

On Wednesday, August 12, 2009, schuijo schu...@gmail.com wrote:

 More:

 I traced the source of that parameter to get_original_file() in
 diffutils.py.  When I bypass the cache lookup and just return the
 result of the fetch_file() sub-function I can display diffs properly,
 although response is very slow as expected.  Any ideas where I should
 look to determine why the cache contents would be wrong?  (I do have
 the memcached server installed)

 Thanks!

 On Aug 12, 5:54 pm, schuijo schu...@gmail.com wrote:
 I think I am very close now, but I have a problem in diffutils.py.
 The second parameter in the parse() function (file I believe) contains
 some invalid data, where does this get populated?

 Thanks!

 On Aug 11, 2:29 pm, Christian Hammond chip...@chipx86.com wrote:



  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.


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

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



Re: Sourcegear Vault

2009-08-11 Thread schuijo

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



Re: Sourcegear Vault

2009-08-11 Thread Christian Hammond
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
-~--~~~~--~~--~--~---



Re: Sourcegear Vault

2009-07-28 Thread Christian Hammond
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
-~--~~~~--~~--~--~---



Re: Sourcegear Vault

2009-07-28 Thread schuijo

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



Re: Sourcegear Vault

2009-07-28 Thread Christian Hammond
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
-~--~~~~--~~--~--~---



Re: SourceGear Vault/Fortress

2009-06-13 Thread Christian Hammond
Hi Lynn,

To my knowledge, nobody has. Someone would have to work on this and submit a
patch (which isn't a huge amount of work, so long as there's a command-line
tool or Python API for communicating with SourceGear).

Christian

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


On Fri, May 29, 2009 at 6:24 AM, lynnroth lynnr...@gmail.com wrote:


 Has anyone integrated Review Board with SourceGear's Vault or Fortress
 SCM products?  http://sourcegear.com


 Thanks
 Lynn
 


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