Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Mar 2018 17:05:42 -0700 (PDT)
From:      "Rodney W. Grimes" <freebsd@pdx.rh.CN85.dnsmgr.net>
To:        Oliver Pinter <oliver.pinter@hardenedbsd.org>
Cc:        rgrimes@freebsd.org, Bruce Evans <brde@optusnet.com.au>, src-committers@freebsd.org, Eitan Adler <eadler@freebsd.org>, svn-src-stable@freebsd.org, svn-src-all@freebsd.org, svn-src-stable-11@freebsd.org, Andriy Gapon <avg@freebsd.org>
Subject:   Re: svn commit: r330972 - stable/11/share/misc
Message-ID:  <201803170005.w2H05gcV099918@pdx.rh.CN85.dnsmgr.net>
In-Reply-To: <CAPQ4ffu6sP9Sz4EEcmhiKjUXps-pQKixzYmtLUKLRHUsgxpkOw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> On 3/16/18, Rodney W. Grimes <freebsd@pdx.rh.cn85.dnsmgr.net> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803170005.w2H05gcV099918>