Skip to content
Snippets Groups Projects
Commit 53c265a6 authored by Pierre-Yves David's avatar Pierre-Yves David :octopus:
Browse files

sidedata: return enough data to set the proper flag in the future

If the revision has information relevant to copy tracing, we need to set a
dedicated flag in revlog. Currently the upgrade process is failing to do so.
Before we teach the upgrade process about flags, we make the information
available where we will needs it.

Differential Revision: https://phab.mercurial-scm.org/D9198
parent ee3fd902
No related branches found
No related tags found
No related merge requests found
......@@ -803,7 +803,7 @@
def _getsidedata(srcrepo, rev):
ctx = srcrepo[rev]
files = compute_all_files_changes(ctx)
return encode_files_sidedata(files)
return encode_files_sidedata(files), files.has_copies_info
def getsidedataadder(srcrepo, destrepo):
......@@ -881,10 +881,10 @@
staging = {}
def sidedata_companion(revlog, rev):
sidedata = {}
data = {}, False
if util.safehasattr(revlog, b'filteredrevs'): # this is a changelog
# Is the data previously shelved ?
sidedata = staging.pop(rev, None)
if sidedata is None:
# look at the queued result until we find the one we are lookig
# for (shelve the other ones)
......@@ -885,8 +885,8 @@
if util.safehasattr(revlog, b'filteredrevs'): # this is a changelog
# Is the data previously shelved ?
sidedata = staging.pop(rev, None)
if sidedata is None:
# look at the queued result until we find the one we are lookig
# for (shelve the other ones)
r, sidedata = sidedataq.get()
r, data = sidedataq.get()
while r != rev:
......@@ -892,4 +892,4 @@
while r != rev:
staging[r] = sidedata
staging[r] = data
r, sidedata = sidedataq.get()
tokens.release()
......@@ -894,5 +894,6 @@
r, sidedata = sidedataq.get()
tokens.release()
sidedataq, has_copies_info = data
return False, (), sidedata
return sidedata_companion
......@@ -906,7 +907,7 @@
def sidedatacompanion(revlog, rev):
sidedata = {}
if util.safehasattr(revlog, 'filteredrevs'): # this is a changelog
sidedata = _getsidedata(srcrepo, rev)
sidedata, has_copies_info = _getsidedata(srcrepo, rev)
return False, (), sidedata
return sidedatacompanion
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment