Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Mar 2010 13:36:39 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Bakul Shah <bakul@bitblocks.com>
Cc:        hackers@freebsd.org
Subject:   Re: Another tool for updating /etc
Message-ID:  <201003241336.39689.jhb@freebsd.org>
In-Reply-To: <20100324165748.7334B5B42@mail.bitblocks.com>
References:  <201003231108.45102.jhb@freebsd.org> <20100324165748.7334B5B42@mail.bitblocks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 24 March 2010 12:57:48 pm Bakul Shah wrote:
> On Tue, 23 Mar 2010 11:08:45 EDT John Baldwin <jhb@freebsd.org>  wrote:
> > or 'cvs up'.  If the local changes I made do not conflict, then just merge the
> > changes automatically (e.g. enabling a serial console in /etc/ttys should not
> > conflict with $FreeBSD$ changing when moving from 7.2 to 7.3).
> > 
> > To that end, I wrote a new tool that I think does a decent job of solving 
> > these goals.  It does not force you to read the diffs of any files updated in
> > /etc, but there are other tools available for that.  However, if you are ok 
> > with reading UPDATING, commit logs, and/or release notes for that sort of 
> > info, then this tool may work for you.
> > 
> > It also has a nice feature in that you can generate a 'diff' of your current 
> > /etc tree against the "stock" tree allowing you to easily see what local 
> > changes you have made.  I have already found this feature to be far more 
> > useful than I first expected.
> > 
> > The UI is (hopefully) minimalist.  The default output looks like the output of
> > 'svn up' or 'cvs up'.
> > 
> > If you'd like to give it a shot, you can find the script and manpage at 
> > http://www.FreeBSD.org/~jhb/etcupdate/  There is a README file that gives a 
> > brief overview and instructions on how to bootstrap the needed metadata before
> > the first update.  There is also an HTML version of the manpage.
> 
> Looks good!
> 
> But I wonder... why not build something like this around cvs?
> Basically a three way merge is exactly what we want for /etc,
> right?  cvs because it is in the base system.  I used to
> maintain /etc changes in cvs and that was useful in keeping
> track of configuration changes on shared machines.

I wanted something that was version-control agnostic (we use svn at work for
our local version of FreeBSD for example).  Also, while having full history
would be nice, that uses up a good bit more disk space and would duplicate
the history that is available in the existing FreeBSD version control (but with
less useful details such as commit log messages).  I use CVS for /etc on some
of my machines as well and find it handy, but I tend to not use that to do
full 3-way merges, but just track what is in /etc itself.

-- 
John Baldwin



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