diff -r 1d5e497c08b3 -r 7dcb517122f9 mercurial/sparse.py --- 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)