Mercurial > hg
view mercurial/scmposix.py @ 28686:b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Before this patch, rebase --continue would crash when trying to resume a rebase
of obsolete revisions whose successors were in the destination.
This patch adds logic to recompute the mapping when rebase is resumed. This
patch also adds a test that showcased the crash before the code change.
author | Laurent Charignon <lcharignon@fb.com> |
---|---|
date | Tue, 29 Mar 2016 11:50:41 -0700 |
parents | 39087ee88835 |
children | c90a05124fae |
line wrap: on
line source
from __future__ import absolute_import import os import sys from . import ( osutil, ) def _rcfiles(path): rcs = [os.path.join(path, 'hgrc')] rcdir = os.path.join(path, 'hgrc.d') try: rcs.extend([os.path.join(rcdir, f) for f, kind in osutil.listdir(rcdir) if f.endswith(".rc")]) except OSError: pass return rcs def systemrcpath(): path = [] if sys.platform == 'plan9': root = 'lib/mercurial' else: root = 'etc/mercurial' # old mod_python does not set sys.argv if len(getattr(sys, 'argv', [])) > 0: p = os.path.dirname(os.path.dirname(sys.argv[0])) if p != '/': path.extend(_rcfiles(os.path.join(p, root))) path.extend(_rcfiles('/' + root)) return path def userrcpath(): if sys.platform == 'plan9': return [os.environ['home'] + '/lib/hgrc'] else: return [os.path.expanduser('~/.hgrc')]