Comments
Patch
@@ -669,6 +669,8 @@ class patchfile(object):
self.mode = (False, False)
if self.missing:
self.ui.warn(_("unable to find '%s' for patching\n") % self.fname)
+ self.ui.warn(_("(use '--prefix' to apply patch relative to the "
+ "current directory)\n"))
self.hash = {}
self.dirty = 0
@@ -41,6 +41,7 @@ Test failure without --exact
$ hg import --bypass ../test.diff
applying ../test.diff
unable to find 'a' for patching
+ (use '--prefix' to apply patch relative to the current directory)
abort: patch failed to apply
[255]
$ hg st
@@ -1623,6 +1623,7 @@ Importing with unknown file:
$ hg export --rev 'desc("extended jungle")' | hg import --partial -
applying patch from stdin
unable to find 'jungle' for patching
+ (use '--prefix' to apply patch relative to the current directory)
1 out of 1 hunks FAILED -- saving rejects to file jungle.rej
patch applied partially
(fix the .rej files and run `hg commit --amend`)
@@ -1764,3 +1765,31 @@ Importing some extra header
$ hg log --debug -r . | grep extra
extra: branch=default
extra: foo=bar
+
+Warn the user that paths are relative to the root of
+repository when file not found for patching
+
+ $ mkdir filedir
+ $ echo "file1" >> filedir/file1
+ $ hg add filedir/file1
+ $ hg commit -m "file1"
+ $ cd filedir
+ $ hg import -p 2 - <<EOF
+ > # HG changeset patch
+ > # User test
+ > # Date 0 0
+ > file2
+ >
+ > diff --git a/filedir/file1 b/filedir/file1
+ > --- a/filedir/file1
+ > +++ b/filedir/file1
+ > @@ -1,1 +1,2 @@
+ > file1
+ > +file2
+ > EOF
+ applying patch from stdin
+ unable to find 'file1' for patching
+ (use '--prefix' to apply patch relative to the current directory)
+ 1 out of 1 hunks FAILED -- saving rejects to file file1.rej
+ abort: patch failed to apply
+ [255]
@@ -42,6 +42,7 @@ Push patch with missing target:
$ hg qpush
applying changeb
unable to find 'b' for patching
+ (use '--prefix' to apply patch relative to the current directory)
2 out of 2 hunks FAILED -- saving rejects to file b.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working directory
@@ -147,6 +148,7 @@ Push git patch with missing target:
$ hg qpush
applying changeb
unable to find 'b' for patching
+ (use '--prefix' to apply patch relative to the current directory)
1 out of 1 hunks FAILED -- saving rejects to file b.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working directory