How can I use ClearCase to "add to source control ..." recursively?

Markus Schnell picture Markus Schnell · Sep 26, 2008 · Viewed 73.1k times · Source

I unpacked a zip-file delivery into a clearcase view. Now I want to add the complete file tree to the repository. The GUI only provides an "Add to source control ..." for individual files/directories. Do you know how to recursively add the whole tree?

(I'm on a Windows system, but have Cygwin installed.)

Answer

VonC picture VonC · Sep 27, 2008

I would rather go with the clearfsimport script, better equipped to import multiple times the same set of files, and automatically:

  • add new files,
  • make new version of existing files previously imported (but modified in the source set of files re-imported)
  • remove files already imported but no longer present in the source set of files.
  • make a clear log of all operations made during the import process.

So if your 'zip-file delivery needs to be updated on a regularly basis, clearfsimport is the way to go, but with the following options:

clearfsimport -preview -rec -nset c:\sourceDir\* m:\MyView\MyVob\MyDestinationDirectory

Note the :

  • -preview option: it will allow to check what would happen without actually doing anything.
  • '*' used only in Windows environment, in order to import the content of a directory
  • -nset option.

From CMWiki, about that 'nset' option:

By default, clearfsimport is meant to be used by the vob owner or a privileged user, but users often overlook the -nsetevent option, with which it may be used by any user.
This option drives clearfsimport not to set the time stamps of elements to this of the source file object outside the vob (which requires privileged access).
There is a minor non-obvious side-effect with this: once a version will have been created with a current time stamp, even the vob owner will not be able to import on top of it a version with an older (as it would be) time stamp, without this -nsetevent option. I.e. once you use this option, normal or privileged user, you are more or less bound to use it in the continuation.