Wed, 20 Sep 2017 19:17:37 +0200 phase: isolate logic to update remote phrase through bundle2 pushkey
Boris Feld <boris.feld@octobus.net> [Wed, 20 Sep 2017 19:17:37 +0200] rev 34822
phase: isolate logic to update remote phrase through bundle2 pushkey Move the logic to build bundle2 pushkey part into its dedicated function. It will help to keep the logic clear when adding support for sending phases change using 'phase-heads' part.
Wed, 11 Oct 2017 07:40:00 +0200 phase: generate a push-race detection part on push
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 07:40:00 +0200] rev 34821
phase: generate a push-race detection part on push We are about to switch phase pushing from using pushkey to using a the new dedicated binary part. We introduce the push race detection on its own to help detect potential impact.
Wed, 11 Oct 2017 07:13:02 +0200 phase: introduce a new 'check:phases' part
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 07:13:02 +0200] rev 34820
phase: introduce a new 'check:phases' part This part checks if revisions are still in the same phase as when the bundle was generated. This is similar to what 'check:heads' or 'check:updated-heads' bundle2 part achieves for changesets. We needs seems before we can move away from pushkey usage from phase since pushkey has it own built-in push-race detection.
Wed, 11 Oct 2017 18:39:04 +0200 phase: gather remote phase information in a summary object
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 18:39:04 +0200] rev 34819
phase: gather remote phase information in a summary object We keep useful phase information around. The data will be reused with detecting push-race in later changesets.
Wed, 11 Oct 2017 18:39:34 +0200 phase: simplify the check for issue3781 shortcut in discovery
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 18:39:34 +0200] rev 34818
phase: simplify the check for issue3781 shortcut in discovery We'll rework the code around this check. Limiting the entanglement will help with later changesets
Mon, 16 Oct 2017 12:36:42 +0200 exchange: fix issue3781 reference in the comment
Boris Feld <boris.feld@octobus.net> [Mon, 16 Oct 2017 12:36:42 +0200] rev 34817
exchange: fix issue3781 reference in the comment This comment is about: issue3781: Courtesy Phases synchronisation to publishing server prevent subrepo push Not about: issue3871: Slow hg log when template contains {file_adds}, {file_mods} and {file_dels}
Wed, 11 Oct 2017 20:08:02 +0200 phase: filter out non-draft item in "draft root"
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 20:08:02 +0200] rev 34816
phase: filter out non-draft item in "draft root" The on-disk file can contain draft root that are descendants of secret root. The resulting phase computation is correct, but the phases root content is not. I will send another series to introduce code that remove some of the cases where this can happens, but we first need to damage control the existing case. After this changeset, we can no longer advertise secret changeset as draft root.
Sun, 15 Oct 2017 22:48:02 -0400 subrepo: share instead of clone if the parent repo is shared (issue5675) (BC)
Matt Harbison <matt_harbison@yahoo.com> [Sun, 15 Oct 2017 22:48:02 -0400] rev 34815
subrepo: share instead of clone if the parent repo is shared (issue5675) (BC) Previously, only the top level repo was shared, and then any subrepos were cloned on demand. This is problematic because commits to the parent repo would write an updated .hgsubstate to the share source, but the corresponding subrepo commit would be stuck in the local subrepo. That would prevent an update in the source repo. We already go to great lengths to avoid having inconsistent repos (e.g., `hg push -r rev` will push _everything_ in a subrepo, even if it isn't referenced in one of the parent's outgoing commits). Therefore, this seems like a bug fix, and there's no option to get the old behavior. I can't imagine the previous behavior was useful to anybody. There shouldn't be an issue with svn, since it is centralized. Maybe --git-dir can be used for git subrepos, but I'll leave that to someone more familiar with git. An integer was previously being implicitly returned from commands.share(), which caused dispatch() to start crashing when changing over to returning the shared repo. All error paths appear to raise, so this can be hardcoded to success. The clone command checks for 'is None' in a similar pattern, but since hg.clone() always returns a tuple, that seems wrong? .. fix:: Issue 5675 Creating a share of a repository with a Mercurial subrepository will now share the subrepository. and .. bc:: Mercurial subrepositories are now shared instead of cloned when the parent repository is shared. This prevents dangling subrepository references in the share source. Previously shared repositories with cloned subrepositories will continue to function unchanged.
Sun, 15 Oct 2017 16:57:34 -0400 tests: update output for no-symlink platforms
Matt Harbison <matt_harbison@yahoo.com> [Sun, 15 Oct 2017 16:57:34 -0400] rev 34814
tests: update output for no-symlink platforms This goes with eb586ed5d8ce.
Mon, 16 Oct 2017 22:46:37 +0530 releasenotes: show a warning if fuzzywuzzy is not present
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 16 Oct 2017 22:46:37 +0530] rev 34813
releasenotes: show a warning if fuzzywuzzy is not present Differential Revision: https://phab.mercurial-scm.org/D1121
Mon, 16 Oct 2017 22:46:11 +0530 releasenotes: move import of fuzzywuzzy to import level
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 16 Oct 2017 22:46:11 +0530] rev 34812
releasenotes: move import of fuzzywuzzy to import level This will help us in determining easily that whether fuzzywuzzy is loaded or not loaded in any of the function. Differential Revision: https://phab.mercurial-scm.org/D1120
Sun, 15 Oct 2017 20:31:44 +0530 releasenotes: don't abort is there is a bad formatted entry for releasenotes
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 20:31:44 +0530] rev 34811
releasenotes: don't abort is there is a bad formatted entry for releasenotes While producing releasenotes for (4.3::), releasenotes aborts with error because of some bad formatting of releasenotes in some commits. Instead of aborting, this adds warning message which will help us in skipping them and telling user about it. Differential Revision: https://phab.mercurial-scm.org/D1097
Sun, 15 Oct 2017 20:29:16 +0530 releasenotes: make the import of fuzzywuzzy optional
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 20:29:16 +0530] rev 34810
releasenotes: make the import of fuzzywuzzy optional If fuzzywuzzy is note present, we will not be having the capability to merge existing releasenotes with the new releasenotes on the similarity basis. The merging will still work good for exact same releasenotes entries. Differential Revision: https://phab.mercurial-scm.org/D1096
Mon, 16 Oct 2017 22:51:58 -0400 webcommands: replace str(ctx) etc with pycompat.bytestr(ctx) etc
Augie Fackler <augie@google.com> [Mon, 16 Oct 2017 22:51:58 -0400] rev 34809
webcommands: replace str(ctx) etc with pycompat.bytestr(ctx) etc hgweb can now serve the graph view in Python 3. Differential Revision: https://phab.mercurial-scm.org/D1138
Mon, 16 Oct 2017 22:50:39 -0400 templater: don't blow up when trying to build an abort message
Augie Fackler <augie@google.com> [Mon, 16 Oct 2017 22:50:39 -0400] rev 34808
templater: don't blow up when trying to build an abort message __name__ is unicode, but we need bytes. For now, we'll make the (mostly-safe) assumption that template filter names will be ascii. Differential Revision: https://phab.mercurial-scm.org/D1137
Mon, 16 Oct 2017 22:44:06 -0400 webutil: use pycompat.bytestr() instead of str()
Augie Fackler <augie@google.com> [Mon, 16 Oct 2017 22:44:06 -0400] rev 34807
webutil: use pycompat.bytestr() instead of str() Stops us from choking the templater on Python 3. With this patch applied, much of hgweb works correctly in Python 3. The notable exception is the graph page, which chokes because it gets node IDs as str instead of bytes. Differential Revision: https://phab.mercurial-scm.org/D1135
Mon, 16 Oct 2017 22:43:19 -0400 hgweb: correct an earlier error of mine - `start` should be bytes
Augie Fackler <augie@google.com> [Mon, 16 Oct 2017 22:43:19 -0400] rev 34806
hgweb: correct an earlier error of mine - `start` should be bytes Gets hgweb very close to working with Python 3. Differential Revision: https://phab.mercurial-scm.org/D1134
Mon, 16 Oct 2017 18:58:16 +0200 config: simplify aliasing commands.update.check
Boris Feld <boris.feld@octobus.net> [Mon, 16 Oct 2017 18:58:16 +0200] rev 34805
config: simplify aliasing commands.update.check experimental.updatecheck was renamed into commands.update.check, use the config system to provides the fallback on the old config name instead of adding more code. Differential Revision: https://phab.mercurial-scm.org/D1117
Wed, 04 Oct 2017 18:51:21 -0700 run-tests: set HGPLAIN=1 when bisecting
Jun Wu <quark@fb.com> [Wed, 04 Oct 2017 18:51:21 -0700] rev 34804
run-tests: set HGPLAIN=1 when bisecting Otherwise a customized template may break the regex matching the bisect output. Differential Revision: https://phab.mercurial-scm.org/D949
Wed, 04 Oct 2017 18:50:18 -0700 run-tests: extract Popen logic to a single method
Jun Wu <quark@fb.com> [Wed, 04 Oct 2017 18:50:18 -0700] rev 34803
run-tests: extract Popen logic to a single method This removes 3 lines in total LOC and makes the upcoming changes easier. Differential Revision: https://phab.mercurial-scm.org/D948
Wed, 04 Oct 2017 18:42:24 -0700 run-tests: move bisect logic to a separate method
Jun Wu <quark@fb.com> [Wed, 04 Oct 2017 18:42:24 -0700] rev 34802
run-tests: move bisect logic to a separate method This removes 8 space indentation and makes upcoming changes easier. Differential Revision: https://phab.mercurial-scm.org/D947
Wed, 04 Oct 2017 11:00:04 -0400 mpatch: switch alignment of wrapped line from tab to spaces with clang-format
Augie Fackler <augie@google.com> [Wed, 04 Oct 2017 11:00:04 -0400] rev 34801
mpatch: switch alignment of wrapped line from tab to spaces with clang-format I may be a weird person for liking this style, but our C style is historically nominally the Linux Kernel style, and when you configure clang-format to be kernel-ish, this is what you get. If we want to change it, we can do so by tweaking the formatter rules in the future. Differential Revision: https://phab.mercurial-scm.org/D1132
Wed, 04 Oct 2017 10:56:33 -0400 mpatch: reformat function prototypes with clang-format
Augie Fackler <augie@google.com> [Wed, 04 Oct 2017 10:56:33 -0400] rev 34800
mpatch: reformat function prototypes with clang-format Differential Revision: https://phab.mercurial-scm.org/D1131
Mon, 16 Oct 2017 11:43:41 -0400 contrib: remove check-code rule about indentation
Augie Fackler <augie@google.com> [Mon, 16 Oct 2017 11:43:41 -0400] rev 34799
contrib: remove check-code rule about indentation We're moving towards a clang-format world, and clang-format is able to wrap argument lists with spaces reliably, while still enforcing tabs globally. Let's let clang-format do its job, and not do as much C-style enforcement with regular expressions. Differential Revision: https://phab.mercurial-scm.org/D1130
Sat, 24 Jan 2015 17:04:25 -0500 clang-format: configuration for the clang-format source formatter
Augie Fackler <raf@durin42.com> [Sat, 24 Jan 2015 17:04:25 -0500] rev 34798
clang-format: configuration for the clang-format source formatter Differential Revision: https://phab.mercurial-scm.org/D1129
Fri, 06 Oct 2017 06:48:43 -0700 merge: allow user to halt merge on merge-tool failures
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34797
merge: allow user to halt merge on merge-tool failures Depends on D932. Call the new _onfilemergefailure function when a merge tool reports failure via a return code. Differential Revision: https://phab.mercurial-scm.org/D951
Fri, 06 Oct 2017 06:48:43 -0700 filemerge: introduce functions to halt merge flow
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34796
filemerge: introduce functions to halt merge flow Depends on D931. This patch introduces functions and a config option that will allow a user to halt the merge if there are failures during a file merge. These functions will be used in the next patch. Differential Revision: https://phab.mercurial-scm.org/D932
Sun, 15 Oct 2017 19:29:56 +0530 amend: add a flag `-n/--note` to store note with amend
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 19:29:56 +0530] rev 34795
amend: add a flag `-n/--note` to store note with amend This patch utilises the functionality added in previous patches and adds a flag to amend command in hgext/amend to add a note to the amend. Since the note is stored in the obsmarker metadata, this will only be useful when obsmarker creation is enabled, otherwise this is no-op. Not adding releasenotes part as we yet don't have a functionality in core to show the note. Differential Revision: https://phab.mercurial-scm.org/D1095
Sun, 15 Oct 2017 15:32:03 +0530 cmdutil: pass metadata from amend() to cleanupnodes
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 15:32:03 +0530] rev 34794
cmdutil: pass metadata from amend() to cleanupnodes `commit --amend` and amend command in core and extensions rely on cmdutil.amend() for amending a commit. So the logic to add a note to amend must reside here. This patch assumes that note will be passed in opts dictionary to the function and it will be passed to cleanupnodes and then createmarkers to store the note in the obsmarker metadata. After this patch, note can be stored on an amend changeset by passing notes as a part of opts to cmdutil.amend(). Differential Revision: https://phab.mercurial-scm.org/D1094
Sun, 15 Oct 2017 14:34:24 +0530 scmutil: add capability to cleanupnodes to take obsmarker metadata
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 14:34:24 +0530] rev 34793
scmutil: add capability to cleanupnodes to take obsmarker metadata This patch adds a metadata argument to cleanupnodes() which will be dict and can be passed to obsmarker.createmarkers() and can be stored on the obsmarker. In cases when obsolescence is not enabled, the metadata argument is useless. This is a step towards storing a note in amend. Differential Revision: https://phab.mercurial-scm.org/D1093
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip