Sun, 21 Dec 2014 14:42:46 -0500 largefiles: introduce the 'composelargefilematcher()' method stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 21 Dec 2014 14:42:46 -0500] rev 23617
largefiles: introduce the 'composelargefilematcher()' method This is a copy/paste (with the necessary tweaks) of the composenormalfilematcher method currently on default, which does the inverse- this trims the normal files out of the matcher. It will be used in the next patch.
Thu, 18 Dec 2014 09:37:14 -0800 context: return dirstate parents in workingctx.ancestors()
Durham Goode <durham@fb.com> [Thu, 18 Dec 2014 09:37:14 -0800] rev 23616
context: return dirstate parents in workingctx.ancestors() workingctx.ancestors() was not returning the dirstate parents as part of the result set. The only place this function is used is for copy detection when committing a file, and that code already checks the parents manually, so this change has no affect at the moment. I found it while playing around with changing how copy detection works.
Wed, 17 Dec 2014 17:26:12 -0800 backout: add --commit option
Mateusz Kwapich <mitrandir@fb.com> [Wed, 17 Dec 2014 17:26:12 -0800] rev 23615
backout: add --commit option Mercurial backout command makes a commmit by default only when the backed out revision is the parent of working directory and doesn't commit in any other case. The --commit option changes behaviour of backout to make a commit whenever possible (i.e. there is no unresolved conflicts). This behaviour seems more intuitive to many use (especially git users migrating to hg).
Sat, 13 Dec 2014 11:32:46 -0800 share: add option to share bookmarks
Ryan McElroy <rmcelroy@fb.com> [Sat, 13 Dec 2014 11:32:46 -0800] rev 23614
share: add option to share bookmarks This patch adds the -B/--bookmarks option to the share command added by the share extension. All it does for now is create a marker, 'bookmarks.shared', that will be used by future code to implement the sharing functionality.
Wed, 17 Dec 2014 13:25:24 -0600 highlight: ignore Unicode's extra linebreaks (issue4291)
Matt Mackall <mpm@selenic.com> [Wed, 17 Dec 2014 13:25:24 -0600] rev 23613
highlight: ignore Unicode's extra linebreaks (issue4291) Unicode and Python's unicode.splitlines() treat several extra legacy ASCII codepoints as linebreaks, even though the vast bulk of computing and Python's own str.splitlines() do not. Rather than introduce line numbering confusion, we filter them out when highlighting.
Thu, 18 Dec 2014 21:53:55 +0100 test: fix typo in test-help.t
André Sintzoff <andre.sintzoff@gmail.com> [Thu, 18 Dec 2014 21:53:55 +0100] rev 23612
test: fix typo in test-help.t
Mon, 15 Dec 2014 09:40:02 -0800 templatekw: remove unneeded showtags
Sean Farley <sean.michael.farley@gmail.com> [Mon, 15 Dec 2014 09:40:02 -0800] rev 23611
templatekw: remove unneeded showtags Now that we have the machinery of namespaces in-place, we use that instead of hand-rolling our own template function. Note, this can only be used for tags because both branches and bookmarks have special case logic for 'default' and the current bookmark (which is something outside the namespace api for now).
Thu, 16 Oct 2014 23:19:09 -0700 namespaces: generate template keyword when registering a namespace
Sean Farley <sean.michael.farley@gmail.com> [Thu, 16 Oct 2014 23:19:09 -0700] rev 23610
namespaces: generate template keyword when registering a namespace For any namespace, we generate a template keyword. For example, given a namespace 'babar', we automatically have the ability to use it in a template: hg log -r . -T '{babars % "King: {babar}\n"}' Furthermore, we only generate this keyword for a namespace if one doesn't already exist. This is necessary for 'branches' and 'bookmarks' since both of those have concepts of 'current' (something outside the namespace api) and also allows extensions to override default behavior if desired.
Sun, 14 Dec 2014 19:15:37 -0800 templatekw: add helper method to generate a template keyword for a namespace
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Dec 2014 19:15:37 -0800] rev 23609
templatekw: add helper method to generate a template keyword for a namespace This marks our second feature of the namespace api: automatic template keyword. This patch adds a method that takes in a namespace and uses the node-to-name map to output the list of names.
Sun, 14 Dec 2014 18:54:50 -0800 namespaces: add names method to return list of names for a given node
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Dec 2014 18:54:50 -0800] rev 23608
namespaces: add names method to return list of names for a given node In the previous patch, we added a node-to-name map property. This patch just exposes that interface to the api.
Mon, 15 Dec 2014 00:24:23 -0800 namespaces: add nodemap property
Sean Farley <sean.michael.farley@gmail.com> [Mon, 15 Dec 2014 00:24:23 -0800] rev 23607
namespaces: add nodemap property This patch adds a node-to-name map property to the namespace. This is necessary because we cannot simply invert the name-to-node map because we do not assume the name-to-node map to be unique (for example, consider named branches: many nodes have one branch name). The node-to-name is helpful in log commands where we are already iterating over a set of nodes and want to display some kind of naming information to the user.
Sun, 14 Dec 2014 19:12:27 -0800 namespaces: add method to get template name of namespace
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Dec 2014 19:12:27 -0800] rev 23606
namespaces: add method to get template name of namespace This patch adds the public api for getting the template name of a namespace so that the next patch can use it to generate a template keyword automatically.
Mon, 15 Dec 2014 00:09:52 -0800 namespaces: add template name of a namespace
Sean Farley <sean.michael.farley@gmail.com> [Mon, 15 Dec 2014 00:09:52 -0800] rev 23605
namespaces: add template name of a namespace The template name property will be used in upcoming patches to automatically generate a template keyword. For example, given a namespace called 'babars', we will automatically generate a template keyword 'babar' such that we can use it in the following way, $ hg log -r . -T '{babars % "King: {babar}\n"}'
Fri, 19 Dec 2014 00:11:56 +0900 memctx: remove redundant test for issue4470 from test-commit.t
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 19 Dec 2014 00:11:56 +0900] rev 23604
memctx: remove redundant test for issue4470 from test-commit.t Because: - the test to avoid regression for issue4470 was already added to test-commit-amend.t by previous patch It is also a part of test series about manifest calculation issues of memctx in test-commit-amend.t. - this is the only test using "commit --amend" in test-commit.t
Fri, 19 Dec 2014 00:11:56 +0900 memctx: calculate manifest more efficiently
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 19 Dec 2014 00:11:56 +0900] rev 23603
memctx: calculate manifest more efficiently Before this patch, "memctx._manifest" updates all entries in the (parent) manifest. But this is inefficiency, because almost all files may be clean in that context. On the other hand, just updating entries for changed "files" specified at construction causes unexpected abortion, when there is at least one newly removed file (see issue4470 for detail). To calculate manifest more efficiently, this patch replaces "pman.iteritems()" for the loop by "self._status.modified" to avoid updating entries for clean or removed files Examination of removal is also omitted, because removed files aren't treated in this loop (= "self[f]" returns not None always).
Thu, 18 Dec 2014 16:41:59 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 18 Dec 2014 16:41:59 -0600] rev 23602
merge with stable
Thu, 18 Dec 2014 14:59:28 -0600 Added signature for changeset 6dad422ecc5a stable
Matt Mackall <mpm@selenic.com> [Thu, 18 Dec 2014 14:59:28 -0600] rev 23601
Added signature for changeset 6dad422ecc5a
Thu, 18 Dec 2014 14:59:23 -0600 Added tag 3.2.3 for changeset 6dad422ecc5a stable
Matt Mackall <mpm@selenic.com> [Thu, 18 Dec 2014 14:59:23 -0600] rev 23600
Added tag 3.2.3 for changeset 6dad422ecc5a
Thu, 18 Dec 2014 14:18:28 -0600 pathauditor: check for Windows shortname aliases stable 3.2.3
Matt Mackall <mpm@selenic.com> [Thu, 18 Dec 2014 14:18:28 -0600] rev 23599
pathauditor: check for Windows shortname aliases
Tue, 16 Dec 2014 13:08:17 -0500 pathauditor: check for codepoints ignored on OS X stable
Augie Fackler <raf@durin42.com> [Tue, 16 Dec 2014 13:08:17 -0500] rev 23598
pathauditor: check for codepoints ignored on OS X
Tue, 16 Dec 2014 13:07:10 -0500 darwin: omit ignorable codepoints when normcase()ing a file path stable
Augie Fackler <raf@durin42.com> [Tue, 16 Dec 2014 13:07:10 -0500] rev 23597
darwin: omit ignorable codepoints when normcase()ing a file path This lets us avoid some nasty case collision problems in OS X with invisible codepoints.
Tue, 16 Dec 2014 13:06:41 -0500 encoding: add hfsignoreclean to clean out HFS-ignored characters stable
Augie Fackler <raf@durin42.com> [Tue, 16 Dec 2014 13:06:41 -0500] rev 23596
encoding: add hfsignoreclean to clean out HFS-ignored characters According to Apple Technote 1150 (unavailable from Apple as far as I can tell, but archived in several places online), HFS+ ignores sixteen specific unicode runes when doing path normalization. We need to handle those cases, so this function lets us efficiently strip the offending characters from a UTF-8 encoded string (which is the only way it seems to matter on OS X.)
Thu, 11 Dec 2014 15:42:49 -0500 test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints stable
Augie Fackler <raf@durin42.com> [Thu, 11 Dec 2014 15:42:49 -0500] rev 23595
test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Fri, 12 Dec 2014 13:40:44 -0500 manifest: disallow setting the node id of an entry to None stable
Augie Fackler <augie@google.com> [Fri, 12 Dec 2014 13:40:44 -0500] rev 23594
manifest: disallow setting the node id of an entry to None manifest.diff() uses None as a special value to denote the absence of a file, so setting a file node to None means you then can't trust manifest.diff(). This should also make future manifest work slightly easier.
Fri, 12 Dec 2014 15:29:54 -0500 context: stop setting None for modified or added nodes stable
Augie Fackler <augie@google.com> [Fri, 12 Dec 2014 15:29:54 -0500] rev 23593
context: stop setting None for modified or added nodes Instead use a magic value, so that we can identify modified or added nodes correctly when using manifest.diff(). Thanks to Martin von Zweigbergk for catching that we have to update _buildstatus as well. That part eluded my debugging for some time.
Sat, 13 Dec 2014 13:33:48 -0500 largefiles: don't actually remove largefiles in an addremove dry run stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 13 Dec 2014 13:33:48 -0500] rev 23592
largefiles: don't actually remove largefiles in an addremove dry run The addlargefiles() method already properly handled dry runs.
Wed, 17 Dec 2014 15:11:26 -0800 bundle2: lowercase part types
Eric Sumner <ericsumner@fb.com> [Wed, 17 Dec 2014 15:11:26 -0800] rev 23591
bundle2: lowercase part types Since the capitalization no longer carries any meaning (previous diff), this patch normalizes all of the bundle2 part type strings to lower case.
Wed, 17 Dec 2014 21:14:19 -0800 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com> [Wed, 17 Dec 2014 21:14:19 -0800] rev 23590
bundle2.bundlepart: make mandatory part flag explicit in API This makes all bundle2 parts mandatory unless they are expressly made advisory via the keyword parameter or the bundlepart.mandatory property.
Wed, 17 Dec 2014 15:09:43 +0900 memctx: calculate manifest correctly with newly-removed files (issue4470)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 17 Dec 2014 15:09:43 +0900] rev 23589
memctx: calculate manifest correctly with newly-removed files (issue4470) Before this patch, "memctx._manifest" tries to get (and use normally) filectx also for newly-removed files, even though "memctx.filectx()" returns None for such files. To calculate manifest correctly even with newly-removed files, this patch does: - replace "man.iteritems()" for the loop by "self._status.modified" to avoid accessing itself to newly removed files this also reduces loop cost for large manifest. - remove files in "self._status.removed" from the manifest In this patch, amending is confirmed twice to examine both (1) newly removed files and (2) ones already removed in amended revision.
Wed, 17 Dec 2014 15:09:43 +0900 memctx: calculate manifest including newly added files correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 17 Dec 2014 15:09:43 +0900] rev 23588
memctx: calculate manifest including newly added files correctly Before this patch, "memctx._manifest" calculates the manifest according to the 1st parent. This causes the disappearance of newly added files from the manifest. For example, if newly added files aren't listed up in manifest of memctx, they aren't listed up in "added" field of "status" returned by "ctx.status()", and "{diff()}" (= "patch.diff") in "committemplate" shows nothing for them. To calculate manifest including newly added files correctly, this patch puts newly added files (= ones in "self._status.added") into the manifest. Some details of changes for "test-commit-amend.t" in this patch: - "touch foo" is replaced by "echo foo > foo", because newly added empty file can't be shown in "diff()" output without "diff.git" configuration - amending is confirmed twice to examine both (1) newly added files and (2) ones already added in amended revision
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip