# HG changeset patch # User Matt Mackall # Date 1327447057 21600 # Node ID c2e6c5ef45555ff98dd12bef335c40a91eccc390 # Parent d1c74c6151c9c327b58beb93f5132bf266cdde28# Parent eeecaca2750bb56f3763535501e542faadbafa44 merge with i18n diff -r eeecaca2750b -r c2e6c5ef4555 contrib/bash_completion --- 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")) } diff -r eeecaca2750b -r c2e6c5ef4555 hgext/convert/subversion.py --- 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] diff -r eeecaca2750b -r c2e6c5ef4555 hgext/largefiles/overrides.py --- 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) diff -r eeecaca2750b -r c2e6c5ef4555 hgext/mq.py --- 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 diff -r eeecaca2750b -r c2e6c5ef4555 mercurial/commands.py --- 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: diff -r eeecaca2750b -r c2e6c5ef4555 mercurial/copies.py --- 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): diff -r eeecaca2750b -r c2e6c5ef4555 mercurial/patch.py --- 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')):