Thread: best way to apply and work on the patches of the pg community

best way to apply and work on the patches of the pg community

From
mahendrakar s
Date:
Hi Pg team,

I would like to work on a patch published on hackers community( patch is from June, 2021). I cloned postgres code and tried to  apply the patch and got errors.

patch -p1 < ../0001-auth-generalize-SASL-mechanisms.patch
patching file src/backend/libpq/auth-scram.c
Hunk #1 FAILED at 101.
Hunk #2 FAILED at 170.
Hunk #3 FAILED at 199.
Hunk #4 FAILED at 215.
Hunk #5 FAILED at 325.

Can you please let me know what is the recommended way to apply the patches for me to begin the work?

Thanks,
Mahendrakar.

Re: best way to apply and work on the patches of the pg community

From
"David G. Johnston"
Date:
On Fri, Jul 15, 2022 at 8:33 AM mahendrakar s <mahendrakarforpg@gmail.com> wrote:
Hi Pg team,

I would like to work on a patch published on hackers community( patch is from June, 2021). I cloned postgres code and tried to  apply the patch and got errors.

patch -p1 < ../0001-auth-generalize-SASL-mechanisms.patch
patching file src/backend/libpq/auth-scram.c
Hunk #1 FAILED at 101.
Hunk #2 FAILED at 170.
Hunk #3 FAILED at 199.
Hunk #4 FAILED at 215.
Hunk #5 FAILED at 325.

Can you please let me know what is the recommended way to apply the patches for me to begin the work?


I'm still in a bit of trial-and-error mode myself but I try to use `git apply` first, possibly after making sure that the files are newline only line endings.

David J.

Re: best way to apply and work on the patches of the pg community

From
Tom Lane
Date:
mahendrakar s <mahendrakarforpg@gmail.com> writes:
> I would like to work on a patch published on hackers community( patch is
> from June, 2021). I cloned postgres code and tried to  apply the patch and
> got errors.

> *patch -p1 < ../0001-auth-generalize-SASL-mechanisms.patch*
> patching file src/backend/libpq/auth-scram.c
> Hunk #1 FAILED at 101.
> Hunk #2 FAILED at 170.
> Hunk #3 FAILED at 199.
> Hunk #4 FAILED at 215.
> Hunk #5 FAILED at 325.

> Can you please let me know what is the recommended way to apply the patches
> for me to begin the work?

"patch -p1" is the way that usually works the best for me.  My guess
here is that the patch in question is out of date and will need manual
adjustment to apply to HEAD.  There have been some pretty significant
changes in that code in the last year, eg 9fd85570d.

Sometimes --ignore-whitespace helps, but I doubt that's the main
problem in this case.

            regards, tom lane



Re: best way to apply and work on the patches of the pg community

From
Alvaro Herrera
Date:
On 2022-Jul-15, mahendrakar s wrote:

> I would like to work on a patch published on hackers community( patch is
> from June, 2021). I cloned postgres code and tried to  apply the patch and
> got errors.
> 
> *patch -p1 < ../0001-auth-generalize-SASL-mechanisms.patch*
> patching file src/backend/libpq/auth-scram.c
> Hunk #1 FAILED at 101.

I would suggest to do a "git checkout" to a point in the tree near where
the patch was posted, then do "patch -p1" or "git apply" or "git am",
which is likely to work without conflict; then commit.  Then you can
merge to the tip of whatever branch it is, and you will get the
conflicts then.  It may be simpler to fix the conflicts there (with
git's help).

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
"En las profundidades de nuestro inconsciente hay una obsesiva necesidad
de un universo lógico y coherente. Pero el universo real se halla siempre
un paso más allá de la lógica" (Irulan)



Re: best way to apply and work on the patches of the pg community

From
mahendrakar s
Date:
Thank you ...I followed the same approach.

Thanks,
Mahendrakar 

On Wed, 24 Aug, 2022, 8:00 pm Alvaro Herrera, <alvherre@alvh.no-ip.org> wrote:
On 2022-Jul-15, mahendrakar s wrote:

> I would like to work on a patch published on hackers community( patch is
> from June, 2021). I cloned postgres code and tried to  apply the patch and
> got errors.
>
> *patch -p1 < ../0001-auth-generalize-SASL-mechanisms.patch*
> patching file src/backend/libpq/auth-scram.c
> Hunk #1 FAILED at 101.

I would suggest to do a "git checkout" to a point in the tree near where
the patch was posted, then do "patch -p1" or "git apply" or "git am",
which is likely to work without conflict; then commit.  Then you can
merge to the tip of whatever branch it is, and you will get the
conflicts then.  It may be simpler to fix the conflicts there (with
git's help).

--
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
"En las profundidades de nuestro inconsciente hay una obsesiva necesidad
de un universo lógico y coherente. Pero el universo real se halla siempre
un paso más allá de la lógica" (Irulan)