Accesses one or more derived objects (DOs) from a dynamic view, or converts a nonshareable derived object to a shareable (promoted) derived object
The winkin command enables you to access the data of any existing DO, even if it does not match your view's build configuration (and, thus, would not be winked in by a clearmake build). Note that you cannot access a DO's file system data directly, using a version-extended pathname, such as hello@@21-Dec.16:18.397. Instead, you must wink in the DO to a dynamic view and then access it using that view.
winkin also converts nonshareable DOs to shareable (promoted) DOs. If you specify a nonshareable DO, winkin first advertises the DO by writing information about it to the VOB, and then promotes it by copying its data container into the VOB and moving its configuration record into the VOB. Because a shareable DO cannot have nonshareable sub-DOs or sibling DOs, winking in a nonshareable DO also advertises its sub-DOs and siblings, converting them to shareable DOs. With –siblings, winkin advertises and promotes the DO's siblings.
Note: When a nonshareable DO is converted to a shareable DO, its DO ID changes. For more information, see Building Software.
If you specify a shared DO while working in the view where it was originally built and if a view-resident data container for the DO in that view still exists, then the view-resident data container is scrubbed, and your view accesses the shared data container in VOB storage. This is equivalent to executing a view_scrubber command.
If you specify an unshared DO or nonshareable DO in your view, the data container is promoted to the VOB. The view-resident data container is scrubbed, and your view accesses the data container in VOB storage. This is equivalent to executing a view_scrubber –p command.
When you need to process a large number of DOs, use view_scrubber rather than winkin.
At the file system level, you must have read permission on the DO to be winked in.
Note: On UNIX, if you are overwriting an existing DO in your view (perhaps one that was winked in previously), you must have write permission on the existing DO. See the clearmake reference page.
If multiple versions of the same object appear in a derived object's configuration, only the most recent version is winked in. A warning tells you which version is being skipped.
winkin –recurse keeps going even if the winkin of one or more of the items in the configuration record hierarchy fails, though the command issues errors for the ones that failed.
Because this command winks in derived objects without regard to any makefile information, it is usually a good idea to run clearmake after performing this operation, to bring everything up to date.
–adirs only has effect with –recurse or –siblings.
This option is useful for isolating a derived object that was built as a dependency of another one. For example, this command winks in derived objects starting at the hello.obj that was used to build hello.exe in the current view:
–select only has effect with –recurse.
In either case, an error occurs if an object already exists at the destination. –out only has effect without the –recurse option.
Note: You must use –out if you are not using –recurse and specify another view's DO, using a view-extended pathname, and you intend to wink in the DO to your own view.
/view/george/users_hw/hello | View-extended pathname |
hello@@21-Dec.16:18.397 | VOB-extended pathname, including DO ID |
/view/george/users_hw/hello@@05-Jan.09:16:788 | Combination |
On Windows systems:
M:\george\users_hw\hello.exe | View-extended pathname |
hello.exe@@21-Dec.16:18.397 | VOB-extended pathname, including DO ID |
M:\george\users_hw\hello.exe@@05-Jan.09:16:788 | Combination |
The UNIX examples in this section are written for use in csh. If you use another shell, you may need to use different quoting and escaping conventions.
The Windows examples that include wildcards or quoting are written for use in cleartool interactive mode. If you use cleartool single-command mode, you may need to change the wildcards and quoting to make your command interpreter process the command appropriately.
In cleartool single-command mode, cmd-context represents the UNIX shell or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt.
cmd-context lsdo main.obj
04-Sep.16:14 “main.obj@@04-Sep.16:14.49”
cmd-context winkin –siblings main.obj@@04-Sep.16:14.49
Promoting unshared derived object “\mg_test\main.obj”.
Winked in derived object “\mg_test\main.obj”
Promoting unshared derived object “\mg_test\sibling.exe”.
Winked in derived object “\mg_test\sibling.exe”
cmd-context winkin –recurse main@@04-Sep.16:03.34
Promoting unshared derived object “/vobs/mg_test/main”
Winked in derived object “/vobs/mg_test/main
Promoting unshared derived object “/vobs/mg_test/main.o”
Winked in derived object “/vobs/mg_test/main.o”
Promoting unshared derived object “/vobs/mg_test/sibling”
Winked in derived object “/vobs/mg_test/sibling”
Promoting unshared derived object “/vobs/mg_test/test.o”
Winked in derived object “/vobs/mg_test/test.o”
Note: When you use –recurse, you can also specify the DO to wink in by using its view-extended pathname. The DO and its subtargets are recursively winked in to the current (dynamic) view. For example:
Copyright© 2003 Rational Software. All Rights Reserved.