From owner-freebsd-current@freebsd.org Sun Sep 20 22:37:39 2020 Return-Path: Delivered-To: freebsd-current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4A2023F41A4 for ; Sun, 20 Sep 2020 22:37:39 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-eopbgr670072.outbound.protection.outlook.com [40.107.67.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BvjBV2VKQz4dbF for ; Sun, 20 Sep 2020 22:37:37 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CY4jc1mlHkbfWSHnvrWVI5ZICqXjZ/wt6A8sR80acVo0qbnRrFVh3YxOg+aE8Y5bAgBtWdq3tB7TxtJoZQafgXQCQS/di2HTr3CgS36kHlW6f3zwotFEpmVYVndWvUVk18DrocD+6s3BccvKEI8WRScy5hOpvCI+XoGory5GuCf50jm474mi7E1mKJhaVlzYmnb2fsl8oy0zEocLOIhPajHvjRO5UIsOFcxxLWtZsD+3Whz6lKctEjpjXeLC3ox7dSHQHDrsbTjGsGSz85lJM/QVR9vf2JGtklImfyW9x7Y1GPJtLQhTwRljgdoWyxY6v9Vku+rlABEYcxHQajyLgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y8+jwCFXfAfTGaFqN8f87VOI0NQzgo2P0lropZqKfzc=; b=XNNh9N4c9ut2468VjlOWV5mE8D+wlB0uJaZkfeHbVDGXAlkxT0UYjYBAQ4G6rG6DZKmQRfT0uGEnplVPa79KQtIOxFLVfMK/QMztNEz6DM1s56lMBU/IbZHzoHEpfajSGuFcTIt8vNiPNj8tgrGvrjtvb67WXG/Xp2lkCA0BDyb25sqfQmF1nFMIFBxE5ci0d3dnFGckNpCiHijilh0XwmKQVXfgWo4JiEgIbZ4ihgdHm6aJtFUEHrhdhogrQUdaOcJlYo9nwG2b6J9gtVDyP2/9Rt8u/jmQmXztzKz9D9uHGVm7U4cl5Yyig5z4AGsL6GCUa2d7HOJ4kQM5BMwWFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none Received: from YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:24::27) by YT1PR01MB2427.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:4::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.15; Sun, 20 Sep 2020 22:37:35 +0000 Received: from YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM ([fe80::687f:d85a:a0a3:bd20]) by YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM ([fe80::687f:d85a:a0a3:bd20%6]) with mapi id 15.20.3391.024; Sun, 20 Sep 2020 22:37:35 +0000 From: Rick Macklem To: Christian Weisgerber , "freebsd-current@freebsd.org" Subject: Re: Plans for git Thread-Topic: Plans for git Thread-Index: AQHWj18oRIlu1/OfAECJ/cABXAec5qlyGhtX Date: Sun, 20 Sep 2020 22:37:35 +0000 Message-ID: References: <20200902045939.GA15897@eureka.lemis.com> <20200902060117.GG53210@home.opsec.eu> <20200902063136.GA47543@troutmask.apl.washington.edu> <20200902164706.GA49777@troutmask.apl.washington.edu> <5c89b4d27281f5dfffc3252a90013b0ac6c763d7.camel@freebsd.org> <5c832482-b2bc-47e4-8762-8f5a886d5f11@www.fastmail.com> <68585ca4-5ca4-40d3-b2f4-67ff3b35b6ae@www.fastmail.com> <0be2ae57d1c58e2091f4cc4484731df0@bsdforge.com> <967D73EA-880E-413D-B748-62A406C46524@FreeBSD.org> <9f89dc553e7d7b0884c2862329bdfeae@bsdforge.com> , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e43620cb-6dd2-4a3f-24e3-08d85db5c555 x-ms-traffictypediagnostic: YT1PR01MB2427: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OfkF0wnjcJah5lEsimaUpopYkjpQm+1tmGrgWBnEmRTDI7rBLoEZmwbdB64HxGGLuyMnEFvQtxAe0083Nyay/KA15IKijfW1mJRxyESn5WQBFAOO2w8aahJ2UV21a9V7kpg9dp+O1C7y0ewMz+wxU0NrTVOph9FeC/ZF64iD6Va+0NHz6k3a6C6E2rt4noQIT89YFAai5cbfgFfUOZzuac835tWhGKZ00iO/nTX18eL2cQ68Z7lPWABrAy8nV2gJ+zSEIqmtYUW0SR6OMGpqY8spt5UAXyJ9IIgsRMkRzO5x03f0s2sOHgndKPvOLoG0VlGezB7qvk5QqTn6FkIt1n7boGZvUIiY2aMN1yAILC98PmpEScCWGPHHZ/ToQaPehlV2UsDScFgPtNSoKco0A2KTeBXjG1y28JJjLOsihcFpSgsNzKH2/mcTYZ03yiUXmiFeOCfLXPo/5WU/iEkKng== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(396003)(39850400004)(136003)(366004)(346002)(376002)(66446008)(66476007)(83380400001)(7696005)(110136005)(186003)(33656002)(6506007)(3480700007)(71200400001)(9686003)(55016002)(7116003)(5660300002)(52536014)(66946007)(8676002)(8936002)(786003)(316002)(64756008)(86362001)(478600001)(91956017)(2906002)(76116006)(966005)(66556008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 3UB3F54z7UfQZMjmpohM4Gq5bAC4dIboXemiWfXl13TrFgYGfy9yu7/rpIJ+F9zSQVkIogd5hf4PF/cOeFNVfkhFjptQVeutEiQeNm1lR24MYIBmhgKAmhpHeLaQmqS98LhLs8WuafitAhBOISV28Cn1uk/OeuXeTMjCaUnj8MwW539GsEWFLEDngPfE/pj+Xp/GTdjBy7S5XhgBMgVnkaUdJIIq1hg7miGjxwc7JQFG2e2TweV9lu4fQ78Kxp8jxv9mSehvSdeunI6g2EuaHrgSTa7kdXg6PDJF3CyGyV986Y2deXqDRPBBYVE5tqLnxiv68QfIs/YVrMfDPG5qNwajyXWYCF3zMKEfwgoTySwQCTgET3LfNrUWaDIC7wfS4aPgtKIiEQx0yRRKrxGuE4goDujuCQhcvz1njzHOl3tGPHQIayvbhJoZVZnrUJl4CkAdUiDKf8AHYDWW4Xu8/bwbHj3Pd7N9oCEk/4uP5Z5g5YZa7Hw5M1g1UflbLsG9q3U9jIpnwVdWX0BOetrZBYGrVDznWl8PRawCcTIYE2/UhwPcoM06EANWzJCWHpmI9HR07o2o2ozeXQX9f5kKj5qPtn8R6pkq1adBIHO61OA1s18BmfhRDpeFejmXiS/341ayqrmDXyr8I6KYJ4R8G9qPVllJEB6VukDGBlQnyj2GiWNO7Vwl7UEcXTJw2ayBolP+JPyt0zHsddu6KfzHIA== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: e43620cb-6dd2-4a3f-24e3-08d85db5c555 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2020 22:37:35.2631 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 909JlsM6pK2D/6SZDR9m0fKB3XFa3CULuD5GfhX18w42efRme1ieHGCHjfgQ1sX08+uFcf8/L3stwYHx5D/f3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT1PR01MB2427 X-Rspamd-Queue-Id: 4BvjBV2VKQz4dbF X-Spamd-Bar: ------ X-Spamd-Result: default: False [-6.37 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.98)[-0.985]; R_DKIM_ALLOW(-0.20)[uoguelph.ca:s=selector1]; FREEFALL_USER(0.00)[rmacklem]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; NEURAL_HAM_LONG(-1.03)[-1.026]; MIME_GOOD(-0.10)[text/plain]; DWL_DNSWL_LOW(-1.00)[uoguelph.ca:dkim]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[uoguelph.ca:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[uoguelph.ca,none]; NEURAL_HAM_SHORT(-1.26)[-1.258]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.67.72:from]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; MAILMAN_DEST(0.00)[freebsd-current]; RCVD_IN_DNSWL_LOW(-0.10)[40.107.67.72:from] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Sep 2020 22:37:39 -0000 Christian Weisgerber wrote:=0A= > On 2020-09-19, Zaphod Beeblebrox wrote:=0A= > =0A= > > Hrm. Maybe what I hear others saying, tho, and not entirely being repl= ied=0A= > > to is just a nice concise document of the why. What I hear you saying = is=0A= > > that GIT has momentum and that it's popular... (and I accept that --- i= t is=0A= > > evidently true), but then I hear handwaving about features, but no list= of=0A= > > features that are a clear win/loose.=0A= >=0A= > How about the very basics (that Warner appears to have lost sight=0A= > of)?=0A= >=0A= > Git is a distributed version control system. You clone a repository=0A= > and apart from pulling and pushing changes to another repository,=0A= > all your work happens with the local repository. Subversion has a=0A= > central repository and needs to talk to the server all the time.=0A= > Laptop on a plane? No change of workflow with Git.=0A= Well, I (mostly lurk) on the linux-nfs@vger.kernels.org mailing list,=0A= where the Linux NFS work gets done.=0A= What I see is the following, when someone has an enhancement/change=0A= for the Linux NFS code.=0A= Do I see one diff with all the changes in it...No.=0A= I see anywhere from a few to over 50 email messages, each with=0A= one little piece of the pie, out of git.=0A= =0A= I have no idea how they review this stuff.=0A= If I were stuck doing it, I'd end up creating an unpatched tree, copying it= =0A= and applying all the patches to the copy and then creating a single diff=0A= to look at in phabricator, which does display the changes very nicely.=0A= =0A= So, I hope that a transition to git does not encourage "lots of small=0A= loosely related commits" to the FreeBSD repository.=0A= =0A= Also, I find svnweb useful, mostly to look at the commits done to a=0A= file in temporal (most recent first) order. The global serial revision=0A= number is very nice, but so long as it is easy to see the temporal=0A= ordering of changes, I can live with that.=0A= =0A= > And since it's your repository, you can cheaply create your own=0A= > branches, where you can commit your work and have a versioned history=0A= > of it instead of just a flat diff. I can't overstate the value of=0A= > that. Whether you work on something that will be pushed back=0A= > upstream or just your private changes, it has a full commit history.=0A= I, on the other hand, will have no use for this. I can easily keep track of= =0A= changes I do by naming file.sav, file.sav2,...=0A= I like to carefully merge changes into the repository checkout after I've= =0A= tested them, taking a careful look at the changes as I go.=0A= I find most of the subtle bugs (that wouldn't be detected during normal=0A= testing) during this "code inspection".=0A= --> I think anything that encourages another look at the change before=0A= commit is a good thing.=0A= Put another way, slow and careful is better than quick and easy, imho= .=0A= =0A= I've live with the transition, but to be honest, I know it won't make my=0A= work better or easier, rick=0A= =0A= You can easily revert commits, you can upstream it one by one, you=0A= can upstream it with history.=0A= =0A= When FreeBSD switched from CVS to SVN, there was hope or promise=0A= of lightweight branches, but that never materialized. Developers=0A= still can't have private branches in the FreeBSD repository. For=0A= a while, a lot of development happened in a Perforce repository--a=0A= commerical version control system, whose company had donated a=0A= license--which offered this feature. Nowadays, everybody who does=0A= any but the most trivial development does so in a private Git=0A= repository anyway. It only makes sense to interface this directly=0A= with the FreeBSD repository instead of going through a SVN<>Git=0A= media break.=0A= =0A= > Certainly the only clear things a quick search turns up that seem relevan= t=0A= > is that GIT is GPL2.0 and SVN is Apache2.0. This was enough for LLVM vs= =0A= > GCC and the repository is a core function, but I suppose not a necessary= =0A= > function for forked projects that can't abide, so...=0A= =0A= There is a bit of historical precedent: The original BSD work at=0A= Berkeley was kept in a SCCS repository, a proprietary version control=0A= system at the time.=0A= =0A= And of course the fact that significant FreeBSD development has=0A= effectively happened in Perforce, then in Git for a long time and=0A= is just merged back into the Subversion repository. To put it=0A= bluntly, the people doing the work have voted with their feet years=0A= ago.=0A= =0A= --=0A= Christian "naddy" Weisgerber naddy@mips.inka.de=0A= _______________________________________________=0A= freebsd-current@freebsd.org mailing list=0A= https://lists.freebsd.org/mailman/listinfo/freebsd-current=0A= To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"= =0A= =0A=