sapling/eden/scm
Mark Juggurnauth-Thomas 810192fad4 commitcloud: ensure remotebookmarks in local state matches the cloud
Summary:
The `remotebookmarks` field in the local commit cloud state should always be one of:
* The empty set, if the previous sync was performed with remotebookmarks sync disabled; or
* The cloud workspace's remote bookmarks for that version.

Currently when processing remote bookmarks, we may store in the local state the
outcome of conflict resolution for the remote bookmarks.  This is the wrong
thing to do, as it means we won't then upload those conflict resolutions as a
new cloud version, which means they may get lost and rolled back.

Change application of cloud remote bookmarks to store the cloud remote bookmarks
in the local state, even if we changed them through conflict resolution.  This
means we will always upload the newly updated remote bookmarks to the server,
and things will stay more in sync.

Reviewed By: quark-zju

Differential Revision: D27291238

fbshipit-source-id: 8e6a0ab150da5907d32b8127aa0e6ccb17df4eea
2021-03-26 02:15:09 -07:00
..
contrib Changing commit hash length to 9 in hg prompt 2021-02-10 17:07:35 -08:00
distutils_rust py3: fix simple Windows py3 issues 2021-02-11 09:50:25 -08:00
doc py3: fix test-help.t 2020-04-09 18:25:54 -07:00
edenscm commitcloud: ensure remotebookmarks in local state matches the cloud 2021-03-26 02:15:09 -07:00
edenscmnative pyprogress: do not panic on __exit__ 2021-03-25 15:27:29 -07:00
exec clidispatch: add an API to obtain "writable" stdout stream 2021-02-23 15:09:14 -08:00
hgcache_size_logger add hgcache size logger 2020-08-26 04:24:50 -07:00
i18n apply pyfmt with usort to opted-in sources 2020-11-10 21:25:54 -08:00
lib io: support nested progress disabling 2021-03-25 16:54:49 -07:00
newdoc notes: add 2019-10 Manifests, Past and Future 2021-03-04 08:52:27 -08:00
pystubs eden: make the EdenFS import helper use EdenAPI's /trees endpoint instead of /complete_trees 2021-02-22 14:23:40 -08:00
slides apply black 20.8b1 formatting update 2020-10-14 20:21:52 -07:00
tests commitcloud: ensure remotebookmarks in local state matches the cloud 2021-03-26 02:15:09 -07:00
.editorconfig Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
.flake8 bookmarks: clean up scratch remotenames 2021-03-10 11:55:53 -08:00
.gitignore gitignore: track Makefile under scm 2021-03-04 08:52:27 -08:00
COPYING Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
gen_version.py version: a Rust crate providing version information 2020-05-18 09:00:40 -07:00
hgeditor Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
Makefile getdepsbuild: update to python3 2021-03-22 05:26:47 -07:00
README.rst Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
setup3.py setup3: remove its remaining python2 parts 2021-03-22 05:26:47 -07:00
setup.py Fix package boundary violations 2021-03-12 04:03:53 -08:00

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install::

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

Running without installing::

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

See https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.