• 
      

    Implement SVNClient.parse_revision_spec and add tests.

    Review Request #5133 — Created Dec. 17, 2013 and submitted — Latest diff uploaded

    Information

    RBTools
    master

    Reviewers

    Implement SVNClient.parse_revision_spec and add tests.

    This implements revision parsing for the SVNClient. Like with the current
    implementation for Git, you can choose to pass zero, one, or two arguments.

    In the case of zero, it returns a special internal string that I'm planning on
    using as a notice for the different 'svn diff' invocation syntax that we have
    to use for diffing the working directory.

    One argument can be either a numeric/symbolic revision, a revision span, or a
    changelist name. If the argument has a : in it, it's split and treated as two
    arguments. If not, we use 'svn log' to determine if it's a real revision, and
    if that fails, 'svn status --cl' to check if it's a changelist. If it's none of
    the above, we raise an exception.

    With two arguments, the two arguments must be revisions of some sort. Like with
    the single argument, we use 'svn log' to turn these into actual numbers.

    Unlike the Git implementation, this is not actually used for the diff
    generation yet.

    Ran unit tests