1719: post-review should support subversion changelists.

phil.co*******@gmai***** (Google Code) (Is this you? Claim this profile.)
Dec. 17, 2013
http://reviews.reviewboard.org/


What version are you running? 1.0.5.1 


What's the URL of the page this enhancement relates to, if any?


Describe the enhancement and the motivation for it.

Subversion v1.5 and above support "changelists" for associating files. This is supported in the "svn diff" command with "--changelist" option. It should be supported by post-review to allow the user to post a new review with the diffs from only those files identified by a provided changelist name. This would make the post-review tool much more useful in a subversion environment.



What operating system are you using? What browser? Mac OS X, Safari


Please provide any additional information below.
#1 joed****@gmai***** (Google Code) (Is this you? Claim this profile.)
I made this change to help a friend out recently, which reuses the --label feature. This allows the normal usage of manually listing files to diff to continue to work, and offers an alternate path. 

It is used like this:

post-review --label name_of_svn_changelist

Seems to work great! Hope this helps someone.
  • +
    --- /root/postreview.py	2011-02-02 15:08:14.286463467 -0800
    +++ postreview.py	2011-02-02 15:10:06.486419350 -0800
    @@ -1199,6 +1199,13 @@
             return (self.do_diff(["svn", "diff", "--diff-cmd=diff"] + files),
                     None)
     
    +    def diff_label(self, label):
    +        """
    +        Performs a diff for a single local changelist.
    +        """
    +        return (self.do_diff(["svn", "diff", "--changelist", label]),
    +                None)
    +
         def diff_between_revisions(self, revision_range, args, repository_info):
             """
             Performs a diff between 2 revisions of a Subversion repository.
    @@ -2829,7 +2836,7 @@
             diff = tool.diff_between_revisions(options.revision_range, args,
                                                repository_info)
             parent_diff = None
    -    elif options.label and isinstance(tool, ClearCaseClient):
    +    elif options.label and (isinstance(tool, ClearCaseClient) or isinstance(tool, SVNClient)):
             diff, parent
david
#2 david
  • +Component-RBTools
david
#3 david
This has been fixed for a while. This is currently handled with the --svn-changelist option, though that will be changing: https://reviewboard.hackpad.com/RBTools-Diff-Behavior-gRwNAvl3SzJ
  • +Fixed