Re: subtle bug in git-am
- From
Andy Shevchenko <andy.shevchenko@gmail.com>
- Date
- Apr 8, 2020, 09:29 UTC
- Message-ID
- <CAHp75Vfuuth05wn-0x_AZa_LFSmQMHB6LGM5b4KNMoaxce1S-g@mail.gmail.com>
- In-Reply-To
- <20200408011830.GA6549@camp.crustytoothpaste.net>
On Wed, Apr 8, 2020 at 4:19 AM brian m. carlson <sandals@crustytoothpaste.net> wrote:
Show 29 quoted lines
> > 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