/[meta-cvs]/meta-cvs/F-9A67B1893CE1CF23455CD1EF0F486B65
ViewVC logotype

Diff of /meta-cvs/F-9A67B1893CE1CF23455CD1EF0F486B65

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.12 by kaz, Sat Jan 31 23:09:58 2004 UTC revision 1.13 by kaz, Sun Feb 1 05:14:53 2004 UTC
# Line 46  Line 46 
46    
47    (let (filemap all-version-tags all-branch-tags attic-made)    (let (filemap all-version-tags all-branch-tags attic-made)
48      (current-dir-restore      (current-dir-restore
       (chatter-info "descending into ~a~%" source-dir)  
49        (chdir source-dir)        (chdir source-dir)
50        (for-each-file-info (fi ".")        (for-each-file-info (fi ".")
51          (when (and (directory-p fi)          (when (and (directory-p fi)
# Line 63  Line 62 
62                             (canonicalize-path (path-cat no-attic-dir basename)))                             (canonicalize-path (path-cat no-attic-dir basename)))
63                           (f-name (mapping-generate-id :suffix (suffix basename)                           (f-name (mapping-generate-id :suffix (suffix basename)
64                                                        :no-dir t))                                                        :no-dir t))
65                           (rcs-name (apply #'path-cat `(,*up-dir* ,target-dir                           (orig-rcs (path-cat source-dir canon-name))
66                                                         ,@(if attic-p '("Attic"))                           (new-rcs (apply #'path-cat `(,target-dir
67                                                         ,(format nil "~A,v"                                                        ,@(if attic-p '("Attic"))
68                                                                  f-name)))))                                                        ,(format nil "~A,v"
69                      (when attic-p                                                                 f-name)))))
70                        (unless attic-made                      (in-original-dir
71                          (ensure-directories-exist rcs-name)                        (when attic-p
72                          (setf attic-made t)))                          (unless attic-made
73                      (chatter-info "hard linking ~a -> ~a~%"                            (ensure-directories-exist new-rcs)
74                                    canon-name                            (setf attic-made t)))
75                                    rcs-name)                        (chatter-info "hard linking ~a -> ~a~%" orig-rcs new-rcs)
76                      (link canon-name rcs-name)                        (link orig-rcs new-rcs))
77                      (push (make-mapping-entry :kind :file                      (push (make-mapping-entry :kind :file
78                                                :id (path-cat *mcvs-dir* f-name)                                                :id (path-cat *mcvs-dir* f-name)
79                                                :path no-attic-suffix-name                                                :path no-attic-suffix-name
# Line 138  Options: Line 137  Options:
137  Semantics:  Semantics:
138    
139    The convert command builds a Meta-CVS module directly out of the RCS files of    The convert command builds a Meta-CVS module directly out of the RCS files of
140    a CVS module.  It must be run in the root directory of a CVS repository.    a CVS module.  The source-cvs-module is the pathname to an existing
141    It requires the chmod and rcs command line tools.    module directory in the CVS repository containing an ordinary CVS module.
142      The target-mcvs-module is the pathname of a new Meta-CVS module directory to
143      be created.
144    
145      The source and target paths have to be on the same filesystem volume.
146    
147      The chmod and rcs programs are required.
148    
149      The algorithm is extremely naive:
150    
151      - A list of the pathnames of the RCS files is collected, as the basis for
152      creating the MAP file. The Attic directory components are removed from these
153      paths, and the ,v suffixes are stripped.
154    
155    The algorithm is extremely naive. A list of the pathnames of the RCS files    - The execute property of files is lifted from the permission bits on
   is collected, as the basis for creating the MAP file. The Attic directory  
   components are removed from these paths, and the ,v suffixes are stripped.  
   
   The execute property of files is lifted from the permission bits on  
156    the RCS files.    the RCS files.
157    
158    The MAP,v file is created using the ``rcs ci'' command.    - The MAP,v file is created using the ``rcs ci'' command.
159    
160    The F- files are generated as hard links to the RCS files, to save space    - The F- files are generated as hard links to the RCS files, to save space
161    and avoid the overhead of copying.    and avoid the overhead of copying.
162    
163    All of the RCS files are scanned to find version and branch tags.  Quite    - All of the RCS files are scanned to find version and branch tags.  Quite
164    naively, the version tags are installed in the MAP file, all pointing to    naively, the version tags are installed in the MAP file, all pointing to
165    revision 1.1. The branch tags are installed in MAP, pointing to revisions    revision 1.1. The branch tags are installed in MAP, pointing to revisions
166    1.1.0.2, 1.1.0.4, ...  This is a lame attempt to make it possible to check    1.1.0.2, 1.1.0.4, ...  This is a lame attempt to make it possible to check

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.5