merge with i18n stable
authorMatt Mackall <mpm@selenic.com>
Tue, 24 Jan 2012 17:17:37 -0600
branchstable
changeset 15977 c2e6c5ef4555
parent 15976 d1c74c6151c9 (diff)
parent 15975 eeecaca2750b (current diff)
child 15978 ec6ac46f6127
merge with i18n
--- 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')):