WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 148437
159067
prepare-ChangeLog lists methods that were not modified when deleting other methods
https://bugs.webkit.org/show_bug.cgi?id=159067
Summary
prepare-ChangeLog lists methods that were not modified when deleting other me...
David Kilzer (:ddkilzer)
Reported
2016-06-23 12:16:21 PDT
In the patch for
Bug 158819
(
Attachment #281464
[details]
), many methods are listed in the ChangeLog as having been modified when they were not. This appears to be a bug in prepare-ChangeLog that occurs when an adjacent method is deleted in full. See also:
Bug 144829
: prepare-ChangeLog lists renamed functions and methods as having been deleted
Bug 148437
: prepare-ChangeLog lists modified methods as having been deleted
Attachments
Add attachment
proposed patch, testcase, etc.
David Kilzer (:ddkilzer)
Comment 1
2016-06-23 15:17:02 PDT
Also, this issue appears to only happen on Subversion repositories. When I applied the patch in
Bug 158819
(
Attachment #281464
[details]
) on a git-svn repository at
r202384
, then ran prepare-ChangeLog, I didn't get the extraneous functions listed in the commit log.
Alexey Proskuryakov
Comment 2
2016-06-23 19:30:47 PDT
Related to this, we may want to consider using a better diff tool in svn-create-patch and in webkit-patch. There must be something written in a scripting language, so that it doesn't need compiling.
Alexey Proskuryakov
Comment 3
2016-06-23 19:32:09 PDT
Some interesting options mentioned in discussion here:
https://news.ycombinator.com/item?id=11915287
David Kilzer (:ddkilzer)
Comment 4
2016-06-24 09:46:16 PDT
(In reply to
comment #1
)
> Also, this issue appears to only happen on Subversion repositories. When I > applied the patch in
Bug 158819
(
Attachment #281464
[details]
) on a git-svn > repository at
r202384
, then ran prepare-ChangeLog, I didn't get the > extraneous functions listed in the commit log.
I have an untested hypothesis: What could be happening is that when prepare-ChangeLog tries to grab the "pristine" (unmodified) source to determine the line ranges for functions (to compare to the local modified copy), it's actually grabbing the trunk (-rHEAD) from the svn server, where line numbers have shifted since the local working copy's revision, and that causes prepare-ChangeLog to list methods that weren't actually changed. If this is the case, then we just need to check how prepare-ChangeLog is grating the pristine source version, and make sure it's grabbing the pristine source relative to the local working copy (not to trunk on the svn server).
Daniel Bates
Comment 5
2016-08-16 18:24:13 PDT
(In reply to
comment #1
)
> Also, this issue appears to only happen on Subversion repositories. When I > applied the patch in
Bug 158819
(
Attachment #281464
[details]
) on a git-svn > repository at
r202384
, then ran prepare-ChangeLog, I didn't get the > extraneous functions listed in the commit log.
Notice that prepare-ChangeLog's function overlap logic of assumes a unified diff with 0 lines of context. When using a Git checkout, prepare-ChangeLog generates such a diff by <
https://trac.webkit.org/browser/trunk/Tools/Scripts/prepare-ChangeLog?rev=204544#L1973
>. But when using a Subversion checkout, prepare-ChangeLog generates a unified diff with 3 lines of context per the default behavior of svn diff and by <
https://trac.webkit.org/browser/trunk/Tools/Scripts/prepare-ChangeLog?rev=204544#L1970
>.
Daniel Bates
Comment 6
2016-08-16 18:26:14 PDT
*** This bug has been marked as a duplicate of
bug 148437
***
Aakash Jain
Comment 7
2016-08-16 18:39:10 PDT
This issue doesn't look Duplicate of 148437 to me.
Bug 148437
list modified methods incorrectly (as deleted), but this bug is about methods which were not at all modified. I hit this issue almost every single time while running prepare-ChangeLog (even when I do not delete any method). prepare-ChangeLog creates a lot more entries then the functions I modify. Usually all the nearby functions from the function which I modify are listed by prepare-ChangeLog as modified. Probably your logic about "unified diff with 3 lines of context" might explain it.
Daniel Bates
Comment 8
2016-08-16 19:44:37 PDT
(In reply to
comment #7
)
> This issue doesn't look Duplicate of 148437 to me.
Bug 148437
list modified > methods incorrectly (as deleted), but this bug is about methods which were > not at all modified. > > I hit this issue almost every single time while running prepare-ChangeLog > (even when I do not delete any method). prepare-ChangeLog creates a lot more > entries then the functions I modify. Usually all the nearby functions from > the function which I modify are listed by prepare-ChangeLog as modified. > Probably your logic about "unified diff with 3 lines of context" might > explain it.
I suspect that the root cause of both this bug and
bug #148437
are the same. Therefore, I duped this bug to
bug #148437
. *** This bug has been marked as a duplicate of
bug 148437
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug