> On Sep 1, 2016, at 09:18, liscju <piotr.listkiew...@gmail.com> wrote: > > # HG changeset patch > # User liscju <piotr.listkiew...@gmail.com> > # Date 1472208500 -7200 > # Fri Aug 26 12:48:20 2016 +0200 > # Node ID 6437b071045756ba8b76c90ece76df83afc52989 > # Parent b1809f5d7630a3fff0fa715bbd30dba0f07672a8 > import: report directory-relative paths in error messages (issue5224) > > Import uses paths relative to the root of the repository, so when > user imports patch with paths relative to the current working directory > import aborts with 'unable to find file for patching'. > > This patch improves this situation by warning the user that paths are > relative to the root of repository when the path exists from > current working directory. > > diff --git a/mercurial/patch.py b/mercurial/patch.py > --- a/mercurial/patch.py > +++ b/mercurial/patch.py > @@ -669,6 +669,11 @@ class patchfile(object): > self.mode = (False, False) > if self.missing: > self.ui.warn(_("unable to find '%s' for patching\n") % self.fname) > + wvfs = backend.repo.wvfs
That's a layering violation, and not every backend has a 'repo' (only repo backends do). Also I think you're overthinking it; just warn unconditionally and let the user sort it out. > + if wvfs.exists(wvfs.reljoin(backend.repo.getcwd(), self.fname)): > + self.ui.warn(_("Note that paths are relative to the root " > + "of repository, use --prefix option to " > + "change it\n")) pacem in terris / мир / शान्ति / سَلاَم / 平和 Kevin R. Bullock _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel