Title: [275635] trunk/Tools
- Revision
- 275635
- Author
- jbed...@apple.com
- Date
- 2021-04-07 15:25:20 -0700 (Wed, 07 Apr 2021)
Log Message
[webkitscmpy] Handle multiple double-branch commits
https://bugs.webkit.org/show_bug.cgi?id=224251
<rdar://problem/76288547>
Reviewed by Dewei Zhu.
There are a few cases, namely on the safari-607-branch, where some commits where made both
on trunk and on a branch. In one notable case, two sequential commits were made this way.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._cache_revisions): Handle multiple double-branch commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._cache_revisions): Handle multiple double-branch commits.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (275634 => 275635)
--- trunk/Tools/ChangeLog 2021-04-07 22:18:03 UTC (rev 275634)
+++ trunk/Tools/ChangeLog 2021-04-07 22:25:20 UTC (rev 275635)
@@ -1,3 +1,21 @@
+2021-04-07 Jonathan Bedard <jbed...@apple.com>
+
+ [webkitscmpy] Handle multiple double-branch commits
+ https://bugs.webkit.org/show_bug.cgi?id=224251
+ <rdar://problem/76288547>
+
+ Reviewed by Dewei Zhu.
+
+ There are a few cases, namely on the safari-607-branch, where some commits where made both
+ on trunk and on a branch. In one notable case, two sequential commits were made this way.
+
+ * Scripts/libraries/webkitscmpy/setup.py: Bump version.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
+ (Svn._cache_revisions): Handle multiple double-branch commits.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
+ (Svn._cache_revisions): Handle multiple double-branch commits.
+
2021-04-07 Aakash Jain <aakash_j...@apple.com>
commit-queue should perform git reset --hard between retry attempts
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (275634 => 275635)
--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-04-07 22:18:03 UTC (rev 275634)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-04-07 22:25:20 UTC (rev 275635)
@@ -29,7 +29,7 @@
setup(
name='webkitscmpy',
- version='0.13.8',
+ version='0.13.9',
description='Library designed to interact with git and svn repositories.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (275634 => 275635)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-04-07 22:18:03 UTC (rev 275634)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-04-07 22:25:20 UTC (rev 275635)
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(0, 13, 8)
+version = Version(0, 13, 9)
AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
AutoInstall.register(Package('monotonic', Version(1, 5)))
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py (275634 => 275635)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py 2021-04-07 22:18:03 UTC (rev 275634)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py 2021-04-07 22:25:20 UTC (rev 275635)
@@ -165,7 +165,7 @@
if log.poll():
raise self.Exception("Failed to construct branch history for '{}'".format(branch))
- was_last_on_default = False
+ default_count = 0
line = log.stdout.readline()
while line:
match = self.LOG_RE.match(line)
@@ -181,11 +181,12 @@
break
if not is_default_branch:
if revision in self._metadata_cache[self.default_branch]:
- if was_last_on_default:
+ # Only handle 2 sequential cross-branch commits
+ if default_count > 2:
break
- was_last_on_default = True
+ default_count += 1
else:
- was_last_on_default = False
+ default_count = 0
self._metadata_cache[branch].insert(pos, revision)
line = log.stdout.readline()
finally:
@@ -192,6 +193,8 @@
if log:
log.kill()
+ if default_count:
+ self._metadata_cache[branch] = self._metadata_cache[branch][default_count - 1:]
if self._metadata_cache[self.default_branch][0] == [0]:
self._metadata_cache['identifier'] = len(self._metadata_cache[branch])
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py (275634 => 275635)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py 2021-04-07 22:18:03 UTC (rev 275634)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py 2021-04-07 22:25:20 UTC (rev 275635)
@@ -242,7 +242,7 @@
if response.status_code != 200:
raise self.Exception("Failed to construct branch history for '{}'".format(branch))
- was_last_on_default = False
+ default_count = 0
for line in response.iter_lines():
match = self.HISTORY_RE.match(line)
if not match:
@@ -259,13 +259,16 @@
break
if not is_default_branch:
if revision in self._metadata_cache[self.default_branch]:
- if was_last_on_default:
+ # Only handle 2 sequential cross-branch commits
+ if default_count > 2:
break
- was_last_on_default = True
+ default_count += 1
else:
- was_last_on_default = False
+ default_count = 0
self._metadata_cache[branch].insert(pos, revision)
+ if default_count:
+ self._metadata_cache[branch] = self._metadata_cache[branch][default_count - 1:]
if self._metadata_cache[self.default_branch][0] == [0]:
self._metadata_cache['identifier'] = len(self._metadata_cache[branch])
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes