GNU bug report logs - #44379
File name affects patch patched file regardless of diff

Previous Next

Package: diffutils;

Reported by: Michael Partridge <mcp292 <at> nau.edu>

Date: Sun, 1 Nov 2020 22:36:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Michael Partridge <mcp292 <at> nau.edu>
To: Andreas Grünbacher <agruen <at> gnu.org>
Cc: 44379 <at> debbugs.gnu.org
Subject: bug#44379: [bug-diffutils] bug#44379: File name affects patch patched file regardless of diff
Date: Mon, 2 Nov 2020 09:46:56 -0700
[Message part 1 (text/plain, inline)]
Thank you for the answer. Yes I usually do use git commands like `git
checkout -p`, but sometimes I need finer grain control over what lines I'm
merging. I ended up finding my solution with the answer below, but I guess
I could do something similar with `git checkout -p` and using `e` to edit.
The nice thing about my findings below is it can be used outside of git.

https://stackoverflow.com/a/64635564/4682839

On Mon, Nov 2, 2020 at 6:14 AM Andreas Grünbacher <agruen <at> gnu.org> wrote:

> Am So., 1. Nov. 2020 um 23:36 Uhr schrieb Michael Partridge <
> mcp292 <at> nau.edu>:
> > Reproduce with:
> >
> > diff -u driver.c.master driver.c > d.diff
> > patch < d.diff
> >
> > driver.c is patched instead of the intended driver.c.master. If I change
> the name to master_driver.c it works as intended.
>
> Unfortunately, patch has no way of knowing what you mean. The filename
> selection algorithm is described here:
>
>
> https://www.gnu.org/software/diffutils/manual/html_node/Multiple-Patches.html
>
> > The use case:
> > When I want to merge a couple lines of changes from another git branch,
> I sometimes rename the file in the master branch by appending .master then
> checkout the file that has some of the changes I want. From there I run the
> diffs as seen above and manually edit the diff file to achieve the exact
> edits I want before patching.
>
> Since you're in a git workflow already, you may be better served by
> "git diff", "git add -p", "git reset", and similar commands.
> Alternatively, use diff's --label option.
>
> Andreas
>
[Message part 2 (text/html, inline)]

This bug report was last modified 4 years and 229 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.