[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Sparse checkouts suggestion

From: Paul Hammant <paul_at_hammant.org>
Date: Mon, 18 Sep 2017 18:59:28 -0400

I like the `svn co svn://vcs/trunk --view foo`. Well maybe if in a
following `svn up` it would *remember the current view*, it would be good.

> I'm not sure about listing the "available views" in a default
> property, but okay, it's a possibility. I think it would be nice to be
> able to read it from a file, a url or a property (chosen by the user).
> In theory I'd say it would be nice to read it from a pipe, so you can
> 'cat', 'svn cat' or 'svn propget' the viewspec as input.
>

Google's 9-million* source files at HEAD revision: When checking out the
trunk, and going on to subset down to your expected checkout, there's so
many applications and services in the trunk that their `gcheckout`
technology makes a custom include/exclude set for each developer need based
on a traversal of the Blaze BUILD files. You're mentioning "list" as a sub
command, yet it's not needed at all.

I never saw the source for gcheckout, and it's long gone given Perforce was
replaced by Piper in 2012, and a FUSE took over developer working copy, but
it is still worth understanding to a deeper level.

> gcheckout adsense:tests,adwords:tests,others

The last line ofthe script would invoke

    p4 client -i < "$P4_CLIENTSPEC_TEMP"

And you would do `p4 sync` on the command line following that.

The number of permutations == factorial for (num of modules * packages or
namespaces * build targets)

Don't aim for a concise list of view-specs, or "available" views. Leave it
completely open for globbing include and excludes (as Perforce/Google) to
be generated by smart script techs, and only verify the spec for
correctness on ingestion, IMO.

- Paul
Received on 2017-09-19 00:59:39 CEST

This is an archived mail posted to the Subversion Dev mailing list.