Siddharth Agarwal <sid0@fb.com> [Mon, 01 Feb 2016 20:28:32 -0800] rev 28018
merge: move abort/warn checks up to the top level of _checkunknownfiles
In upcoming patches, we're also going to do these checks when force is True.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 05 Feb 2016 21:09:32 -0800] rev 28017
match: rename "narrowmatcher" to "subdirmatcher" (API)
I keep mistaking "narrowmatcher" for narrowhg's
narrowmatcher. "subdirmatcher" seems more to the point anyway.
timeless <timeless@mozdev.org> [Wed, 03 Feb 2016 18:59:35 +0000] rev 28016
tests: relax test-devel-warnings to reduce false positives
This test is interested in warning output, so
glob away line numbers and hashes as they aren't relevant
to its core.
Matt Mackall <mpm@selenic.com> [Sun, 07 Feb 2016 00:49:31 -0600] rev 28015
merge with stable
Jun Wu <quark@fb.com> [Tue, 19 Jan 2016 18:20:13 +0000] rev 28014
chgserver: create new process group after fork (issue5051)
This is to make SIGTSTP work. Before the patch, the server process group is
considered "orphaned" and will ignore SIGTSTP, SIGTTIN, SIGTTOU, according to
POSIX. See the comment above `will_become_orphaned_pgrp` in `kernel/exit.c`
from Linux 4.3 for details.
SIGTSTP is important if chgserver runs some ncurses commend like `commit -i`.
Ncurses has its own SIGTSTP handler which will do the following:
1. Clean the screen
2. Stop itself by resending SIGTSTP to itself
3. Restore the screen
If SIGTSTP is ignored, step 2 will be a noop, which means the process cannot
be suspended properly.
In order to make things work, chg client needs to forward SIGTSTP and SIGCONT
to server as well.
Matt Mackall <mpm@selenic.com> [Fri, 05 Feb 2016 16:54:01 -0600] rev 28013
check-commit: check for double-addition of blank lines
Previously, we were only checking for a blank line being added next to
an existing one. Now we also check for two being added at the same time.
Matt Mackall <mpm@selenic.com> [Fri, 05 Feb 2016 16:52:02 -0600] rev 28012
check-commit: scan for multiple instances of error patterns
Durham Goode <durham@fb.com> [Fri, 05 Feb 2016 10:22:14 -0800] rev 28011
merge: add file ancestor linknode to mergestate
During a merge, each file has a current commitnode+filenode, an other
commitnode+filenode, and an ancestor commitnode+filenode. The ancestor
commitnode is not stored though, and we rely on the ability for the filectx() to
look up the commitnode by using the filenode's linkrev. In alternative backends
(like remotefilelog), linkrevs may have restriction that prevent arbitrary
linkrev look up given a filenode.
This patch accounts for that by storing the ancestor commitnode in
the merge state so that it is available later at resolve time.
This results in some test changes because the ancestor commitnode we're using at
resolve time changes slightly. Before, we used the linkrev commit, which is the
earliest commit that introduced that particular filenode (which may not be the
latest common ancestor of the commits being merged). Now we use the latest
common ancestor of the merged commits as the commitnode. This is fine though,
because that commit contains the same filenode as the linkrev'd commit.
Durham Goode <durham@fb.com> [Fri, 05 Feb 2016 10:15:28 -0800] rev 28010
merge: add debugmergestate support for _stateextras
Now that we can store extras for each file, we need to have support for showing
it in debugmergestate (the tests depend on this).
Durham Goode <durham@fb.com> [Fri, 05 Feb 2016 10:15:28 -0800] rev 28009
merge: add state extras merge state data
In future commits we will want to store more data related to each file in the
merge state. This patch adds an optional record for storing a dictionary of
extras for each file.