log

age author description
Sun, 18 Apr 2021 00:56:09 -0400 Matt Harbison incoming: use bytes for an error message stable
Wed, 21 Apr 2021 10:58:42 -0400 Augie Fackler merge: stable heads stable
Wed, 21 Apr 2021 10:49:29 -0400 Augie Fackler Added signature for changeset 8d2b62d716b0 stable
Wed, 21 Apr 2021 10:49:28 -0400 Augie Fackler Added tag 5.8rc1 for changeset 8d2b62d716b0 stable
Tue, 20 Apr 2021 16:31:13 +0200 Pierre-Yves David relnote: mention a nodemap bug fixes stable
Tue, 20 Apr 2021 16:29:05 +0200 Pierre-Yves David relnote: document the use of persistent-nodemap by default for Rust build stable
Tue, 20 Apr 2021 16:18:43 +0200 Pierre-Yves David relnode: document the move to `zstd` as default compression stable
Tue, 20 Apr 2021 16:12:19 +0200 Pierre-Yves David relnote: clarify the backward compatibility entry about p1/p2 swap stable
Tue, 20 Apr 2021 23:31:36 -0400 Matt Harbison mail: add a TODO about proper mbox locking stable
Tue, 20 Apr 2021 20:35:46 +0200 Joerg Sonnenberger packaging: extract pre-computed version when running from plain tarball stable 5.8rc1
Tue, 20 Apr 2021 11:12:20 -0400 Augie Fackler Added signature for changeset f67b8946bb1b stable
Tue, 20 Apr 2021 11:12:19 -0400 Augie Fackler Added tag 5.8rc0 for changeset f67b8946bb1b stable
Tue, 20 Apr 2021 11:01:06 -0400 Augie Fackler merge: default into stable for 5.8 rc stable 5.8rc0
Mon, 19 Apr 2021 20:38:52 -0400 Matt Harbison mail: force SMTPException to bytes before wrapping in error.Abort
Mon, 19 Apr 2021 17:26:57 -0400 Matt Harbison mail: split out the SMTP login to allow the keyring extension to wrap it
Tue, 20 Apr 2021 04:27:03 +0200 Pierre-Yves David store: exclude `undo.` nodemap's file from `walk`
Tue, 20 Apr 2021 05:08:55 +0200 Pierre-Yves David streamclone: treat volatile file as "fullfile"
Mon, 19 Apr 2021 20:47:46 +0200 Pierre-Yves David nodemap: add a test about nodemap "vacuum" during stream clone
Mon, 19 Apr 2021 20:24:13 +0200 Pierre-Yves David nodemap: add a test about racy commit during stream clone
Mon, 19 Apr 2021 19:12:28 +0200 Pierre-Yves David streamclone: remove sleep based "synchronisation" in tests
Mon, 19 Apr 2021 19:10:49 +0200 Pierre-Yves David testing: add a `write_file` function
Mon, 19 Apr 2021 19:10:18 +0200 Pierre-Yves David testing: add a utility function to wait for file create
Mon, 19 Apr 2021 19:09:18 +0200 Pierre-Yves David streamclone: check the errors log in tests
Tue, 20 Apr 2021 00:23:56 -0400 Matt Harbison mail: use a context manager when writing to mbox
Mon, 19 Apr 2021 21:31:24 -0700 Martin von Zweigbergk errors: remove unnecessary varargs handling from OutOfBandError
Mon, 19 Apr 2021 11:10:16 +0200 Pierre-Yves David phab-refresh: use a special comment on the stable branch
Mon, 19 Apr 2021 11:04:11 +0200 Pierre-Yves David phab-refresh: extract the comment in a variable
Mon, 19 Apr 2021 16:53:45 -0700 Martin von Zweigbergk tests: make test-archive.t pass on py3.9 (issue6504)
Mon, 19 Apr 2021 12:52:23 -0700 Martin von Zweigbergk errors: raise RemoteError in some places in exchange.py
Mon, 19 Apr 2021 09:37:01 -0700 Martin von Zweigbergk errors: introduce a class for remote errors
Mon, 19 Apr 2021 10:49:15 -0700 Martin von Zweigbergk errors: make OutOfBandError extend Abort
Mon, 05 Apr 2021 12:22:25 +0200 Pierre-Yves David revlog: replace revlog._io.size with a new revlog.index.entry_size
Wed, 14 Apr 2021 20:32:53 +0200 Pierre-Yves David perf-discovery: use `get_unique_pull_path`
Wed, 14 Apr 2021 00:38:25 +0800 Aay Jay Chan help: clarify when `$HG_URL` and `$HG_SOURCE` are added in hooks
Fri, 16 Apr 2021 15:39:00 +0200 Pierre-Yves David nodemap: deal with data mmap error
Fri, 16 Apr 2021 14:59:13 +0200 Pierre-Yves David nodemap: test various corruption scenario for the persistent nodemap
Sat, 17 Apr 2021 00:28:21 -0400 Matt Harbison cmdutil: fix an uninitialize variable usage in clearunfinished()
Mon, 05 Apr 2021 14:19:17 +0800 Aay Jay Chan help: document `$HG_NEW_OBSMARKERS` in pretxnclose hook
Thu, 01 Apr 2021 22:43:55 +0800 Aay Jay Chan help: prepend environment variables used in hooks with "$"
Thu, 15 Apr 2021 09:59:12 +0200 Pierre-Yves David revset: drop an outdated comment
Thu, 15 Apr 2021 01:03:12 +0200 Pierre-Yves David ui: deprecated `ui.expandpath`
Wed, 14 Apr 2021 21:29:27 +0200 Pierre-Yves David urlutil: remove usage of `ui.expandpath` in `get_clone_path`
Wed, 14 Apr 2021 21:27:00 +0200 Pierre-Yves David urlutil: remove usage of `ui.expandpath` in `get_unique_pull_path`
Wed, 14 Apr 2021 21:20:58 +0200 Pierre-Yves David urlutil: remove usage of `ui.expandpath` in `get_pull_paths`
Wed, 14 Apr 2021 21:15:53 +0200 Pierre-Yves David debugbackupbundle: use `get_unique_pull_path`
Wed, 14 Apr 2021 21:15:22 +0200 Pierre-Yves David debugssl: use `get_unique_pull_path`
Wed, 14 Apr 2021 21:11:39 +0200 Pierre-Yves David debugdiscovery: use `get_unique_pull_path`
Wed, 14 Apr 2021 21:02:38 +0200 Pierre-Yves David profiling: use `util.expandpath` instead of `ui.expandpath` for output
Wed, 14 Apr 2021 20:57:34 +0200 Pierre-Yves David dispatch: use the new API to resolve --repository
Wed, 14 Apr 2021 20:21:11 +0200 Pierre-Yves David revset: use `get_unique_pull_path` for `remote(…)`
Wed, 14 Apr 2021 20:15:09 +0200 Pierre-Yves David remotefilelog: use `get_unique_pull_path` in `getflogheads`
Wed, 14 Apr 2021 19:30:48 +0200 Pierre-Yves David summary: use the new APIs
Wed, 14 Apr 2021 18:37:29 +0200 Pierre-Yves David share: use `get_clone_path`
Wed, 14 Apr 2021 18:02:25 +0200 Pierre-Yves David init: use `get_clone_path` when suitable
Wed, 14 Apr 2021 18:34:42 +0200 Pierre-Yves David clone: use `get_clone_path`
Wed, 14 Apr 2021 17:41:02 +0200 Pierre-Yves David incoming: kill the `repo._subtoppath =` hack
Wed, 14 Apr 2021 17:29:27 +0200 Pierre-Yves David identify: use `get_unique_pull_path`
Wed, 14 Apr 2021 17:02:20 +0200 Pierre-Yves David bundle: support multiple destinations
Wed, 14 Apr 2021 14:35:13 +0200 Pierre-Yves David lfs: use the new APIs
Wed, 14 Apr 2021 13:06:09 +0200 Pierre-Yves David fastannotate: use `get_unique_pull_path`
Wed, 14 Apr 2021 12:57:55 +0200 Pierre-Yves David remotefilelog: use the right expandpath in to expand `~`
Fri, 16 Apr 2021 10:46:56 +0200 Pierre-Yves David transplant: use `get_unique_pull_path`
Fri, 16 Apr 2021 10:46:52 +0200 Pierre-Yves David infinitepush: use `get_unique_pull_path`
Wed, 14 Apr 2021 12:29:44 +0200 Pierre-Yves David relink: use `get_unique_pull_path`
Wed, 14 Apr 2021 12:01:27 +0200 Pierre-Yves David histedit: use `get_unique_push_path`
Wed, 14 Apr 2021 11:57:20 +0200 Pierre-Yves David urlutil: add a new `get_unique_push_path`
Wed, 14 Apr 2021 11:38:10 +0200 Pierre-Yves David fetch: use `get_unique_pull_path` to retrieve the path
Wed, 14 Apr 2021 11:30:49 +0200 Pierre-Yves David patchbomb: use `get_unique_pull_path`
Wed, 14 Apr 2021 11:18:48 +0200 Pierre-Yves David narrow: use `get_unique_pull_path`
Wed, 14 Apr 2021 11:15:54 +0200 Pierre-Yves David urlutil: add a new `get_unique_pull_path`
Wed, 14 Apr 2021 10:51:31 +0200 Pierre-Yves David mq: use the new `get_clone_path` to get the remote url
Wed, 14 Apr 2021 10:35:40 +0200 Pierre-Yves David urlutil: add a `get_clone_path` function
Sun, 11 Apr 2021 19:18:54 +0200 Pierre-Yves David outgoing: use `get_push_paths` in the revset too
Wed, 14 Apr 2021 02:14:15 +0200 Pierre-Yves David incoming: use `urlutil.get_pull_paths`
Wed, 14 Apr 2021 01:26:44 +0200 Pierre-Yves David outgoing: accept multiple destinations
Thu, 15 Apr 2021 09:23:28 +0200 Pierre-Yves David outgoing: pass subrepo path using function argument instead of abssource hack
Thu, 15 Apr 2021 09:23:19 +0200 Pierre-Yves David subrepo: introduce a `repo_rel_or_abs_source` function
Wed, 14 Apr 2021 22:50:41 -0400 Matt Harbison urlutil: use bytes for Abort messages
Thu, 08 Apr 2021 16:41:13 +0200 Raphaël Gomès changegroup: update comment
Mon, 12 Apr 2021 23:31:54 -0400 Matt Harbison re2: adjust local variable assignment scope
Sat, 13 Mar 2021 09:50:34 +0100 Simon Sapin rhg: Make `files` work on repo-relative paths when possible
Mon, 12 Apr 2021 19:25:34 -0700 Kyle Lippincott split: avoid strip if split is a no-op (identical to original)
Mon, 12 Apr 2021 17:52:46 -0700 Kyle Lippincott split: fix issue with empty splits adjusting phases
Mon, 12 Apr 2021 17:51:56 -0700 Kyle Lippincott split: add test demonstrating issue with empty splits adjusting phases
Wed, 14 Apr 2021 16:09:12 +0200 Pierre-Yves David test-lfs: fix expected output
Wed, 14 Apr 2021 15:56:21 +0200 Pierre-Yves David test-lfs: avoid a bashism when spawning the server
Wed, 14 Apr 2021 15:54:32 +0200 Pierre-Yves David test-lfs: avoid pagination
Wed, 14 Apr 2021 15:53:43 +0200 Pierre-Yves David run-test: make it clearer why we terminating process
Tue, 13 Apr 2021 15:30:32 +0200 Pierre-Yves David push-dests: move the code around missing default dest inside `get_push_paths`
Tue, 13 Apr 2021 15:32:59 +0200 Pierre-Yves David push-dests: rework the handling of default value
Sun, 11 Apr 2021 20:00:46 +0200 Pierre-Yves David outgoing: merge the code handling --graph with the main one
Tue, 13 Apr 2021 15:13:20 +0200 Pierre-Yves David outgoing: move filtering logic in its own function
Sun, 11 Apr 2021 19:31:03 +0200 Pierre-Yves David outgoing: make `recurse` a real function
Sun, 11 Apr 2021 19:20:14 +0200 Pierre-Yves David outgoing: remove some early return
Sat, 10 Apr 2021 21:55:01 +0200 Pierre-Yves David infinitepush: use the new function to determine push destination
Tue, 13 Apr 2021 12:28:44 +0200 Pierre-Yves David urlutil: add a `get_pull_paths` to perform the pull destination logic
Mon, 12 Apr 2021 22:22:56 +0200 Pierre-Yves David urlutil: add a `get_push_paths` to perform the push destination logic
Mon, 12 Apr 2021 06:34:54 +0200 Pierre-Yves David urlutil: extract `parseurl` from `hg` into the new module
Mon, 12 Apr 2021 03:01:04 +0200 Pierre-Yves David urlutil: extract `url` related code from `util` into the new module
Sun, 11 Apr 2021 23:54:35 +0200 Pierre-Yves David urlutil: extract `path` related code into a new module
Sat, 10 Apr 2021 15:30:32 +0200 Pierre-Yves David help: document the `path://` url scheme
Sat, 10 Apr 2021 15:28:10 +0200 Pierre-Yves David help: point to `hg help urls` in `hg help config.paths`
Mon, 12 Apr 2021 22:42:47 -0400 Matt Harbison merge with stable
Fri, 09 Apr 2021 17:41:48 -0400 Charles Chamberlain narrow: add capabilities for local repos, not just remote peers
Thu, 25 Mar 2021 22:29:41 -0400 Matt Harbison typing: make minor adjustments to mercurial/util.py to pass pytype checking
Thu, 25 Mar 2021 20:22:00 -0400 Matt Harbison util: fix the signature for the pypy override of sortdict.update()
Thu, 25 Mar 2021 18:59:14 -0400 Matt Harbison typing: add type hints to mercurial/error.py
Fri, 19 Mar 2021 00:36:26 -0400 Matt Harbison tests: add a (very slow) test that executes pytype
Tue, 06 Apr 2021 10:38:27 +0200 Pierre-Yves David upgrade: do not hardcore file extension of revlogs
Tue, 06 Apr 2021 10:38:11 +0200 Pierre-Yves David upgrade: take advantage of the new information returned by `store.walk`
Tue, 06 Apr 2021 10:38:03 +0200 Pierre-Yves David store: also return some information about the type of file `walk` found
Mon, 05 Apr 2021 23:54:54 -0400 Matt Harbison tests: skip test-git-interop.t on Windows
Mon, 05 Apr 2021 13:02:51 -0400 Matt Harbison contrib: restore the `hg fix` configuration in the examples
Wed, 31 Mar 2021 17:54:02 -0400 Valentin Gatien-Baron blackbox: fix type error on log rotation on read-only filesystem
Thu, 08 Apr 2021 14:38:27 +0200 Simon Sapin rust: Remove use of `py.eval()`
Thu, 08 Apr 2021 21:46:54 +0200 Simon Sapin rust: Remove the compile-time 'dirstate-tree' feature flag
Sun, 13 Sep 2020 22:14:25 -0400 Valentin Gatien-Baron procutil: avoid using os.fork() to implement runbgcommand
Thu, 08 Apr 2021 18:43:08 -0400 Matt Harbison share: store relative share paths with '/' separators
Fri, 09 Apr 2021 12:02:51 +0200 Simon Sapin unit-tests: Fix `cargo test` on 32-bit platforms
Fri, 09 Apr 2021 08:46:40 -0700 Martin von Zweigbergk rename: add --forget option and stop suggesting `hg revert` for undoing
Fri, 09 Apr 2021 11:32:19 -0400 Matt Harbison win32: enable legacy I/O mode to fix missing pager output on Windows with py3
Thu, 14 Jan 2021 04:58:20 +0100 Pierre-Yves David persistent-nodemap: enable the feature by default when using Rust
Fri, 09 Apr 2021 03:36:24 +0200 Pierre-Yves David persistent-nodemap: disable it for test-wireproto-content-redirects.t
Fri, 09 Apr 2021 03:30:18 +0200 Pierre-Yves David persistent-nodemap: disable it for test-wireproto-command-capabilities.t
Fri, 09 Apr 2021 03:36:07 +0200 Pierre-Yves David persistent-nodemap: disable it unconditionally for test-wireproto-caching.t
Fri, 09 Apr 2021 03:51:25 +0200 Pierre-Yves David persistent-nodemap: disable it unconditionally for test-ssh-proto-unbundle.t
Fri, 09 Apr 2021 03:51:35 +0200 Pierre-Yves David persistent-nodemap: disable it unconditionally for test-ssh-proto.t
Fri, 09 Apr 2021 04:13:07 +0200 Pierre-Yves David persistent-nodemap: disable it unconditionally for test-share-safe.t
Fri, 09 Apr 2021 03:44:45 +0200 Pierre-Yves David persistent-nodemap: disable it unconditionally for test-http-protocol.t
Fri, 09 Apr 2021 03:15:07 +0200 Pierre-Yves David persistent-nodemap: disable it unconditionally for test-http-bad-server.t
Thu, 08 Apr 2021 20:05:59 +0200 Pierre-Yves David clang-format: run the formatter on mercurial/cext/revlog.c
Tue, 06 Apr 2021 18:55:19 +0200 Pierre-Yves David revlog-compression: use zstd by default (if available)
Wed, 07 Apr 2021 13:31:15 +0200 Pierre-Yves David rhg: make rhg recognise it supports zstd compression for revlogs
Wed, 31 Mar 2021 12:46:54 -0700 Kyle Lippincott match: convert O(n) to O(log n) in exactmatcher.visitchildrenset
Tue, 30 Mar 2021 13:05:22 -0700 Kyle Lippincott exthelper: improve docs to indicate what module vars are needed
Mon, 05 Apr 2021 12:44:33 -0400 Matt Harbison tests: restore the ability to run `black` on Windows
Sat, 03 Apr 2021 21:15:45 -0400 Matt Harbison setup: copy python3.dll next to hg.exe when building on Windows for hgext.git
Sat, 03 Apr 2021 20:26:45 -0400 Matt Harbison tests: stablize test-hook.t on Windows
Sat, 03 Apr 2021 20:25:37 -0400 Matt Harbison tests: handle Windows file separator differences in test-config.t
Sat, 03 Apr 2021 15:02:09 -0400 Matt Harbison tests: update the detailed exit codes for icasefs gated tests
Sat, 03 Apr 2021 15:00:20 -0400 Matt Harbison tests: update the detailed exit codes in test-phabricator.t
Thu, 25 Mar 2021 15:38:31 -0700 Martin von Zweigbergk tests: avoid using rebaseskipobsolete=0
Thu, 25 Mar 2021 11:35:16 -0700 Martin von Zweigbergk rebase: when using --keep, don't care about pruned commits or divergence
Thu, 25 Mar 2021 08:38:16 -0700 Martin von Zweigbergk rebase: remove duplicate initialization of a field
Mon, 05 Apr 2021 12:22:12 +0200 Pierre-Yves David rust: bump rust-cpython version to 0.5.2
Mon, 05 Apr 2021 12:21:58 +0200 Pierre-Yves David revlog: directly use the Struct object for related operation
Mon, 05 Apr 2021 12:21:23 +0200 Pierre-Yves David revlog: move the "index header" struct inside revlog.utils.constants
Mon, 05 Apr 2021 12:21:12 +0200 Pierre-Yves David revlog: move the details of revlog "v2" index inside revlog.utils.constants
Mon, 05 Apr 2021 12:21:01 +0200 Pierre-Yves David revlog: move the details of revlog "v1" index inside revlog.utils.constants
Mon, 05 Apr 2021 12:20:52 +0200 Pierre-Yves David revlog: move the details of revlog "v0" index inside revlog.utils.constants
Mon, 05 Apr 2021 12:20:40 +0200 Pierre-Yves David revlog: add some comment in the header sections
Tue, 06 Apr 2021 10:37:55 +0200 Pierre-Yves David store: drop the `filefilter` argument to `_walk`
Tue, 06 Apr 2021 10:37:47 +0200 Pierre-Yves David store: document the `walk` method
Tue, 06 Apr 2021 13:49:19 -0400 Valentin Gatien-Baron revlog: fix error about unknown compression format in py3
Wed, 07 Apr 2021 12:15:28 +0200 Pierre-Yves David revlog-compression: fix computation of engine availability
Wed, 07 Apr 2021 00:12:07 +0200 Pierre-Yves David test: explicitly use zlib compression in tests/test-share-safe.t
Tue, 06 Apr 2021 18:50:32 +0200 Pierre-Yves David test: explicitly use zlib compression in tests/test-upgrade-repo.t
Tue, 06 Apr 2021 18:49:01 +0200 Pierre-Yves David test: explicitly use zlib compression in tests/test-repo-compengines.t
Tue, 06 Apr 2021 14:21:03 -0700 Kyle Lippincott remotefilelog: include file contents in bundles produced during strip
Tue, 06 Apr 2021 15:38:33 -0700 Kyle Lippincott tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Wed, 31 Mar 2021 00:19:52 +0200 Joerg Sonnenberger mergestate: remove unused import
Tue, 30 Mar 2021 15:54:36 -0700 Kyle Lippincott deb: avoid use of [[ in 'rules' file
Tue, 30 Mar 2021 02:32:30 +0200 Joerg Sonnenberger refactor: prefer checks against nullrev over nullid
Tue, 30 Mar 2021 02:33:12 +0200 Joerg Sonnenberger refactor: prefer lookup by revision, even for null
Mon, 29 Mar 2021 01:35:54 +0200 Joerg Sonnenberger setdiscovery: simplify by using tiprev directly
Sun, 28 Mar 2021 19:50:37 +0200 Pierre-Yves David test: enforce master to be the default branch in test
Sun, 28 Mar 2021 21:53:39 +0200 Joerg Sonnenberger fix: merge imports
Thu, 11 Feb 2021 21:23:05 -0800 Martin von Zweigbergk tests: update divergence test for `hg fix` to actually result in divergence
Tue, 23 Mar 2021 22:48:27 -0700 Martin von Zweigbergk rebase: don't call rewriteutil.precheck() with to-be-skipped commits
Tue, 23 Mar 2021 14:15:40 -0700 Martin von Zweigbergk reabase: call rewriteutil.precheck() a bit later
Tue, 23 Mar 2021 14:49:31 -0700 Martin von Zweigbergk rebase: set `prepared = True` at very end of `_preparenewrebase()`
Fri, 19 Mar 2021 22:52:59 -0700 Martin von Zweigbergk rebase: filter out descendants of divergence-causing commits earlier
Fri, 19 Mar 2021 10:34:16 -0700 Martin von Zweigbergk rebase: clarify names of variables and function related to obsolete revisions
Fri, 12 Feb 2021 16:05:02 -0800 Martin von Zweigbergk rebase: calculate obsolescense-related info earlier
Fri, 12 Feb 2021 16:19:33 -0800 Martin von Zweigbergk rebase: let _handleskippingobsolete(self) read directly from self
Tue, 23 Mar 2021 10:12:58 -0700 Martin von Zweigbergk tests: test divergence created during interrupted rebase
Tue, 23 Mar 2021 09:13:29 -0700 Martin von Zweigbergk tests: split up test-rebase-obsolete.t in four pieces
Wed, 24 Mar 2021 00:04:58 +0100 Pierre-Yves David path: error out if the `path://` reference point to an unknown path
Tue, 23 Mar 2021 23:55:33 +0100 Pierre-Yves David path: forbid chaining `path://` definitions
Thu, 18 Mar 2021 12:02:01 +0100 Pierre-Yves David path: introduce a `path://` syntax to reference other path name
Sun, 21 Mar 2021 16:31:42 +0100 Pierre-Yves David path: extract sub-option logic into its own method
Sun, 21 Mar 2021 17:52:15 +0100 Pierre-Yves David path: extract the path validation logic into its own submethod
Thu, 18 Mar 2021 10:12:55 +0100 Pierre-Yves David path: move handling of "default" (*) suboptions value inside __init__
Tue, 16 Mar 2021 15:12:03 +0100 Georges Racinet rhg: Initial support for the 'status' command
Tue, 23 Mar 2021 19:58:49 +0530 Pulkit Goyal rhg: raise wdir specific error for `hg debugdata`
Sat, 20 Mar 2021 02:03:57 +0530 Pulkit Goyal rhg: add support for detailed exit code for ConfigParseError
Thu, 25 Mar 2021 18:02:08 +0100 Raphaël Gomès contributor: change mentions of mpm to olivia
Mon, 22 Mar 2021 15:29:05 -0700 Martin von Zweigbergk fuzz: use Python 3 in makefile
Mon, 22 Mar 2021 13:21:12 -0700 Martin von Zweigbergk makefile: use Python 3 by default when building docs as well
Mon, 22 Mar 2021 13:14:11 -0700 Martin von Zweigbergk tests: replace some `python` by `"$PYTHON"` to not only use Python 2
Sat, 13 Mar 2021 03:17:00 +0100 Pierre-Yves David copies: distinguish between merged and touched files during upgrade
Mon, 15 Mar 2021 13:37:45 +0100 Pierre-Yves David copies: detect files as `touched/salvaged` if they only existed on one side