From owner-svn-src-stable-11@freebsd.org Sat Mar 17 00:19:40 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 151F0F5992C; Sat, 17 Mar 2018 00:19:40 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5F8EC7BE44; Sat, 17 Mar 2018 00:19:38 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id w2H05gER099919; Fri, 16 Mar 2018 17:05:42 -0700 (PDT) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id w2H05gcV099918; Fri, 16 Mar 2018 17:05:42 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201803170005.w2H05gcV099918@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r330972 - stable/11/share/misc In-Reply-To: To: Oliver Pinter Date: Fri, 16 Mar 2018 17:05:42 -0700 (PDT) CC: rgrimes@freebsd.org, Bruce Evans , src-committers@freebsd.org, Eitan Adler , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, svn-src-stable-11@freebsd.org, Andriy Gapon Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Mar 2018 00:19:40 -0000 > On 3/16/18, Rodney W. Grimes wrote: > >> On Thu, 15 Mar 2018, Rodney W. Grimes wrote: > >> > >> >> On 15/03/2018 10:30, Eitan Adler wrote: > >> >>> ... > >> >>> Log: > >> >>> MFC > >> >>> r303063,r311852,r311930,r317040,r320506,r321301,r325162,r326759,r329004,: > >> >> I have never seen things like these MFC-ed before... > >> >> Should we be really doing them? > >> > > >> > Yes, imho. And the reasons may seem odd to sum, but here is my spin on > >> > this: > >> > ... > >> > Maybe we should even add to the end of the commiters "these are the > >> > things you should do as a new committer" the merging of your info > >> > into to all supported/active releases. Which is a good opportunity > >> > for teaching how to do svn sparse checkouts as you really do not > >> > want to pull all of stable/10 out just to commit to 1 file. > >> > >> Actually, it is necessary to check out everything to MFC to 1 file. > >> Sparse checkouts only work for committing to head. They break mergeinfo > >> for MFCs. Or so I was told when I MFCed with a sparse checkout. This is > >> my excuse for not MFC'ing anything. > > > > The procedure for a branch is harder, you can do sparse, you just > > have to do the tree one level at a time in sparse mode until you > > get to the leaf you want to commit at. > > > > Then you do the merge at the top of the sparse tree, > > then commit: > > > > (Recent example done to help someone with there first MFC:) > > > > #!/bin/sh > > mkdir ~/svnwork.r328011 > > cd ~/svnwork.r328011 > > svn checkout svn+ssh://repo.freebsd.org/base --depth immediates > > > > cd base/stable && svn update --set-depth=immediates > > cd 11 && svn update --set-depth=immediates > > cd sys && svn update --set-depth=immediates > > cd amd64 && svn update --set-depth=infinity > > > > cd ~/svnwork.r328011/base/stable/11 > > svn merge -c r328011,r329162 ^/head > > svn diff >~/svnwork.r328011/diff.OUT > > > > > > You now no longer have that excuse :-) > > wow, this looks like a brutal overhead... :-\ > > If I want to pull up a specific file to a specific version with git, I > have two options: > a) a proper way > a.0) git checkout target_branch How long did this take, and how many files does find . -type f | wc -l return? > a.1) git log origin_branch -- path/file > a.2) collect the commit ids from the above command > a.3) foreach i ( collected ids ) git cherry-pick $i > > b) the lazy mode > b.0) git checkout target_branch How long did this take, and how many files does find . -type f | wc -l return? > b.1) git show target_branch:./path/file > ./path/file > b.2) git commit -a > > the b.1) point will be a git show id:./path/file > ./path/file too, > where the id is an exact git commit id The above "painful" method runs in a few seconds and produces only a handful of files in ~svwnwork.r328011 Have missed the sparseness aspect? -- Rod Grimes rgrimes@freebsd.org