Refactoring With Meta Cvs

Here is how the example given in RefactoringWithCvs would work under MetaCvs:

  mcvs mv old_file new_file
  mcvs --meta diff   # review the differences to the object map
  mcvs ci            # commit

Then some fun:

  mcvs log new_file  # verify that history is are all there

mcvs up -D'900 seconds ago' # new_file jumps to old_file

mcvs up -A # old_file jumps to new file

MetaCvs doesn't support modules yet. However, unlike with CVS, it is possible to check out a Meta-CVS project within a Meta-CVS sandbox. A Meta-CVS sandbox has only one administrative directory at the top level, called MCVS. So there are no conflicts between administrative directories if you nest sandboxes. One day, the software will support a way to compose multiple modules into a nested sandbox, and automatically recurse the commands into these sandboxes.

There is one feature to help with nested sandboxes: the --up N command line option. This is a kind of nesting escape operator which lets you execute a mcvs command on an outer sandbox. The default, implicit behavior of the software is --up 0. --up 1 means escape up one level of nesting and so forth. So you don't have to ``cd'' out of your nested sandbox to do a higher level update or commit, etc.


EditText of this page (last edited March 13, 2003) or FindPage with title or text search