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.
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.
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.
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:
In either case, an error occurs if an object already exists at the destination. –out only has effect without the –recurse option.
/view/george/users_hw/hello |
View-extended pathname |
hello@@12-21T16:18.397 |
VOB-extended pathname, including DO ID |
/view/george/users_hw/hello@@01-05T09:16:788 |
Combination |
M:\george\users_hw\hello.exe |
View-extended pathname |
hello.exe@@12-21T16:18.397 |
VOB-extended pathname, including DO ID |
M:\george\users_hw\hello.exe@@01-05T09:16:788 |
Combination |
The UNIX system and Linux 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 system and Linux shells or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt.
cmd-context winkin –out . /view/george/usr/hw/hello.o
Winked in derived object "hello.o"
cmd-context lsdo hello.exe
2007-03-02T20:02 "hello.exe@@2007-03-02T20:02.376"
2007-03-01T09:06 "hello.exe@@2007-03-01T09:06.365"
cmd-context winkin –out hello.March1 hello.exe@@2007-03-01T09:06.365
Promoting unshared derived object "hello.exe@@2007-03-01T09:06.365"
Winked in derived object "hello.March1"
clearmake
cc -c hello.c
cc -c util.c
cc -o hello hello.o util.o
cmd-context winkin hello
Promoting unshared derived object "hello"
Winked in derived object "hello"
cmd-context lsdo main.obj
2007-09-04T16:14 “main.obj@@2007-09-04T16:14.49”
cmd-context winkin –siblings main.obj@@2007-09-04T16: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@@2007-09-04T16: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”
cmd-context winkin –print –recurse main@@2007-09-04T16:03.34
Would wink in derived object “/vobs/mg_test/main”
Would wink in derived object “/vobs/mg_test/main.o”
Would wink in derived object “/vobs/mg_test/test.o”
cmd-context winkin –noverwrite –recurse \testvw\mg_test\main.exe
Winked in derived object “\mg_test\main.exe”
Winked in derived object “\mg_test\main.obj”
Winked in derived object “\mg_test\sibling.exe”
Will not wink in over unshared derived object “\mg_test\test.obj”