Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 21 Mar 2013 22:09:15 +0100] rev 18967
archive: raise error.Abort if the file pattern matches no files
Note that we could raise this exception even if no pattern were specified, but
the revision contained no files. However this should not happen in practice
since in that case commands.py/archive would exit earlier with an "no working
directory: please specify a revision" error message instead.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Feb 2013 14:22:52 -0500] rev 18966
ui: add 'force' parameter to traceback() to override the current print setting
This will allow a current traceback.print_exc() call in dispatch to be replaced
with ui.traceback() even if --traceback was not given on the command line.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Feb 2013 14:15:34 -0500] rev 18965
ui: add support for fully printing chained exception stacks in ui.traceback()
Currently, only SubrepoAbort has a cause chained to it.
Matt Harbison <matt_harbison@yahoo.com> [Wed, 06 Feb 2013 22:54:09 -0500] rev 18964
subrepo: chain the original exception to SubrepoAbort
The tracebacks in subrepos are truncated at the point where the original
exception is caught and SubrepoAbort is raised in its place since
9e3910db4e78.
That hides the most relevant subrepo methods when an error occurs. Python 2.x
doesn't support chaining exceptions, so it is manually done here for manual
printing later.
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:41:47 +0200] rev 18963
debugrebuildstate: rename to debugrebuilddirstate
There is a lot of state, but this command is for rebuilding the dirstate.
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:41:27 +0200] rev 18962
debugstate: rename to debugdirstate
There is a lot of state, but this command is for debugging the dirstate.
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:39:02 +0200] rev 18961
debugrebuildstate: clarify that rev can't be specified without -r
-r has a default value of '' in the command line. The function default value of
'tip' is thus never used and any attempt at specifying revisions without -r
will fail.
It seems like then intended behavior was that 'hg debugrebuildstate' without
any parameters should set the parents to tip. That would be very confusing now
when the command primarily is used to recover from incorrect stat info.
It is apparently undocumented that '' is the same as '.' ... unless it is
passed in a place where revsets are used.
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:37:23 +0200] rev 18960
check-code: check txt files for trailing whitespace
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:37:23 +0200] rev 18959
check-code: catch trailing space in comments
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 01:37:23 +0200] rev 18958
spelling: fix typos and spelling errors
Mads Kiilerich <madski@unity3d.com> [Thu, 11 Apr 2013 14:54:18 +0200] rev 18957
wireproto: clarify cryptic 'remote: unsynced changes' error message on push
The message was not very much to the point and did not in any way help an
ordinary user.
'repository changed while preparing/uploading bundle - please try again'
is more correct, gives the user some understanding of what is going on, and
tells how to 'recover' from the situation.
The 'bundle' aspect could be seen as an implementation detail that shouldn't be
mentioned, but I think it helps giving an exact error message.
The message could still leave the user wondering why Mercurial doesn't lock the
repo and how unsafe it thus is. Explaining that is however too much detail.
Mads Kiilerich <mads@kiilerich.com> [Mon, 11 Feb 2013 00:43:12 +0100] rev 18956
export: export working directory parent by default
A common usecase for export is to preview the patch that will be patchbombed or
to see what changed in a revision found by bisect. Showing the working
directory parent is thus a useful and obvious default.
Mads Kiilerich <madski@unity3d.com> [Wed, 10 Apr 2013 13:12:24 +0200] rev 18955
commit: allow closing "non-head" changesets
Backout
acd61dc44a39. The changeset prevented closing non-head changesets but
did not provide any rationale or test case and I don't see what value it adds.
Users might have their reasons to commit something anywhere - and close it
immediately.
And contrary to the comment that is removed: The topo heads set is _not_
included in the branch heads set of the current branch. It do not include
closed topological heads.
The change thus prevented closing commits on top of closing commits. A valid
usecase for that is to merge closed heads to reduce the number of topological
heads.
The only existing test coverage for this is the failing double close in
test-revset.t. It was added in
3cc2e34d7a7d and seems to not be intentional.
Mads Kiilerich <mads@kiilerich.com> [Wed, 13 Jun 2012 23:06:34 +0200] rev 18954
record: ignore trailing content when parsing patches - introduce 'other' lines
This makes record work more like import which ignores for instance mail footers
in a patch file.
This also makes it possible for TortoiseHg to preview unapplied patches
containing such footers.
Mads Kiilerich <madski@unity3d.com> [Thu, 11 Apr 2013 19:03:33 +0200] rev 18953
record: abort on malformed patches instead of crashing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18952
localrepo: use "vfs.rename()" instead of "util.rename()"
This patch makes "_journalfiles()" return a list of pairs of journal
file and corresponded vfs instance instead of a list of journal files
in full path, to use "vfs.rename()" instead of "util.rename()" in
"aftertrans()".
"undofiles()" still returns a list of undo files in full path, because
"repair.strip()" expects such list. It'll be also made to return a
list of pairs of undo file and corresponded vfs at vfs migration for
"repair.strip()" in the near future.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18951
localrepo: use "vfs.setflags()" instead of "util.setflags()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18950
localrepo: use "vfs.readlink()" instead of "os.readlink()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18949
localrepo: use "vfs.islink()" instead of "os.path.islink()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18948
localrepo: use "vfs.rename()" instead of "util.rename()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18947
localrepo: use "vfs.exists()" instead of "os.path.exists()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18946
localrepo: use vfs instead of "os.path.*" in sharedpath checking
In the point of view of efficiency, "vfs" instance created in this
patch should be passed to and reuse in "store.store()" invocation just
after patched code block, because "store" object is initialized by vfs
created with "self.sharedpath".
eBut to focus just on migration from direct file I/O API accessing to
vfs, this patch uses created vfs as temporary one. Refactoring around
"store.store()" invocation will be done in the future.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 15 Apr 2013 01:22:15 +0900] rev 18945
vfs: split "expand" into "realpath"/"expandpath" to apply each separately
Before this patch, vfs constructor applies both "util.expandpath()"
and "os.path.realpath()" on "base" path, if "expand" is True.
This patch splits it into "realpath" and "expandpath", to apply each
functions separately: this splitting can allow to use vfs also where
one of each is not needed.
Mads Kiilerich <madski@unity3d.com> [Fri, 18 Jan 2013 15:54:09 +0100] rev 18944
unionrepo: read-only operations on a union of two localrepos
unionrepo is just like bundlerepo without bundles.
The implementation is very similar to bundlerepo, but I don't see any obvious
way to generalize it.
Some most obvious use cases for this would be log and diff across local repos,
as a kind of preview of pulls, for instance:
$ hg -R union:repo1+repo2 heads
$ hg -R union:repo1+repo2 log -r REPO1REV -r REPO2REV
$ hg -R union:repo1+repo2 log -r '::REPO1REV-::REPO2REV'
$ hg -R union:repo1+repo2 log -r 'ancestor(REPO1REV,REPO2REV)'
$ hg -R union:repo1+repo2 diff -r REPO1REV -r REPO2REV
This is going to be used in RhodeCode, and Bitbucket already uses something
similar. Having a core implementation would be beneficial.
Yuya Nishihara <yuya@tcha.org> [Mon, 15 Apr 2013 23:52:57 +0900] rev 18943
subrepo: fix exception on revert when "all" option is omitted
Since
fafdff7e9c43, backout does not set opts['all'], which causes KeyError
at hgsubrepo.revert.
Matt Mackall <mpm@selenic.com> [Sun, 14 Apr 2013 19:05:19 -0500] rev 18942
histedit: update tests for new intervention framework
Angel Ezquerra <angel.ezquerra@gmail.com> [Fri, 08 Mar 2013 21:50:27 +0100] rev 18941
test-subrepo: add tests for subrepo "storeclean" checks
These tests verify that subrepos are not pushed when their store is clean versus
a given target repository.
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 16 Feb 2013 01:21:40 +0100] rev 18940
subrepo: do not push mercurial subrepos whose store is clean
This patch stops mercurial from pushing unmodified subrepos. An unmodified
subrepo is one whose store is "clean" versus a given target subrepo.
Note that subrepos may have a clean store versus a target repo but not versus another. This patch handles this scenario by individually keeping track of the state of the store versus all push targets.
Tests will be added on the following revision.