> > The corollary to that would be to teach cvs(1) to commit changes to
> > the master repo that have been made to the local repo.  Version number
> > sync would be a problem, but it'd be really cool to be able to do
> > that.  With a branch mapping layer (RELENG_5_SEANC -> HEAD), people
> > could actually get back into the habit of using CVS as a development
> > tool instead of just a way of publishing finalized work.
> 
> Nate's suggestion covers the version number issue... sort of.  It
> assumes that the patches will be approved for commit to the main
> repo

This is easy to get around, b/c if the commit doesn't happen
successfully on the repo, then the commit fails, and as such it also
won't also be committed to the local branch (the remote commit failed).

> and it assumes that the main repo will not get tagged in
> between.

For *most* users, this is not a problem.  My solution is for the
developer.  However, it's not intended to make the local cache a
complete mirror of the remote repository.  That is a whole 'nother
project. :)

> The main problem with that is pretty obvious, especially
> around code-freeze/code-slush, but also for anyone without a commit
> bit, or who is being "mentored", and so lacks the ability to "just
> commit".

Even during code-freeze, it does allow you to everything you *need* to
do safely.  If you attempt a commit and your local cache isn't
up-to-date, then the commit will fail, and the user will have to
re-sychronize their repository.  Fortunately, this is a mostly rare
occurance, especially if there are regular scheduled synchronization
occurances (aka; nightly cron jobs).

> A more minor problem is that it replaced the version conflict with a
> "$FreeBSD$" conflict that CVSup has to ignore.

See above.  This is mostly a non-issue as long as the versions are kept
up-to-date.  No merges will be attempted what-so-ever, even if they
would not necessarily cause conflicts.

However, this is all a pipe-dream, although Sergey's work is making it
less pie-in-the-sky.

The other solution to the problem is the P4 route.  Making things so
darn effecient that there's little need to have a local mirror.  Where
this falls down is when the remote developer doesn't have a 24x7
connection to the main repository.  From what I've been told ClearCase
allows for 'mirrored read-only' repositories similar to what most of the
open-source CVS developers have been doing with sup/CVSup for years,
although it's nowhere near as effecient as CVSup at creating snapshots.




Nate

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to