Re: Converting unconventional CVS tags / only select files tagged
Michael Haggerty <[email protected]>
| Newsgroups | gmane.comp.version-control.subversion.cvs2svn.user |
|---|---|
| Message-ID | <[email protected]> |
Mark A. Ziesemer wrote: > The CVS repository I am trying to convert to SVN using cvs2svn has a > somewhat unconventional tagging structure. [...] Basically, > over half of the CVS tags were named after a task, and only the few > files involved in that task were tagged in CVS. [...] > Instead, I would ideally expect to see only all the files that were > included in the CVS tag as additions. > [...] > I am certainly not proposing that cvs2svn should reverse the current > functionality. However, I am wondering if there would be any issues in > including an option such as a "percent files included" threshold - such > that if x% of files aren't tagged in a given folder, the parent folder > is created instead of copied, and then the tagged files included as > additions rather than everything else being deleted. Both approaches > could be taken per revision, with the % threshold being calculated on a > per-folder basis. The only problem I can think of with this idea (off the top of my head) is that the svn:ignore property is generated only when the corresponding .cvsignore file changes, and then it is attached to the containing directory. In the current practice of always copying directories, the svn:ignore information is automatically carried along. If some tag directories were instead created from scratch, the svn:ignore contents would have to be recreated. But the contents of the .cvsignore file are not available at that point in the cvs2svn code. By the way, issue 122 [1] is an existing problem with .cvsignore file handling that would also be difficult to fix because of the problem described above. > Otherwise, would using a filter on a SVN dump file be a better option, > or even feasible? Would the necessary data even be included in the dump > file to convert the tag revisions from being deletion-based to > addition-based? The dump history as a whole of course includes all the information that you would need. But the revision containing a tagging operation does not contain enough information to deduce which files are *not* deleted; such information would have to be harvested from previous commits. > Are there any other suggestions for other or better ways of addressing > this issue? If you have a time machine, I would suggest going into the past and smacking users on the head before they make partial tags. If not, you could consider nagging the ViewVC project to handle this situation less inefficiently. A third option is to implement the change to cvs2svn that you have suggested, keeping in mind the problem with .cvsignore files. I would be happy to help you get started. > If requested, I could open an enhancement request for this, and attach > an archive of a small example CVS repository, cvs2svn logs of the > conversion, as well as the converted SVN repository for demonstration > purposes. That would be welcome in any case. But unless you work on this feature yourself (or sponsor work on it), I predict that it will not get implemented in the foreseeable future :-( Michael [1] http://cvs2svn.tigris.org/issues/show_bug.cgi?id=122 ------------------------------------------------------ http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1670&dsMessageId=2621647 To unsubscribe from this discussion, e-mail: [[email protected]].