I wrote:
I have a situation where I have a big directory tree of existing code I'm importing a piece at a time. Among the files to be imported are a lot of extra files I don't want to just remove. My basic approach per directory has been:
- Build the proper global and command level cvsignore patterns to ignore the extra cruft;
- Back up the entire directory;
- Run a trial import (-n) to see if it gets only what I want;
- Run the real import and capture its output;
- Remove the imported files;
- Check out the imported versions.
The problem is that checkout will not recursively add to existing subdirectories. The top level directories show in the output with a leading '?'. If I run checkout in a new directory, things work recursively as expected. Is there a way to force CVS to recursively check out over existing directories? I can't remove the directories since they may contain extra files that I'm not importing.
The answer to this was 'no', which is fine. But I don't think I understand the rules checkout uses regarding existing directories. It seems like:
- If I import a new directory, all the way down recursively, ignoring what I need, then if I checkout that new directory in the existing tree, it replaces the old directory with only the files I imported.
- If I import a subdirectory first, then check that out, a CVS directory is created at the top, thereby preventing me from recursively checking out anything new after import. For example, if I import foo/a/b, then check it out, then import the rest of foo/a, which includes subdirectories foo/a/c, foo/a/d, etc., then the previous checkout of foo/a/b has created a CVS presence that stops any of the subdirectories from being checked out recursively.
Does this sound correct? If so, and we decide that our wrapper will checkout into a new, safe directory, is a recursive copy from there to the existing tree okay, or would I somehow mess up or miss CVS pieces? The other approach we've tested is saving the non-imported files, checking out in the existing tree, then replacing the non-imported files.
Also, when chipping away at an existing large tree as I am, are there any bad side effects of checking out only pieces that share a common root? For example, if foo/a has 50 subdirectories I address one at a time, checking out as foo/a/b, foo/a/c, foo/a/d, etc. in pieces, does that have any bad effects on the top level, shared CVS entries at foo and foo/a? I see in the Entries.* files that only the last checkout info. is recorded.
-- Steve Sapovits [EMAIL PROTECTED]
_______________________________________________ Info-cvs mailing list [email protected] http://lists.gnu.org/mailman/listinfo/info-cvs
