From nobody Fri Feb 11 14:47:56 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 580FF19AFDB0 for ; Fri, 11 Feb 2022 14:48:10 +0000 (UTC) (envelope-from gallatin@netflix.com) Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JwGgs0mkWz4k40 for ; Fri, 11 Feb 2022 14:48:09 +0000 (UTC) (envelope-from gallatin@netflix.com) Received: by mail-ed1-x52d.google.com with SMTP id s7so16897806edd.3 for ; Fri, 11 Feb 2022 06:48:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netflix.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+dauIBHduBqnWeobhfUZwPLhFTwlhoBYTdJotxrbKYI=; b=KjTAlNQJTpbBqw7qGSrb0SKWwcOgNb3+QslgwHpiXY8SvQrA9wiQtrkDtu2EKZlN6h /2wd/lhcQK2f7qpMT50kr5P91N85pjShKHJapjhxIyMRjEWaqkl9UWu6ZcZIXarJEqg1 q2IML/77oy2J+VxaxUTkfcoFbQpV9zptXNcZg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+dauIBHduBqnWeobhfUZwPLhFTwlhoBYTdJotxrbKYI=; b=JB7/tmPv6zbUvQtvV2nP9vB0PPsdfVs96ZMHmmMyDLkmGcQFnJFB7eTqC0JoZXGRqO Ew3iiYKMrANlfk1Yy4/zfu81U/ZUo7P43ypbYy+iEnPKeLavDjoOvstm4vPZnDa8uBSS 2KhbhoubosfjCxsaigUJacMWknU6qDx8a2rivxRj1dObq9sB7VWZfS49EPESIiyRXZ6o 1UOi+JQnYK1mPB1lkFLczIz+1dDpe70gYylmVD1OBzc7xafad2yXSjJdk7ML1jvDpcfo 4tIyss21ZX2aYFfraP7Bynn7mHpA1LxYo66mneVf4C0NcrLxo2bTjwNDmrBf7gdVrp5e 8pUg== X-Gm-Message-State: AOAM532A9ztJOMnee6ek7UYorlAwDmI2gH1quk4YYtbKQdm0qj6zVJAY hFJxW87Qo9WRaAOpsnjCPmOSGgwcVAofttOpUenh X-Google-Smtp-Source: ABdhPJzXwb+le1K/yDcYayvQOFxboWZXzJcl/3l/gduDOs7mt4uTiKO4pfOR2Mjk6+oGIx3NphWyBvMedxbJ9iWKzJ0= X-Received: by 2002:a05:6402:27d0:: with SMTP id c16mr2311237ede.276.1644590887845; Fri, 11 Feb 2022 06:48:07 -0800 (PST) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202201170935.20H9ZM3T069547@gitrepo.freebsd.org> <72061959-88f8-d2ee-b4e9-f09ca084411e@cs.duke.edu> <98e82b4c-021c-10dc-feb5-a29613fad43f@FreeBSD.org> In-Reply-To: <98e82b4c-021c-10dc-feb5-a29613fad43f@FreeBSD.org> From: Drew Gallatin Date: Fri, 11 Feb 2022 09:47:56 -0500 Message-ID: Subject: Re: git: b1f7154cb125 - main - gitignore: ignore vim swap files & .rej/.orig To: Andriy Gapon Cc: Andrew Gallatin , "Alexander V. Chernikov" , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Conrad Meyer Content-Type: multipart/alternative; boundary="000000000000ac454a05d7bf2781" X-Rspamd-Queue-Id: 4JwGgs0mkWz4k40 X-Spamd-Bar: ------------- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=netflix.com header.s=google header.b=KjTAlNQJ; dmarc=pass (policy=reject) header.from=netflix.com; spf=pass (mx1.freebsd.org: domain of gallatin@netflix.com designates 2a00:1450:4864:20::52d as permitted sender) smtp.mailfrom=gallatin@netflix.com X-Spamd-Result: default: False [-14.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[netflix.com:s=google]; FREEFALL_USER(0.00)[gallatin]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; NEURAL_HAM_SHORT(-1.00)[-1.000]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[netflix.com:+]; DMARC_POLICY_ALLOW(-0.50)[netflix.com,reject]; RCPT_COUNT_SEVEN(0.00)[7]; WHITELIST_DMARC(-7.00)[netflix.com:D:+]; MLMMJ_DEST(0.00)[dev-commits-src-all]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::52d:from]; WHITELIST_SPF_DKIM(-3.00)[netflix.com:d:+,netflix.com:s:+]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-ThisMailContainsUnwantedMimeParts: N --000000000000ac454a05d7bf2781 Content-Type: text/plain; charset="UTF-8" Unless I'm misunderstanding how git works, it appears that there is an easy way (via core.excludesFile) for you to have a gitignore that you prefer, including .orig and .rej. However, because a .gitignore in the repo is processed after local excludes, they override them. So there is no way for me to locally negate .orig and .rej and have things the way that I like it, aside from carrying a patch. So I'm asking again, respectfully, to please make the .orig and .rej ignores a personal rule for you, and to back those rules out of the repo so they don't screw me over. On Fri, Feb 11, 2022 at 1:49 AM Andriy Gapon wrote: > On 11/02/2022 03:25, Andrew Gallatin wrote: > > On 1/17/22 04:35, Alexander V. Chernikov wrote: > >> The branch main has been updated by melifaro: > >> > >> URL: > >> > https://urldefense.com/v3/__https://cgit.FreeBSD.org/src/commit/?id=b1f7154cb12517162a51d19ae19ec3f2dee88e11__;!!OToaGQ!4Lozvj8S2Opxre6qHuywX_aNhwm1heXl1CyQyb0N5f_fiBJEkTQGhLzE7KlqqP9C7A$ > >> > >> > >> commit b1f7154cb12517162a51d19ae19ec3f2dee88e11 > >> Author: Alexander V. Chernikov > >> AuthorDate: 2022-01-08 16:14:47 +0000 > >> Commit: Alexander V. Chernikov > >> CommitDate: 2022-01-17 09:35:15 +0000 > >> > >> gitignore: ignore vim swap files & .rej/.orig > >> Reviewed by: cem, avg > >> MFC after: 2 weeks > > > > > > Hi, > > > > I was wondering if you might consider reverting this change? > > Alternatively, can you teach me how to override this file > > locally without carrying a diff? > > > > I'm asking because this makes life painful for my workflow. > > > > Having git clean be able to handle .orig and .rej is incredibly > > handy when applying large patch sets. It makes finding a rejected > > patch as simple as 'git clean -n | grep rej'. > > > > Also, when directories are removed *AND* they have an errant > > .orig or .rej file remaining in them, git rm will not garbage > > collect the directory. This causes the build to fail. I used > > to use the trick of 'git clean -nd' to find such directories, but > > now they are hidden. This scenario just cost me hours of parsing > > make output, trying to figure out why my build had failed. > > I cannot answer your direct question and I understand that the workflow > you have > is the workflow you are used to. > > But... I personally prefer "modern style" patching and dealing with > conflicts, > etc. Especially when dealing with a version control system and git in > particular. Those .orig and .rej files do not seem to be useful at all in > the > first place. > > I would typically apply a patch either with git apply -3 (and git is > configured > with merge.conflictstyle diff3) or gpatch --merge=diff3 depending on where > the > patch came from (gpatch is the GNU patch from devel/patch). For me it's > much > more convenient to deal with inline conflict markers. > > P.S. > And more directly to your question, find(1) still works :) > > -- > Andriy Gapon > --000000000000ac454a05d7bf2781 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Unless I'm misunderstanding how git works, it app= ears that there is an easy way (via core.excludesFile) for you= to have a gitignore that you prefer, including .orig and .rej.=C2=A0 Howev= er, because a .gitignore in the repo is processed after local excludes, the= y override them.=C2=A0 So there is no way for me to locally negate .orig an= d .rej and have things the way that I like it, aside from carrying a patch.=

So I'm asking again, respectfully, to please = make the .orig and .rej ignores a personal rule for you, and to back those = rules out of the repo so they don't screw me over.

<= br>
On Fri,= Feb 11, 2022 at 1:49 AM Andriy Gapon <avg@freebsd.org> wrote:
On 11/02/2022 03:25, Andrew Gallatin wrote:
> On 1/17/22 04:35, Alexander V. Chernikov wrote:
>> The branch main has been updated by melifaro:
>>
>> URL:
>> https://urldefense.com/v3/__https://cgit.FreeBSD.org= /src/commit/?id=3Db1f7154cb12517162a51d19ae19ec3f2dee88e11__;!!OToaGQ!4Lozv= j8S2Opxre6qHuywX_aNhwm1heXl1CyQyb0N5f_fiBJEkTQGhLzE7KlqqP9C7A$
>>
>>
>> commit b1f7154cb12517162a51d19ae19ec3f2dee88e11
>> Author:=C2=A0=C2=A0=C2=A0=C2=A0 Alexander V. Chernikov <melifar= o@FreeBSD.org>
>> AuthorDate: 2022-01-08 16:14:47 +0000
>> Commit:=C2=A0=C2=A0=C2=A0=C2=A0 Alexander V. Chernikov <melifar= o@FreeBSD.org>
>> CommitDate: 2022-01-17 09:35:15 +0000
>>
>> =C2=A0=C2=A0=C2=A0=C2=A0 gitignore: ignore vim swap files & .r= ej/.orig
>> =C2=A0=C2=A0=C2=A0=C2=A0 Reviewed by:=C2=A0=C2=A0=C2=A0 cem, avg >> =C2=A0=C2=A0=C2=A0=C2=A0 MFC after:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = 2 weeks
>
>
> Hi,
>
> I was wondering if you might consider reverting this change?
> Alternatively, can you teach me how to override this file
> locally without carrying a diff?
>
> I'm asking because this makes life painful for my workflow.
>
> Having git clean be able to handle .orig and .rej is incredibly
> handy when applying large patch sets.=C2=A0 It makes finding a rejecte= d
> patch as simple as 'git clean -n | grep rej'.
>
> Also, when directories are removed *AND* they have an errant
> .orig or .rej file remaining in them, git rm will not garbage
> collect the directory.=C2=A0 This causes the build to fail.=C2=A0 I us= ed
> to use the trick of 'git clean -nd' to find such directories, = but
> now they are hidden.=C2=A0=C2=A0 This scenario just cost me hours of p= arsing
> make output, trying to figure out why my build had failed.

I cannot answer your direct question and I understand that the workflow you= have
is the workflow you are used to.

But... I personally prefer "modern style" patching and dealing wi= th conflicts,
etc.=C2=A0 Especially when dealing with a version control system and git in=
particular.=C2=A0 Those .orig and .rej files do not seem to be useful at al= l in the
first place.

I would typically apply a patch either with git apply -3 (and git is config= ured
with merge.conflictstyle diff3) or gpatch --merge=3Ddiff3 depending on wher= e the
patch came from (gpatch is the GNU patch from devel/patch).=C2=A0 For me it= 's much
more convenient to deal with inline conflict markers.

P.S.
And more directly to your question, find(1) still works :)

--
Andriy Gapon
--000000000000ac454a05d7bf2781--