Summary:
Loose files don't contain the original filename inside them, but rather the
directory name is based on the sha1 hash of the filename. This means that
given a remotefilelog data file, we can't find out the name of the file that
it contains.
Repack needs to know this (plus it's also useful for debug purposes), so add
an additional file in the directory, `filename`, which contains the original
filename of all the data files in the directory.
It follows that `sha1(read(filename)) == basename(dirname(filename))`
Reviewed By: DurhamG
Differential Revision: D10516851
fbshipit-source-id: aeeb1a116e0d50a134c274c3bb31c7c26aa8015c
Summary:
This allows versions that don't know about storerequirements still access newly
created repos with this version. We will turn this on at a later date.
Reviewed By: singhsrb
Differential Revision: D10033964
fbshipit-source-id: e1065e05c33544d0287eda5eb852baff07c13147
Summary:
Add the `storerequirements` feature to the repo. This means the store may have
a `requires` file, and clients must check it for any store features that they
may be missing. This allows new requirements to be added that affect the store
when the repo is shared. Currently there are no store features.
This commit adds support for the feature, and only new repos have the
requirement added. A future commit will optimistically upgrade repos to
include the requirement.
Reviewed By: quark-zju
Differential Revision: D9699156
fbshipit-source-id: 95c1ab6973d44c02abc69b78a15311fe6a8696fd
Summary:
Enable it by default so all tests run with it.
The test changes are mostly caused by repo requirement changes.
Reviewed By: DurhamG
Differential Revision: D8880991
fbshipit-source-id: f96cecfd85b8088098c3b55d06ab0374ee93437b
Summary:
2f205fdc948fbea made remote stderr get written to local stderr, but
didn't catch this spot where when a connection closes we read the remainder of
stderr and write it out.
Reviewed By: quark-zju
Differential Revision: D8627272
fbshipit-source-id: c846ac6bb7425114fb29c6374c74b35057c14e63
Summary:
Some scripts are parsing all hg outputs. The remote stderr output could
contain random noise that break the scripts. Therefore let's forward
remote stderr to local stderr, instead of local stdout.
Reviewed By: DurhamG
Differential Revision: D8514952
fbshipit-source-id: 2f205fdc948fbeacd20b5af9d6d52eaa8212e90e
Summary:
Previously it is not actually used.
`test-hgext-repogenerator.t` changed because treedirstate uses random
number to generate file names.
`fakedirstatewritetime.py` was updated to be treedirstate-aware. This
makes test-revert.t test-merge-tools.t test-merge1.t pass.
Reviewed By: singhsrb
Differential Revision: D7844960
fbshipit-source-id: 33a1d0d4a8e22ea5e6bb6454956884571fcf6bab
Summary:
Now they are unnecessary since `run-tests.py` will set up `PYTONPATH`
correctly.
Differential Revision: D6865042
fbshipit-source-id: ca95314f725968e14349a9d916434aa832c596f9
Summary:
Moves the remotefilelog extension into hgext/ and it's tests into
tests/.
I did not fix up all the check-module errors, since it's a ton of work for
very little impact at this point.
Test Plan: make local && ./run-tests.py
Reviewers: #mercurial
Differential Revision: https://phabricator.intern.facebook.com/D6680030