From nobody Fri Feb 11 14:47:56 2022 X-Original-To: dev-commits-src-main@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 479EC19AFC3C for ; Fri, 11 Feb 2022 14:48:10 +0000 (UTC) (envelope-from gallatin@netflix.com) Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (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 4JwGgr6lx4z4jyF for ; Fri, 11 Feb 2022 14:48:08 +0000 (UTC) (envelope-from gallatin@netflix.com) Received: by mail-ed1-x536.google.com with SMTP id ch26so16728744edb.12 for ; Fri, 11 Feb 2022 06:48:08 -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=54RjN7dF1slL26FBq69owUJzIq++qPZA6MmBiMW28hv6pYXcyjUHeQMySJUcdCockj LKu16myJYRQdVyT2UBNj08yPStIFR5vlwVtofKA/dm4e0GvWhp6rdn20vQNsmd2Dohha U5Y6ahhubmMwcCJ6GZhbTODXUhWrKBNhKQuwzukBDIhsXfSsWBQoF0kOee3oMYP6ezcF ig1rxEL/xVaFJgc9y9bXE1F3lQSQzpNgbwD9eTaZ8R+u1KVcXJGFRuUcBVZRlajp3XRE SXsLwra1quB7gcOJ7xFIx2BG1Z8odZnuy6gEo3HTBVk+j5oM/zWjFXPV0y7Y2fiwHci7 NAGw== X-Gm-Message-State: AOAM5306pc0XCGe5OETK3xiJXouWvBsx3rT+N4e6ZngZYBiQ9bfZPsw8 iG4SgfjNor5l4o1v61FmP0hJ803yrJwEsevDEhsG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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: 4JwGgr6lx4z4jyF 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::536 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-main@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-main]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::536: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--