Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > alt.os.linux > #80263
| From | "J.O. Aho" <user@example.net> |
|---|---|
| Newsgroups | alt.os.linux |
| Subject | Re: patch a file with the patch command |
| Date | 2024-08-05 12:43 +0200 |
| Message-ID | <lhbom2FnhvqU1@mid.individual.net> (permalink) |
| References | <v8pvb6$iff4$1@dont-email.me> |
On 05/08/2024 09.35, alex wrote:
> Hello everyone.
>
> I'll show you my file structure right away
>
> ├── middle
> │ ├── orig
> │ └── revised
> └── orig
>
> I access the middle directory (the working dir)
>
> $ cd middle
>
> Let's examine the contents of the files
>
> $ cat orig
> ORIG
>
> $ cat ../orig
> ORIG
>
> $ cat revised
> REVISED
>
> Note that the contents of the orig and ../orig files are identical (the
> two files are identical), but that shouldn't be a big deal.
>
> Let's create the patches
>
> $ diff -u orig revised > patch-middle
> $ diff -u ../orig revised > patch-up
>
> Let's check the created files (the patches)
>
> $ cat patch-middle
> --- orig 2024-08-02 14:22:59.933683396 +0200
> +++ revised 2024-08-02 10:17:25.108469758 +0200
> @@ -1 +1 @@
> -ORIG
> +REVISED
>
> $ cat patch-up
> --- ../orig 2024-08-02 14:22:59.937683379 +0200
> +++ revised 2024-08-02 10:17:25.108469758 +0200
> @@ -1 +1 @@
> -ORIG
> +REVISED
>
> It looks ok.
>
> Note that for both files (orig and ../orig) the same revision file
> (revised) was used, but, again, this should not be a big deal.
>
> Applying the patches
>
> $ patch < patch-middle
> patching file orig
>
> $ patch < patch-up
> patching file orig
> Reversed (or previously applied) patch detected! Assume -R? [n]
> Apply anyway? [n] y
> Hunk #1 FAILED at 1.
> 1 out of 1 hunk FAILED -- saving rejects to file orig.rej
>
> As you can see with the patch-middle file everything works.
> While with the patch-up file there is something wrong (Hunk #1 FAILED at
> 1).
>
> Why?
You are trying to "move" the ../orig to revised, the revised file
already exists, so not allowed.
This not how you are supposed to do it, a proper way is to do
├── src
├── orgcopy
| ├── orig
├── revisedcopy
├── orig
cd src
diff -Nurb orgcopy revisedcopy > from_org_to_revised.patch
cd orgcopy
patch -p1 < ../from_org_to_revised.patch
say you made this change
├── src
├── orgcopy
| ├── orig
├── revisedcopy
├── revised
cd src
diff -Nurb orgcopy revisedcopy > from_org_to_revised.patch
cd orgcopy
patch -p1 < ../from_org_to_revised.patch
you would end up with
├── src
├── orgcopy
| ├── revised
├── revisedcopy
├── revised
--
//Aho
Back to alt.os.linux | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
patch a file with the patch command alex <1j9448a02@lnx159sneakemail.com.invalid> - 2024-08-05 09:35 +0200
Re: patch a file with the patch command "J.O. Aho" <user@example.net> - 2024-08-05 12:43 +0200
Re: patch a file with the patch command alex <1j9448a02@lnx159sneakemail.com.invalid> - 2024-08-05 17:33 +0200
Re: patch a file with the patch command "J.O. Aho" <user@example.net> - 2024-08-05 23:05 +0200
Re: patch a file with the patch command alex <1j9448a02@lnx159sneakemail.com.invalid> - 2024-08-06 07:39 +0200
Re: patch a file with the patch command "J.O. Aho" <user@example.net> - 2024-08-06 08:06 +0200
Re: patch a file with the patch command alex <1j9448a02@lnx159sneakemail.com.invalid> - 2024-08-06 07:36 +0200
csiph-web