Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 01 Oct 2005 13:34:32 -0700
From:      Bakul Shah <bakul@BitBlocks.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re: A smarter mergemaster 
Message-ID:  <200510012034.j91KYWPQ064132@gate.bitblocks.com>
In-Reply-To: Your message of "Fri, 30 Sep 2005 19:01:05 %2B0400." <20050930150105.GA55158@comp.chem.msu.su> 

next in thread | previous in thread | raw e-mail | index | archive | help
Here is an idea for the mergemaster hackers' consideration!

By keeping /etc files in a source repository one can archive
and document all local changes.  This is useful for some of
the same reasons for which we keep sources in a repo:
recovery from mistakes, reuse of old code, checking who did
what, more than one person can make changes, tracking
history, debugging etc.

If mergemaster handled or worked with a local cvs /etc repo
that'd be very nice!  The idea is to make changes and test
them in a temp workspace and commit them *only if they do the
right thing*!  I envision a workflow something like this
(using make for illustration purposes):

cd <etc workspace>
make etc-diff	# ensure your workspace reflects what is in /etc
<if resync is needed, commit them to local repo>

make import	# import the latest /usr/src/etc into etc workspace
make diff	# look over the changes
<make any local repairs>
make install	# install to /etc; do mkdb etc.
<check out your changes>

Finally:
make commit	# commit changes to local repo
OR
make undo	# if things didn't quite work, restore /etc to old state.

Roughly, the current mergemaster does the work of make
import, make diff, repairs and install.

Comments?

-- bakul



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