Menu

#3 pysvn revision checkout not working

1.0
closed
None
2020-03-23
2020-03-20
John Snow
No

When I checkout an older revision using svn cmdline with the @ sign it doesn't work:

$ svn checkout https://svnserver/path/branch@52003
svn:E170000: URL 'https://svnserver/path/branch@52003' doesn't exist

When I checkout a revision using svn with the revision number specified by -r it works:

$ svn checkout https://svnserver/path/branch -r 52003
A branch/file1
A branch/file2
..
..

When I checkout a revision using pysvn, it does not work and appears to be the same functionality as when using svn with the @ sign and throws the URL doesn't exist error:
client.checkout("https://svnserver/path/branch","local_dir",revision=pysvn.Revision(opt_revision_kind.number,52003))
pysvn._pysvn_2_7.ClientError: URL 'https://svnserver/path/branch' doesn't exist

But everything works for the latest revision for a branch. It stops working when going back to older revisions. We need to checkout older revisions through python and this is a bit limitation. Am I missing something?

Thanks again great Scott Barry!

Discussion

  • Barry Alan Scott

    You need to provide the peg_revision=pysvn.Revision(opt_revision_kind.number,52003) so that svn knows where to look for the URL/path.

     

    Last edit: Barry Alan Scott 2020-03-21
  • Barry Alan Scott

    • status: open --> closed
     
  • John Snow

    John Snow - 2020-03-23

    Hi Barry,

    It's working when I'm using unspecified for the peg_revision along with the revision int:

    revision=pysvn.Revision(pysvn.opt_revision_kind.number,int(svn_revision)),
    peg_revision=pysvn.Revision(pysvn.opt_revision_kind.unspecified))
    

    Thanks!

     

Log in to post a comment.

MongoDB Logo MongoDB