Mercurial > hg
diff mercurial/sparse.py @ 33683:7dcb517122f9
sparse: properly error out when absolute paths are used
Current logic is misleading (it says it drops only absolute paths, but
it actually drops all of them), not cross-platform (does not support Windows)
and IMO just wrong (as it should just error out if absolute paths are given).
This commit fixes it.
author | Kostia Balytskyi <ikostia@fb.com> |
---|---|
date | Wed, 02 Aug 2017 15:05:21 -0700 |
parents | 22371eabb3b1 |
children | e1c56486d1aa |
line wrap: on
line diff
--- a/mercurial/sparse.py Thu Aug 03 23:02:32 2017 +0900 +++ b/mercurial/sparse.py Wed Aug 02 15:05:21 2017 -0700 @@ -636,10 +636,10 @@ newexclude = set(oldexclude) newprofiles = set(oldprofiles) - if any(pat.startswith('/') for pat in pats): - repo.ui.warn(_('warning: paths cannot start with /, ignoring: %s\n') - % ([pat for pat in pats if pat.startswith('/')])) - elif include: + if any(os.path.isabs(pat) for pat in pats): + raise error.Abort(_('paths cannot be absolute')) + + if include: newinclude.update(pats) elif exclude: newexclude.update(pats)