Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jan 2015 04:45:56 +1100 (EST)
From:      Ian Smith <smithi@nimnet.asn.au>
To:        Polytropon <freebsd@edvax.de>
Cc:        Damien Fleuriot <ml@my.gd>, Andrew Berg <aberg010@my.hennepintech.edu>, freebsd-questions@freebsd.org
Subject:   Re: Request for comments - svnup in base ?
Message-ID:  <20150119024349.T82172@sola.nimnet.asn.au>
In-Reply-To: <mailman.61.1421582401.23573.freebsd-questions@freebsd.org>
References:  <mailman.61.1421582401.23573.freebsd-questions@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In freebsd-questions Digest, Vol 554, Issue 7, Message: 3
On Sun, 18 Jan 2015 02:09:06 +0100 Polytropon <freebsd@edvax.de> wrote:
 > On Sat, 17 Jan 2015 16:24:12 +0100, Damien Fleuriot wrote:
 > > On a related topic, how would you guys feel about svnup being part of BASE ?
 > > 
 > > Or perhaps, include a bootstrap install much like pkg has.
 > > 
 > > I for one, would very much like it.
 > 
 > I think the same. If you look into FreeBSD's history of
 > dealing with source code checkout methods, you'll find
 > this: port cvsup-without-gui -> base csup -> move to
 > SVN -> port subversion -> ? - here a tool to get updates
 > from source control would be nice. In the past, the
 > CVS-based tool did allow you to "make update" for the
 > /usr/src and /usr/ports tree. For the ports, we have
 > portsnap to obtain a snapshot (not _precisely_ current),
 > but for /usr/src, we currently don't have a tool in
 > the base system. Installing the full subversion port
 > isn't that hard, but a csup-lookalike in the base
 > would be nice, for the simple task to checkout sources,
 > even if it's just a bootstrap mechanism (cf. pkg).

No it isn't that hard, but unless you're developing for the tree, svn's 
pretty heavyweight on space-constrained systems; lots of dependencies 
and lots of extra space used.

svnup(1) is easy to install - bootstrap, if you like - with make install 
or pkg install; it's tiny; has no dependencies; and has proper manpages 
svnup(1) and svnup.conf(5).  None of which can be said for svn{,lite}(1)

I don't know how it may be plugged into 'make update', but it's designed 
to be largely cvsup-compatible in usage & configuration, so that should 
be doable.  I'm happy enough running 'svnup stable' as and when desired.

[Damian's original and Andrew's response are in the list archives though 
both failed to appear in this and the last digest issues; very unusual.]

Andrew Berg wrote:

 > What advantage does it have over svnlite(1)?

I think several for it's designed purpose, a compact cvsup replacement.  

svnlite only arrived with 10.1, so is not what 8.x and 9.x users need.  
It doesn't appear as an available port for 9.3.  Its manpage is useless, 
an s/svn/svnlite/g job on svn(1), neither of which instruct in usage at 
all, referring to a site that, nowhere that I could find, even mentions 
svnlite and friends.  Developer friendly, casual user hostile at best.

So just how 'lite' is svnlite?  Could someone running 10.1+ please 
replace svnup with svnlite in equivalents to the following queries:

smithi@x200:~ % ll `which svnup`
-r-xr-xr-x  1 root  wheel  47040 Jan 19 01:26 /usr/local/bin/svnup

smithi@x200:~ % ldd `which svnup`
/usr/local/bin/svnup:
        libmd.so.5 => /lib/libmd.so.5 (0x800824000)
        libssl.so.6 => /usr/lib/libssl.so.6 (0x800a34000)
        libc.so.7 => /lib/libc.so.7 (0x800c8a000)
        libcrypto.so.6 => /lib/libcrypto.so.6 (0x800fe5000)

smithi@x200:~ % ll /lib/libmd.so.5 /usr/lib/libssl.so.6 /lib/libc.so.7 /lib/libcrypto.so.6
-r--r--r--  1 root  wheel  1407536 Jun 25  2014 /lib/libc.so.7
-r--r--r--  1 root  wheel  1748528 Jun 25  2014 /lib/libcrypto.so.6
-r--r--r--  1 root  wheel    69072 Jun 25  2014 /lib/libmd.so.5
-r--r--r--  1 root  wheel   355576 Jun 25  2014 /usr/lib/libssl.so.6

smithi@x200:~ % du -hd0 /usr/src
830M    /usr/src
smithi@x200:~ % du -hd0 /usr/ports
1.6G    /usr/ports

Note neither /usr/src nor /usr/ports need any .svn directory here; 
ports/.svn was almost as big again after bsdinstall installed ports.
I don't now recall if I had to rm /usr/src/.svn after install also.

Developers tend to have big, fast, new boxes with plenty of disk; not so 
everyone.  My X200 came with a 64GB SSD - fast but not exactly spacious:

smithi@x200:~/de118i-2 % df -h
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/ada0s2a    1.5G    902M    466M    66%    /
devfs           1.0k    1.0k      0B   100%    /dev
/dev/ada0s2d    2.9G    2.1G    554M    80%    /var
/dev/ada0s2e     13G    9.4G    3.1G    75%    /usr
/dev/ada0s2f     32G     15G     15G    50%    /home

Bottom line: I don't think plugging to get svnup into base is worth 
pursuing.  Few developers took any interest that I noticed, it was 
largely tested by users.  John Mehr has been very responsive to any 
issues.  To one to whom C is mostly read-only, it reads very well.

I think it's ok as a port .. perhaps a small section in the Handbook?

cheers, Ian



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