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>