On Tue, Mar 22, 2016 at 5:10 AM, Mehul Jain <mehul.jain2029@xxxxxxxxx> wrote: > Hello everyone, > > Recently while using git-apply, I observed that if git-apply is used in a > sub-directory of a Git repository then it silently dies without doing > anything. > > Here's what I did > > ~ $mkdir example > ~ $cd example > example $git init > Initialized empty Git repository in /home/mj/example/.git/ > example $echo main >main > example $git add main > example $git commit -m 'main' > [master (root-commit) 97aeda3] main > 1 file changed, 1 insertion(+) > create mode 100644 main > example $git checkout -b feature > Switched to a new branch 'feature' > example $echo modified >main > example $git add main > example $git commit -m 'modified' > [feature 2551fa2] modified > 1 file changed, 1 insertion(+), 1 deletion(-) > example $mkdir outgoing > example $git diff master >outgoing/feature.patch > example $git checkout master > Switched to branch 'master' > example $cd outgoing/ > outgoing $git apply feature.patch > outgoing $cd .. > example $cat main > main > > As you observed, patch wasn't applied. Is it intended behaviour of > git-apply? Usually to apply the patch I have to copy it to top directory > and then use git-apply. > > I tried out git-am to apply the patch ("git format-patch" was used to > make patch) while being in the "outgoing" sub-directory and it worked > fine. So why does git-apply show this kind of behaviour? > > Thanks, > Mehul Think of git-apply as a specialized version of 'patch', which would also error out if there are path issues. (Inside outgoing/ there is no file found at ./main) git-am is the porcelain command which is what is recommended to users who interact with Git and patches. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html