Hi Christian,

thank you!

Martin

On Dec 5, 4:24 pm, "Christian Hammond" <[EMAIL PROTECTED]> wrote:
> Hi Martin,
>
> We had a patch up on Review Board that needs some changes made, but it also
> solves this issue. I think the author discarded it, though, so I don't know
> where it is anymore....
>
> The change needs to be more generic though and shouldn't apply solely to
> SVN. We also need to do something similar to reviewboard.diffviewer, I
> think.
>
> I'll try to find that discarded review request, because it was mostly
> complete with some exceptions.
>
> Also, in the future, patches should go onhttp://reviews.review-board.org/
>
> Thanks,
>
> Christian
>
> --
> Christian Hammond - [EMAIL PROTECTED]
> VMware, Inc.
>
> On Fri, Dec 5, 2008 at 12:54 PM, Martin <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > imagine a file containing sql code and comments
>
> > foo.sql:
>
> > --This is the comment
> > SELECT * FROM Foo;
>
> > Now you update the comment and create a diff of it:
>
> > diff -up foo2.sql foo.sql
> > --- foo2.sql    2008-12-05 15:50:17.000000000 -0500
> > +++ foo.sql     2008-12-05 15:50:04.000000000 -0500
> > @@ -1,3 +1,3 @@
> > ---This is the new comment
> > +--This is the comment
> >  SELECT * FROM Foo;
>
> > As you can tell, there is the line which removes the old comment and
> > it starts with three dashes.
> > The three dashes are also part of the diff syntax.
>
> > post-review will now exclude the line
> > "---This is the new comment"
> > and the created diff is incomplete.
>
> > I patched post-review. Where do I upload the file?
> > Since it is short, I paste it here.
>
> > You might prefer another solution, but this is what worked for me.
>
> > --- post-review.1       2008-08-25 08:38:45.000000000 -0400
> > +++ post-review 2008-12-05 15:30:25.000000000 -0500
> > @@ -647,6 +647,13 @@ class SVNClient(SCMClient):
>
> >         return ''.join(diff)
>
> > +    def isDiffLine(self, line, minus):
> > +        if minus:
> > +            return line.startswith('---') and line.find('(revision') !
> > = -1
> > +        else:
> > +            return line.startswith('+++') and (line.find('(working
> > copy') != -1 or line.find('(revision') != -1)
> > +
> > +
> >     def handle_renames(self, diff_content):
> >         """
> >         The output of svn diff is incorrect when the file in question
> > came
> > @@ -660,12 +667,12 @@ class SVNClient(SCMClient):
>
> >         from_line = ""
> >         for line in diff_content:
> > -            if line.startswith('---'):
> > +            if self.isDiffLine(line, True):
> >                 from_line = line
> >                 continue
>
> >             # This is where we decide how mangle the previous '---'
> > -            if line.startswith('+++'):
> > +            if self.isDiffLine(line, False):
> >                 to_file, _ = self.parse_filename_header(line[4:])
> >                 info       = self.svn_info(to_file)
> >                 if info.has_key("Copied From URL"):
> > @@ -694,7 +701,7 @@ class SVNClient(SCMClient):
>
> >         for line in diff_content:
> >             front = None
> > -            if line.startswith('+++ ') or line.startswith('--- ') or
> > line.startswith('Index: '):
> > +            if self.isDiffLine(line, True) or self.isDiffLine(line,
> > False) or line.startswith('Index: '):
> >                 front, line = line.split(" ", 1)
>
> >             if front:
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to