diff --git a/.hgsigs b/.hgsigs --- a/.hgsigs +++ b/.hgsigs @@ -13,3 +13,4 @@ 11a4eb81fb4f4742451591489e2797dc47903277 11efa41037e280d08cfb07c09ad485df30fb0ea8 0 iEYEABECAAYFAkmvJRQACgkQywK+sNU5EO9XZwCeLMgDgPSMWMm6vgjL4lDs2pEc5+0AnRxfiFbpbBfuEFTqKz9nbzeyoBlx 02981000012e3adf40c4849bd7b3d5618f9ce82d 0 iEYEABECAAYFAknEH3wACgkQywK+sNU5EO+uXwCeI+LbLMmhjU1lKSfU3UWJHjjUC7oAoIZLvYDGOL/tNZFUuatc3RnZ2eje 196d40e7c885fa6e95f89134809b3ec7bdbca34b 0 iEYEABECAAYFAkpL2X4ACgkQywK+sNU5EO9FOwCfXJycjyKJXsvQqKkHrglwOQhEKS4An36GfKzptfN8b1qNc3+ya/5c2WOM +3ef6c14a1e8e83a31226f5881b7fe6095bbfa6f6 0 iEYEABECAAYFAkpopLIACgkQywK+sNU5EO8QSgCfZ0ztsd071rOa2lhmp9Fyue/WoI0AoLTei80/xrhRlB8L/rZEf2KBl8dA diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -25,3 +25,4 @@ 11a4eb81fb4f4742451591489e2797dc47903277 11efa41037e280d08cfb07c09ad485df30fb0ea8 1.2 02981000012e3adf40c4849bd7b3d5618f9ce82d 1.2.1 196d40e7c885fa6e95f89134809b3ec7bdbca34b 1.3 +3ef6c14a1e8e83a31226f5881b7fe6095bbfa6f6 1.3.1 diff --git a/hgext/fetch.py b/hgext/fetch.py --- a/hgext/fetch.py +++ b/hgext/fetch.py @@ -127,8 +127,7 @@ def fetch(ui, repo, source='default', ** editor = cmdutil.commiteditor if opts.get('force_editor') or opts.get('edit'): editor = cmdutil.commitforceeditor - n = repo.commit(message, opts['user'], opts['date'], - force=True, editor=editor) + n = repo.commit(message, opts['user'], opts['date'], editor=editor) ui.status(_('new changeset %d:%s merges remote changes ' 'with local\n') % (repo.changelog.rev(n), short(n))) diff --git a/hgext/keyword.py b/hgext/keyword.py --- a/hgext/keyword.py +++ b/hgext/keyword.py @@ -528,7 +528,7 @@ cmdtable = { 'kwdemo': (demo, [('d', 'default', None, _('show default keyword template maps')), - ('f', 'rcfile', [], _('read maps from rcfile'))], + ('f', 'rcfile', '', _('read maps from rcfile'))], _('hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]...')), 'kwexpand': (expand, commands.walkopts, _('hg kwexpand [OPTION]... [FILE]...')), diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1359,6 +1359,8 @@ def heads(ui, repo, *branchrevs, **opts) closed = opts.get('closed') hideinactive, _heads = opts.get('active'), None if not branchrevs: + if closed: + raise error.Abort(_('you must specify a branch to use --closed')) # Assume we're looking repo-wide heads if no revs were specified. heads = repo.heads(start) else: @@ -3013,7 +3015,7 @@ def update(ui, repo, node=None, rev=None raise util.Abort(_("you can't specify a revision and a date")) rev = cmdutil.finddate(ui, repo, date) - if clean: + if clean or check: return hg.clean(repo, rev) else: return hg.update(repo, rev) @@ -3175,7 +3177,7 @@ table = { [('a', 'active', False, _('show only branches that have unmerged heads')), ('c', 'closed', False, - _('show normal and closed heads'))], + _('show normal and closed branches'))], _('[-a]')), "bundle": (bundle, @@ -3292,9 +3294,9 @@ table = { (heads, [('r', 'rev', '', _('show only heads which are descendants of REV')), ('a', 'active', False, - _('show only the active heads from open branches')), + _('show only the active branch heads from open branches')), ('c', 'closed', False, - _('show normal and closed heads')), + _('show normal and closed branch heads')), ] + templateopts, _('[-r STARTREV] [REV]...')), "help": (help_, [], _('[TOPIC]')), diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -107,7 +107,12 @@ def _abssource(repo, push=False): source = repo._subsource if source.startswith('/') or '://' in source: return source - return os.path.join(_abssource(repo._subparent), repo._subsource) + parent = _abssource(repo._subparent) + if '://' in parent: + if parent[-1] == '/': + parent = parent[:-1] + return parent + '/' + source + return os.path.join(parent, repo._subsource) if push and repo.ui.config('paths', 'default-push'): return repo.ui.config('paths', 'default-push', repo.root) return repo.ui.config('paths', 'default', repo.root) diff --git a/tests/test-branches.out b/tests/test-branches.out --- a/tests/test-branches.out +++ b/tests/test-branches.out @@ -63,26 +63,7 @@ a branch name much longer than the defau c 6:589736a22561 (inactive) a 5:d8cbc61dbaa6 (inactive) default 0:19709c5a4e75 (inactive) -changeset: 10:bfbe841b666e -branch: b -tag: tip -user: test -date: Thu Jan 01 00:00:09 1970 +0000 -summary: adding another cset to branch b - -changeset: 8:eebb944467c9 -branch: b -parent: 4:aee39cd168d0 -user: test -date: Thu Jan 01 00:00:07 1970 +0000 -summary: adding cset to branch b - -changeset: 7:10ff5895aa57 -branch: a branch name much longer than the default justification used by branches -user: test -date: Thu Jan 01 00:00:06 1970 +0000 -summary: Adding d branch - +abort: you must specify a branch to use --closed changeset: 10:bfbe841b666e branch: b tag: tip