Sun, 07 Feb 2016 00:49:31 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 07 Feb 2016 00:49:31 -0600] rev 28015
merge with stable
Tue, 19 Jan 2016 18:20:13 +0000 chgserver: create new process group after fork (issue5051)
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.
Fri, 05 Feb 2016 16:54:01 -0600 check-commit: check for double-addition of blank lines
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.
Fri, 05 Feb 2016 16:52:02 -0600 check-commit: scan for multiple instances of error patterns
Matt Mackall <mpm@selenic.com> [Fri, 05 Feb 2016 16:52:02 -0600] rev 28012
check-commit: scan for multiple instances of error patterns
Fri, 05 Feb 2016 10:22:14 -0800 merge: add file ancestor linknode to mergestate
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.
Fri, 05 Feb 2016 10:15:28 -0800 merge: add debugmergestate support for _stateextras
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).
Fri, 05 Feb 2016 10:15:28 -0800 merge: add state extras merge state data
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.
Fri, 05 Feb 2016 13:30:25 -0800 revset: use manifest.matches in _follow revset
Durham Goode <durham@fb.com> [Fri, 05 Feb 2016 13:30:25 -0800] rev 28008
revset: use manifest.matches in _follow revset The old _follow revset iterated over every file in the commit and checked if it matched. For repos with large manifests, this could take 500ms. By switching to use manifest.matches() we can take advantage of the fastpaths built in to manifest.py that allows iterating over only the files in the matcher when it's a simple matcher. This brings the time spent down from 500ms to 0ms during simple operations like 'hg log -f file.txt'.
Thu, 04 Feb 2016 08:34:07 -0800 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com> [Thu, 04 Feb 2016 08:34:07 -0800] rev 28007
treemanifests: fix streaming clone Similar to the previous patch, the .hg/store/meta/ directory does not get copied when when using "hg clone --uncompressed". Fix by including "meta/" in store.datafiles(). This seems safe to do, as there are only a few users of this method. "hg manifest" already filters the paths by "data/" prefix. The calls from largefiles also seem safe. The use in verify needs updating to prevent it from mistaking dirlogs for orphaned filelogs. That change is included in this patch. Since the dirlogs will now be in the fncache when using fncachestore, let's also update debugrebuildfncache(). That will also allow any existing treemanifest repos to get their dirlogs into the fncache. Also update test-treemanifest.t to use an a directory name that requires dot-encoding and uppercase-encoding so we test that the path encoding works.
Tue, 02 Feb 2016 17:31:17 -0800 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com> [Tue, 02 Feb 2016 17:31:17 -0800] rev 28006
treemanifests: fix local clone When doing a local clone with treemanifests, the .hg/store/meta/ directory currently does not get copied. To fix it, all we need to do is to add it to the list of directories to copy.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip