sapling/eden/scm/edenscm/mercurial
Mark Thomas 5666399fcf mutationstore: switch mutation entry timestamp from f64 to i64
Summary:
The mutation store stores entries with a floating-point timestamp.  This
pattern was copied from obsmarkers.

However, Mercurial uses integer timestamps in the commit metadata (the
parser supports floats for historical reasons, but only stores integer
timestamps).   Mononoke also uses integer timestamps in its `DateTime`
type.

To keep things simple, switch to using integer timestamps for mutation
entries.  Existing entries with floating point timestamps are truncated.

Add a new entry format version that encodes the timestamp as an integer.
For now, continue to generate the old version so that old clients can
read entries created by new clients.

Reviewed By: quark-zju

Differential Revision: D20444366

fbshipit-source-id: 4d6d9851aacb314abea19b87c9d0130c47fdf512
2020-03-17 04:18:44 -07:00
..
cext fsinfo: remove old getfstype implementation 2020-03-11 17:35:41 -07:00
cffi Manual synchronization of fbcode/eden and facebookexperimental/eden 2020-02-11 11:42:43 +01:00
commands mutationstore: remove mutation entry origins 2020-03-17 04:18:44 -07:00
help Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
hgweb pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
httpclient typing: enable pyre 2019-12-04 10:55:00 -08:00
pure pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
templates Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
thirdparty stop including thirdparty/pyre2 in the fbcode build 2020-02-19 13:05:06 -08:00
utils py3: iter{keys,values,items} -> pycompat.iter{keys,values,items} 2020-01-28 16:27:28 -08:00
__init__.py remove py3 code transform 2020-01-27 19:00:14 -08:00
ancestor.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
archival.py py3: fix archive 2020-02-17 14:52:40 -08:00
bdiff.c use absolute includes for the native cext modules 2020-02-19 13:05:06 -08:00
bdiff.h use absolute includes for the native cext modules 2020-02-19 13:05:06 -08:00
bitmanipulation.h use absolute includes for the native cext modules 2020-02-19 13:05:06 -08:00
blackbox.py pyre: add stub for "bindings" 2020-01-31 13:18:54 -08:00
blobstore.py lfs: implement gc 2019-11-14 11:14:05 -08:00
bookmarks.py bookmarks: sort bookmarks before writing 2020-03-16 10:21:47 -07:00
branchmap.py py3: iter{keys,values,items} -> pycompat.iter{keys,values,items} 2020-01-28 16:27:28 -08:00
bundle2.py remotefilelog: retry fetches on dropped connections 2020-03-06 08:32:16 -08:00
bundlerepo.py py3: get several infinitepush tests passing 2020-02-17 14:52:36 -08:00
byterange.py fix_map 2020-01-28 18:24:56 -08:00
changegroup.py remotefilelog: retry fetches on dropped connections 2020-03-06 08:32:16 -08:00
changelog.py changelog: do not treat draft remove heads as unconditionally visible 2020-03-12 13:02:44 -07:00
chgserver.py py3: chg: fix compatibility 2020-02-03 18:26:57 -08:00
CMakeLists.txt cmake: always build support for the EdenSCM backing store 2019-11-22 13:00:07 -08:00
cmdutil.py renderdag: add auto-detection of best lines renderer 2020-03-04 11:05:29 -08:00
color.py py3: add type annotations to ui.write() 2020-01-31 17:05:54 -08:00
commandserver.py py3: chg: fix compatibility 2020-02-03 18:26:57 -08:00
compat.h Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
config.py py3: config: fix some encoding issues 2020-01-29 07:45:15 -08:00
configitems.py merge: add a Rust threaded file updater 2020-03-11 01:13:54 -07:00
connectionpool.py connection pool: log remote path 2020-03-11 02:18:06 -07:00
context.py py3: more commit cloud fixes 2020-02-28 11:32:16 -08:00
copies.py copies: repo.revs -> repo.nodes 2020-03-11 10:42:20 -07:00
crecord.py fix_map 2020-01-28 18:24:56 -08:00
dagop.py dagop: fix doc about reachableroots 2019-12-06 11:02:32 -08:00
dagparser.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
dagutil.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
debugcommands.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
destutil.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
dirstate.py suppress exceptions that occur in sparse telemetry tracking 2020-03-11 18:34:09 -07:00
dirstateguard.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
discovery.py revset: replace some repo.revs with repo.nodes 2020-02-28 17:45:26 -08:00
dispatch.py configparser: migrate from Bytes to Text 2020-03-13 10:51:41 -07:00
drawdag.py commands: add debugdifftree 2020-03-11 10:42:21 -07:00
dummycert.pem Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
eden_dirstate_fs.py add type annotations for dirstate.status() 2020-02-21 13:54:20 -08:00
eden_dirstate_map.py remove the mercurial.policy module 2020-02-21 13:54:19 -08:00
eden_dirstate.py fix hg revert on conflicted file during conflict resolution 2020-03-16 18:35:20 -07:00
eden_update.py py3: iter{keys,values,items} -> pycompat.iter{keys,values,items} 2020-01-28 16:27:28 -08:00
edenfs.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
EdenThriftClient.py handle EdenError in checkout path 2020-02-27 07:30:35 -08:00
encoding.py test-annotate: fix py3 compatibility 2020-03-03 17:46:34 -08:00
error.py remotefilelog: retry fetches on dropped connections 2020-03-06 08:32:16 -08:00
exchange.py py3: various fixes to move bundle2 tests foward 2020-02-17 14:52:32 -08:00
extensions.py extensions: base64.decodestring is deprecated 2020-03-06 10:29:31 -08:00
fancyopts.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
filelog.py revlog: add some type annotations 2020-02-03 07:35:32 -08:00
filemerge.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
fileset.py py3: move checkwinfilename() to a separate file and add type hints 2020-01-31 20:18:21 -08:00
filesystem.py workingcopy: support returning directories from the walker 2020-03-16 10:15:26 -07:00
fixcorrupt.py doctor: integrate fixcorrupt logic to repair changelog 2020-02-18 09:41:31 -08:00
formatter.py py3: fix test-cat.t 2020-02-17 14:52:30 -08:00
fscap.py fsinfo: remove old getfstype implementation 2020-03-11 17:35:41 -07:00
graphmod.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
hbisect.py fix_map 2020-01-28 18:24:56 -08:00
help.py configparser: migrate from Bytes to Text 2020-03-13 10:51:41 -07:00
helptext.py pager: allow overriding of encoding for the pager 2020-03-04 11:05:29 -08:00
hg.py clone: add a "clonepreclose" function 2020-02-26 17:08:23 -08:00
hintutil.py metalog: allow overridding root using HGFORCEMETALOGROOT 2020-03-16 10:21:48 -07:00
hook.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
httpconnection.py py3: iter{keys,values,items} -> pycompat.iter{keys,values,items} 2020-01-28 16:27:28 -08:00
httppeer.py py3: add type annotations to i18n 2020-02-03 07:35:31 -08:00
i18n.py py3: add type annotations to i18n 2020-02-03 07:35:31 -08:00
identity.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
json.py py3: more commit cloud fixes 2020-02-28 11:32:16 -08:00
keepalive.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
localrepo.py mutationstore: remove mutation entry origins 2020-03-17 04:18:44 -07:00
lock.py repo: skip data migrations if repo lock cannot be taken 2020-03-05 11:42:19 -08:00
lsprof.py py3: iter{keys,values,items} -> pycompat.iter{keys,values,items} 2020-01-28 16:27:28 -08:00
lsprofcalltree.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
mail.py Upgrade Pyre version for eden to 2927613de6d20ee2d66e98124f3834812475e122 2020-02-19 15:05:25 -08:00
manifest.py remove the mercurial.policy module 2020-02-21 13:54:19 -08:00
match.py py3: fix up matchers to exclusively use unicode 2020-02-03 08:00:11 -08:00
mdiff.py remove the mercurial.policy module 2020-02-21 13:54:19 -08:00
merge.py pyworker: handle symlinks and executable 2020-03-11 01:13:55 -07:00
mergeutil.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
metrics.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
minirst.py py3: fix test-bookmarks.t 2020-02-17 14:52:39 -08:00
mpatch.c use absolute includes for the native cext modules 2020-02-19 13:05:06 -08:00
mpatch.h use absolute includes for the native cext modules 2020-02-19 13:05:06 -08:00
mutation.py mutationstore: switch mutation entry timestamp from f64 to i64 2020-03-17 04:18:44 -07:00
namespaces.py py3: iter{keys,values,items} -> pycompat.iter{keys,values,items} 2020-01-28 16:27:28 -08:00
node.py py3: node: get rid of extra encoding 2020-01-29 16:48:41 -08:00
obsolete.py remove the mercurial.policy module 2020-02-21 13:54:19 -08:00
obsutil.py obsutil: remove pyre-fixme 2019-12-04 17:04:45 -08:00
parser.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
patch.py py3: fix a few test-dirstate* tests 2020-02-28 11:32:15 -08:00
pathutil.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
peer.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
perftrace.py pyre: add stub for "bindings" 2020-01-31 13:18:54 -08:00
phases.py py3: various fixes to move bundle2 tests foward 2020-02-17 14:52:32 -08:00
posix.py fsinfo: remove old getfstype implementation 2020-03-11 17:35:41 -07:00
profiling.py py3: profiling: fix some encoding issues 2020-01-29 07:45:20 -08:00
progress.py pyre: add stub for "bindings" 2020-01-31 13:18:54 -08:00
pushkey.py py3: fix pushkey encoding by removing local encoding 2020-01-31 13:12:13 -08:00
pvec.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
pycompat.py py3: fix archive 2020-02-17 14:52:33 -08:00
rcutil.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
registrar.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
repair.py py3: repair: fix encoding for SHA1 calculation 2020-01-29 07:45:11 -08:00
replay.py py3: only use binary stdin/stdout/stderr 2020-02-03 18:26:57 -08:00
repository.py py3: add pycompat.ABC 2020-01-31 17:05:54 -08:00
repoview.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
revlog.py remove the mercurial.policy module 2020-02-21 13:54:19 -08:00
revset.py revset: remove _destupdate and _destmerge 2020-03-11 10:42:21 -07:00
revsetlang.py pycompat: drop iterbytestr 2020-01-31 16:38:03 -08:00
rewriteutil.py mutation: allow instabilities if mutation is enabled 2020-01-24 14:47:38 -08:00
scmposix.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
scmutil.py py3: move checkwinfilename() to a separate file and add type hints 2020-01-31 20:18:21 -08:00
scmwindows.py typing: enable pyre 2019-12-04 10:55:00 -08:00
server.py py3: make conduithttp.py python 3 compatible 2020-02-17 14:52:31 -08:00
setdiscovery.py setdiscovery: use the nodemap __contains__ 2020-01-31 18:34:01 -08:00
similar.py py3: iter{keys,values,items} -> pycompat.iter{keys,values,items} 2020-01-28 16:27:28 -08:00
simplemerge.py pycompat: drop strkwargs / byteskwargs 2020-01-31 16:38:03 -08:00
smartset.py pyre: add stub for "bindings" 2020-01-31 13:18:54 -08:00
sparse.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
sshpeer.py remotefilelog: retry fetches on dropped connections 2020-03-06 08:32:16 -08:00
sshserver.py py3: various fixes to move bundle2 tests foward 2020-02-17 14:52:32 -08:00
sslutil.py pycompat: drop fsencode / fsdecode 2020-01-31 16:38:03 -08:00
statprof.py pycompat: drop strkwargs / byteskwargs 2020-01-31 16:38:03 -08:00
store.py metalog: allow overridding root using HGFORCEMETALOGROOT 2020-03-16 10:21:48 -07:00
streamclone.py py3: misc fixes around streaming clones 2020-01-31 18:39:40 -08:00
templatefilters.py hg-py3: make metaedit command work 2020-01-31 18:29:01 -08:00
templatekw.py pycompat: drop strkwargs / byteskwargs 2020-01-31 16:38:03 -08:00
templater.py hg-py3: make metaedit command work 2020-01-31 18:29:01 -08:00
transaction.py transaction: ensure metalog message is valid utf8 2020-03-12 14:26:07 -07:00
treedirstate.py remove an unused variable in the treedirstate code 2020-02-21 13:54:21 -08:00
treediscovery.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
treestate.py pyre: add stub for "bindings" 2020-01-31 13:18:54 -08:00
txnutil.py Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
types.py py3: add stub for localrepository 2020-02-03 17:07:36 -08:00
ui.py rage: add debugnetwork 2020-03-09 08:59:13 -07:00
uiconfig.py configparser: migrate from Bytes to Text 2020-03-13 10:51:41 -07:00
upgrade.py typing: enable pyre 2019-12-04 10:55:00 -08:00
url.py Upgrade Pyre version for eden to 2927613de6d20ee2d66e98124f3834812475e122 2020-02-19 15:05:25 -08:00
urllibcompat.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00
util.py remotenames: fix expaths 2020-03-06 10:29:32 -08:00
verify.py py3: iter{keys,values,items} -> pycompat.iter{keys,values,items} 2020-01-28 16:27:28 -08:00
vfs.py Update pyre version for eden 2020-03-06 12:14:56 -08:00
visibility.py fix a ProgrammingError bug in visibility migration 2020-03-11 16:25:50 -07:00
win32.py fsinfo: remove old getfstype implementation 2020-03-11 17:35:41 -07:00
windows.py windows: use getfstype from bindings.fs 2020-03-12 10:16:15 -07:00
winutil.py py3: move checkwinfilename() to a separate file and add type hints 2020-01-31 20:18:21 -08:00
wireproto.py py3: various fixes to move bundle2 tests foward 2020-02-17 14:52:32 -08:00
worker.py pycompat: drop sysbytes, sysstr, strurl, bytesurl 2020-01-31 17:59:53 -08:00