DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(cvs.info.gz) Removing files

Info Catalog (cvs.info.gz) Adding files (cvs.info.gz) Adding and removing (cvs.info.gz) Removing directories
 
 7.2 Removing files
 ==================
 
 Directories change.  New files are added, and old files disappear.
 Still, you want to be able to retrieve an exact copy of old releases.
 
    Here is what you can do to remove a file, but remain able to
 retrieve old revisions:
 
    * Make sure that you have not made any uncommitted modifications to
      the file.   Viewing differences, for one way to do that.
      You can also use the `status' or `update' command.  If you remove
      the file without committing your changes, you will of course not
      be able to retrieve the file as it was immediately before you
      deleted it.
 
    * Remove the file from your working copy of the directory.  You can
      for instance use `rm'.
 
    * Use `cvs remove FILENAME' to tell CVS that you really want to
      delete the file.
 
    * Use `cvs commit FILENAME' to actually perform the removal of the
      file from the repository.
 
    When you commit the removal of the file, CVS records the fact that
 the file no longer exists.  It is possible for a file to exist on only
 some branches and not on others, or to re-add another file with the same
 name later.  CVS will correctly create or not create the file, based on
 the `-r' and `-D' options specified to `checkout' or `update'.
 
  -- Command: cvs remove [options] files ...
      Schedule file(s) to be removed from the repository (files which
      have not already been removed from the working directory are not
      processed).  This command does not actually remove the file from
      the repository until you commit the removal.  For a full list of
      options, see  Invoking CVS.
 
    Here is an example of removing several files:
 
      $ cd test
      $ rm *.c
      $ cvs remove
      cvs remove: Removing .
      cvs remove: scheduling a.c for removal
      cvs remove: scheduling b.c for removal
      cvs remove: use 'cvs commit' to remove these files permanently
      $ cvs ci -m "Removed unneeded files"
      cvs commit: Examining .
      cvs commit: Committing .
 
    As a convenience you can remove the file and `cvs remove' it in one
 step, by specifying the `-f' option.  For example, the above example
 could also be done like this:
 
      $ cd test
      $ cvs remove -f *.c
      cvs remove: scheduling a.c for removal
      cvs remove: scheduling b.c for removal
      cvs remove: use 'cvs commit' to remove these files permanently
      $ cvs ci -m "Removed unneeded files"
      cvs commit: Examining .
      cvs commit: Committing .
 
    If you execute `remove' for a file, and then change your mind before
 you commit, you can undo the `remove' with an `add' command.
 
      $ ls
      CVS   ja.h  oj.c
      $ rm oj.c
      $ cvs remove oj.c
      cvs remove: scheduling oj.c for removal
      cvs remove: use 'cvs commit' to remove this file permanently
      $ cvs add oj.c
      U oj.c
      cvs add: oj.c, version 1.1.1.1, resurrected
 
    If you realize your mistake before you run the `remove' command you
 can use `update' to resurrect the file:
 
      $ rm oj.c
      $ cvs update oj.c
      cvs update: warning: oj.c was lost
      U oj.c
 
    When you remove a file it is removed only on the branch which you
 are working on ( Branching and merging).  You can later merge
 the removals to another branch if you want ( Merging adds and
 removals).
 
Info Catalog (cvs.info.gz) Adding files (cvs.info.gz) Adding and removing (cvs.info.gz) Removing directories
automatically generated byinfo2html