On Wed, Apr 8, 2020 at 4:19 AM brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> wrote: > > On 2020-04-07 at 18:48:23, Andy Shevchenko wrote: > > Hi! > > > > What I would like to do is to apply patch from one repository to another with > > same files but *different directory structure*. > > > > When I try to change directory in the target repo to the folder of files, I run > > git-am -p5 my_cool_patch.patch. > > > > Instead of the expected result (files and their contents is the same!) I got > > fileXXX is not in index. > > > > So, I think this is a bug, because -p<n> use in git-am makes little to no sense > > without above feature. > > So if I understand correctly, you're expecting git am to apply relative > to the current directory in the repository. I have also expected that > behavior in the past, and found it surprising when it did not. > > What git am does is apply relative to the root of the repository. If > you'd instead like to apply to a specific subdirectory of the > repository, you can use the --directory option to specify to which > directory your patch should apply. > > This is the behavior of git apply, which underpins git am. However, > outside of a repository, it _does_ apply relative to the current > directory, since there's no repository root to consider. I, at least, > found this confusing, but that's how it works. Thank you for the prompt reply with useful information. I will try it whenever I will need similar flow again. -- With Best Regards, Andy Shevchenko