--- a/contrib/bash_completion Mon Jan 23 16:12:32 2012 -0200
+++ b/contrib/bash_completion Tue Jan 24 17:17:37 2012 -0600
@@ -84,6 +84,7 @@
{
local files="$(_hg_cmd status -n$1 .)"
local IFS=$'\n'
+ compopt -o filenames 2>/dev/null
COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$files' -- "$cur"))
}
--- a/hgext/convert/subversion.py Mon Jan 23 16:12:32 2012 -0200
+++ b/hgext/convert/subversion.py Tue Jan 24 17:17:37 2012 -0600
@@ -439,6 +439,8 @@
if revnum < stop:
stop = revnum + 1
self._fetch_revisions(revnum, stop)
+ if rev not in self.commits:
+ raise util.Abort(_('svn: revision %s not found') % revnum)
commit = self.commits[rev]
# caller caches the result, so free it here to release memory
del self.commits[rev]
--- a/hgext/largefiles/overrides.py Mon Jan 23 16:12:32 2012 -0200
+++ b/hgext/largefiles/overrides.py Tue Jan 24 17:17:37 2012 -0600
@@ -900,9 +900,10 @@
# to have handled by original addremove. Monkey patching here makes sure
# we don't remove the standin in the largefiles code, preventing a very
# confused state later.
- repo._isaddremove = True
- remove_largefiles(ui, repo, *missing, **opts)
- repo._isaddremove = False
+ if missing:
+ repo._isaddremove = True
+ remove_largefiles(ui, repo, *missing, **opts)
+ repo._isaddremove = False
# Call into the normal add code, and any files that *should* be added as
# largefiles will be
add_largefiles(ui, repo, *pats, **opts)
--- a/hgext/mq.py Mon Jan 23 16:12:32 2012 -0200
+++ b/hgext/mq.py Tue Jan 24 17:17:37 2012 -0600
@@ -3133,7 +3133,7 @@
def mqphasedefaults(repo, roots):
"""callback used to set mq changeset as secret when no phase data exists"""
if repo.mq.applied:
- qbase = repo[repo.mq.applied[0]]
+ qbase = repo[repo.mq.applied[0].node]
roots[phases.secret].add(qbase.node())
return roots
--- a/mercurial/commands.py Mon Jan 23 16:12:32 2012 -0200
+++ b/mercurial/commands.py Tue Jan 24 17:17:37 2012 -0600
@@ -4249,7 +4249,7 @@
else:
ui.warn(_('no phases changed\n'))
ret = 1
- return ret
+ return ret
def postincoming(ui, repo, modheads, optupdate, checkout):
if modheads == 0:
--- a/mercurial/copies.py Mon Jan 23 16:12:32 2012 -0200
+++ b/mercurial/copies.py Tue Jan 24 17:17:37 2012 -0600
@@ -99,6 +99,13 @@
if v in src:
# file is a copy of an existing file
t[k] = v
+
+ # remove criss-crossed copies
+ for k, v in t.items():
+ if k in src and v in dst:
+ print "bad", k, v
+ del t[k]
+
return t
def _tracefile(fctx, actx):
--- a/mercurial/patch.py Mon Jan 23 16:12:32 2012 -0200
+++ b/mercurial/patch.py Tue Jan 24 17:17:37 2012 -0600
@@ -1802,9 +1802,9 @@
elif line.startswith('diff -r'):
# format: "diff -r ... -r ... filename"
filename = diffre.search(line).group(1)
- elif line.startswith('+') and not line.startswith('+++'):
+ elif line.startswith('+') and not line.startswith('+++ '):
adds += 1
- elif line.startswith('-') and not line.startswith('---'):
+ elif line.startswith('-') and not line.startswith('--- '):
removes += 1
elif (line.startswith('GIT binary patch') or
line.startswith('Binary file')):