cd blorg-develThen, invoke the command:
mcvs create blorg blorg-initial-versionThe create command requires two additional arguments: the name of the module, and a symbolic name which will identify the baseline of newly versioned files. This name is known as a tag: more specificaly, a version tag. Here, we have chosen the tag blorg-initial-version. Tags are very useful when one makes a module from a specific version of an existing program. Suppose that you didn't write Blorg yourself; rather, you have a copy of the Blorg 2.3 sources and would like to begin your own independent stream of development. It would then behoove you, when creating the module, to use a tag like blorg-2-3. This tag could prove to be very important later on; for example, when you want to create a branch from the 2.3 baseline, which will accept a new snapshot from the Blorg developers.
(("c" :DEFAULT) ("lisp" :DEFAULT) ("png" :DEFAULT) ("txt" :DEFAULT))This is the notation for a list of four elements, as indicated by the outermost parentheses which enclose the whole thing. Each of the four elements is itself a list containing a string like "c" and the symbol :DEFAULT. The string represents a file suffix, and the symbol indicates how files having that suffix are to be treated. Above the list, you should see a comment explaining the various keywords which are supported. The greatest concern is to identify what files are binary. For example, in the above definition, the treatment of the suffix .png should be modified to :BINARY because most likely this suffix indicates a computer graphics image in the Portable Network Graphics format, which is a binary format that must not be subject to line ending conversions, nor to keyword expansion. When you are done editing, save and quit; Meta-CVS will then proceed. If you create a syntax error, for example by introducing an unbalanced parenthesis, Meta-CVS will prompt you with an error message, and you will be given an opportunity to correct the error in a new text editing session.
mcvs co blorgAfter a log of messages scrolls by in the terminal window, there should now exist the subdirectory blorg, and in that subdirectory there should appear the project's source files. This is a working copy, or a sandbox. You can check out more than one sandbox; sometimes that is convenient to do when one needs to work on several completely unrelated tasks in the same project. The CVS repository doesn't know anything about your sandbox; rather, each sandbox contains information which points back to the repository from which it was checked out. It is safe to move the sandbox by applying the mv command to its root directory.
mcvs ciA text editor starts up, and you are expected to enter a commit comment. You are interacting with CVS at this point; the procedure is exactly the same as for CVS commits. However, there is one notable difference. The file names you see listed in the usual comment lines which begin with CVS: and which will be removed are the F-file names, rather than the human-readable names. Alas, CVS doesn't know about the mapping, and this text is prepared within the innards of CVS! Meta-CVS has a solution, though not an entirely satisfactory one, in the form of a text filtering command which reads arbitrary text on standard input, and copies it to standard output, filtering F-file names to their human-readable counterparts. This command is filt, abbreviated fi. Decent text editors allow portions of the text to be easily filtered through an external command. For example, in the vi editor, the command :%!mcvs fi command will apply the Meta-CVS filter to the entire edit buffer. It's trivial to bind this this command to a control character, and store this definition in the editor's personal configuration file, so that the action can be repeated by typing one or two keystrokes.
mcvs add macros.lisp READMEUnlike CVS, Meta-CVS allows you to add entire subdirectories at a time. The arguments can be any mixture of files and subdirectories; however, subdirectories are only added if the -R option is specified. For example, to add the directories sources, documentation and the file INSTALL.
mcvs add -R sources documentation INSTALLLike the create command, the add command scans the files and symbolic links to be added, and computes a list of the suffixes of the files. If any hitherto unknown suffixes are discovered, a text editor will be invoked to allow you to specify the treatment of these files. The effect of mcvs add is local; the files aren't incorporated into the repository until a commit takes place.
mcvs --meta status | grep Modified | mcvs fi # list modified files mcvs status | grep Added | mcvs fi # list added filesThe status command takes optional filename and directory arguments. The status of a directory means all of the files in its tree.
mcvs diff -ub driver.cshows the modifications in driver.c as a unified diff, treating lines that differ only in the amount of whitespace as identical.
|
|
This document was translated from LATEX by HEVEA.