svn revision in uname
Ian Smith
smithi at nimnet.asn.au
Sun Feb 7 15:46:59 UTC 2016
On Sun, 7 Feb 2016 12:54:36 +0000, Matthew Seaman wrote:
> On 07/02/2016 12:11, Ian Smith wrote:
> > I've been using svnup for source updates for ages, and for my occasional
> > use it works fine. However one thing you don't get is the svn revision
> > shown in uname, eg % uname -vm
> > FreeBSD 9.3-STABLE #0: Thu Oct 29 03:18:26 EST 2015
> > root at x200.smithi.id.au:/usr/obj/usr/src/sys/GENERIC amd64
> >
> > I know where to find it:
> > smithi at x200:~ % ll -rt /var/tmp/svnup/
> > total 30400
> > -rw-r--r-- 1 root wheel 3736967 Apr 22 2014 stable.apr
> > -rw-r--r-- 1 root wheel 3738448 Jun 25 2014 stable.jun
> > -rw-r--r-- 1 root wheel 3738347 Jul 6 2014 release
> > -rw-r--r-- 1 root wheel 7926790 Jan 23 2015 ports.first
> > -rw-r--r-- 1 root wheel 7927003 Jan 23 2015 ports
> > -rw-r--r-- 1 root wheel 3750256 Oct 10 16:43 stable
> >
> > smithi at x200:~ % head -1 /var/tmp/svnup/stable
> > 289106
> >
> > but I don't know where to poke it so build|install world|kernel find it?
> >
> > One of the reasons I prefer svnup on this very (64GB) space-constrained
> > laptop is that it doesn't need svn's extra copy of the repository, but
> > I'm happy to add a /usr/src/.svn dir with whatever is needed for this.
> >
> > Hoping the answer is not "the build needs svn installed to get that" :)
> >
>
> The place where this is all set up is /usr/src/sys/conf/newvers.sh The
> logic there is fairly complicated as it supports svn, git, hg and p4
> VCSes. However, the usual way it works is by running svnversion --
> that's part of the svn port.
>
> % svnversion /usr/src
> 295073M
>
> If that fails, it will try running svnliteversion, and then cycle
> through various different ways of extracting a version string from other
> VCSes until it gets a result.
Thanks for this. Right up to here, I thought it was going to be hard ..
> So, if you don't need SVN installed locally, you could create a small
> shell script as /usr/local/bin/svnversion that runs 'head -1
> /var/tmp/svnup/stable'
Exactly so:
smithi at x200:/usr/local/bin % svnversion anything
289106
It could be made a bit smarter in finding the latest svnup update, when
updating to a release or releng rather than stable, but that's icing.
[Oddly, I found an old version of svn installed from early 2013, that a)
pkg2ng hadn't found because b) it had no old /var/db/svn* directory, ie
was unregistered. Before removal, svnversion /usr/src said 'Unversioned
directory', which was true enough.]
Thanks again,
cheers, Ian
More information about the freebsd-questions
mailing list