On Wed, 13 Mar 2013 16:29:45 +1100 (EST)
Ian Smith <smi...@nimnet.asn.au> wrote:
On Tue, 12 Mar 2013 18:32:28 -0500, John Mehr wrote:
> On Tue, 12 Mar 2013 02:20:37 +0100
> "Michael Ross" <g...@ross.cx> wrote:
> > On Tue, 12 Mar 2013 00:15:35 +0100, John Mehr
<j...@visi.com> wrote:
[..]
> > > Hello,
> > >
> > > I'm currently in the process of adding http/https
support to svnup and
> > > once I've got that working, the command line
interface will be changing
> > > to be more like the traditional svn client to make
it easier for people
> > > to adopt the tool [...]
> >
> > What'd you think about a syntax extension along the
lines of
> >
> > svnup --bsd-base
> > svnup --bsd-ports
> > svnup --bsd-all
> >
> > with automagic host selection, default to uname's
major version stable
> > branch and default target dirs?
>
> Hello,
>
> This sounds good to me, and as long as there's some
sort of a consensus that
> we're not breaking the principle of least surprise,
I'm all for it. The one
> default that may be unexpected is the defaulting to
the stable branch --
> people who track the security branches will be left
out. So maybe something
> like:
>
> svnup --ports
> svnup --stable
> svnup --security (or --release)
>
> Thoughts?
Hi John,
I have a few ..
Firstly, this is a great advance for I suspect many
people who aren't
developers as such, but want to simply update sources
for some or all of
the reasons Ike spells out on his wiki page. The sooner
this hits the
tree the better in my view, but adding more features
won't speed that.
I have a small test system on which I'd installed (two
instances of) 9.1
so a couple of days ago I fetched ports with portsnap,
installed svnup,
and ran it using the (just what I needed) example
command in svnup(1).
I get about 700KB/s here, and svnup took about 15
minutes to update 9.1
sources to 9-stable. This is fine. Last night I ran it
again, but it
took 12:42 to make no changes. This seemed puzzling, as
you'd said only
a few minutes for subsequent updates, but the reason
appears to be that
in both cases, I ran it in script(1), and the default
verbosity of 1
includes a listing of every directory and file examined,
followed by
<CR> then <erase to eol> codes. Even in less -r (raw)
mode it still has
to display and skip through all the (now invisible)
lines; bit messy.
Even the second do-nothing run made a 2MB script file,
the original with
all 9.1 to -stable updates being 3.4MB. So I'd love the
option to only
list the changes (- and +) and simply ignore unchanged
dirs/files
without any display for use in script(1). Apart from
that, I'm happy.
Which mirror are you using? I ran several tests tonight
repeatedly fetching 9/stable from svn0.us-west (so they
would all be do-nothing runs) both inside and outside of a
script(1) capture and on both an old SSD and on a ZFS
mirrored array (to see if the target media made any
difference) and they all completed in 2 minutes, 43
seconds +/- 2 seconds on my 350 KB/s connection.
I'll definitely put in a verbosity level that does exactly
what you suggest. Sorry about that.
As is, it more or less follows csup(1) type arguments,
and I think that
as a c{,v}sup replacement that's appropriate. Making
its arguments more
like svn's may actually be confusing, if it leads people
to think of it
as "svn light" when it really isn't, especially with no
.svn directory.
This is an excellent point, and I agree 100%.
As we have portsnap, which updates INDEX-* and checks
integrity, I'm not
sure that using svnup for ports is worthwhile
considering. It would
save (here) 135MB in var/db/portsnap, but that's pretty
light in view of
the 700MB-odd of /usr/ports/.svn in the ports
distributed with 9.1-R
As for stable, release or security branches (of which
major release?) I
think specifying base/stable/9 or whatever is good; it
helps people with
10 or more years of 9-STABLE or 9.1-RELEASE etc syntax
adapt to the svn
reality but remains explicit enough to put in a script
and know just
what's being fetched, without regard to the fetching
machine's uname.
Not to go as far as emulating supfiles, but a few things
(host, branch
and target dir) would be useful in a small .conf file
that could be
specified on command line, as a supfile is to csup,
perhaps?
Actually, after reading both this message and Alexander
Yerenkow's excellent suggestion, I think implementing some
sort of supfile/.conf/aliases file (with command line
parameters overriding the settings in the
supfile/.conf/aliases) is the way to go.
And svnup(1) really should mention that any files in the
target tree not
in the repository will be deleted, which was
(explicitly) not the case
with c{,v}sup. I only lost a few acpi patches that I
think have likely
made it to stable/9 anyway, and it's a test system, but
I was surprised.
I always thought csup did delete files. I was looking at
csup's man page for things to put on the to-do list and
there's a csup command line parameter ( -d ) that puts a
limit on the number of files that can be deleted in a
given run. Adding this feature is already on my to-do
list, and I've just added another item to let the user
choose whether svnup should delete extra files in the
local source tree.
All the best John; as a first contribution I think this
is fabulous!
cheers, Ian
Thank you for the kind words and the constructive
feedback. It's very much appreciated!
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"