Some redundant codes in a VOB in Clearcase - clearcase-remote-client

There is a folder A, and there are few files inside A:
f1
f2
f3 .....
Now there is another folder inside A by name x.
Inside x also we have some files with the same name as
f1
f2
f3
f4 ....
The files inside A has 4 versions
and f1 f2 f3 f3 in x also has 7 versions each
We found that these f1 in both A and X are the same files.
So now we need to move all 7 versions f1 f2 f3 under x to A and added it as 5th version under A folder.
Do we need to raise a SR with IBM to understand whether it is possible or not?
If it is possible, how can we do that?

What you can do is a clearfsimport of x folder into A: that will automatically update A files version, adding a 5th version to fn in A with the content of fn in x.
Note that it will ignore the first 6th version of fn in x: it will take only the current content of fn from x, automatically checkout fn in A, create a new version and check in fn in A.
clearfsimport -preview -rec -nset /path/to/x /path/to/yourView/path/to/A
Caveat: That would be done with a full ClearCase installation, not a CCRC one (7.x), as CCRC as no clearfsimport capability.
If you don't have too many files and only access to CCRC, you can do it manually through a CCRC web view: checkout all common files, copy files from X to A, checkin all common files.
But if you do have many files, you need to ask your ClearCase admin: the CCRC server is based on a full ClearCase installation, and does have the clearfsimport utility available.

Related

Choose A as output of merging in KDiff3

Currently I've got stuck with merging files in KDiff. Let's say I have file A and B. A is in the left and B in the right. And now I want to merge file B to A, but when I click Merge Current File button, it shows merge editor with B file as an output of merging. How can I choose A as an output file?
From version KDiff3-0.9.89 you can go back to "File" "Open" in the menu and choose to explicitly enter an output file in the "Output (optional)" field, or use one of the choices from the "Swap/Copy Names" control e.g. "Copy B->Output" for your example.
In case you wanted to integrate KDiff3 with Sourcetree to be the external merge tools:
Go to Sourcetree → Preferences → Diff → External Diff/Merge
Merge tool: custom
Merge command: /Applications/kdiff3.app/Contents/MacOS/kdiff3 (or the path to install kdiff3 in Windows)
Arguments: "$LOCAL" "$REMOTE" "$BASE" -o "$MERGED"

How to view difference between local hijacked file and the server copy of the file in clearcase

Presently I follow this process:
Right click the root of the project and click on Find Modified Files.
Then in the ClearCase Snapshot View Update window, the modified (hijacked) files are shown.
By right click on the file name and click on Compare with Old Version, difference between local hijacked file and the server copy are displayed.
However, the above approach takes very long time (as step 1 itself takes 10 minutes). If I already know the hijacked file path, then is there a faster way to do the same?
This 2007 thread summarizes the options you have; the command line with cleartool 9.0.1.3 also offers a diff, even though the thread claims that it doesn't. See bottom of the post.
convert the hijack to checked out (then you can diff)
OR
rename the hijacked file to something else (like filename.hijacked), reload filename (cleartool update filname) update the file, then run cleartool diff filename filename.hijacked.
OR
run the diff against the dynamic view version (from command-prompt, cd to the hijacked file location, then do the cleartool diff filename M:\view\VOB\path\to\file)
I used to do the third option, as it does not require to touch the hijacked file.
With cleartool, compare an extended path name specifying a version, e.g. /main/LATEST, to an simple path. (A command line can be opened conveniently from the context menu of a folder in ClearCase Explorer.)
cleartool diff file.c##/main/LATEST file.c

How to run clearfsimport command for similar streams

I have two streams
Int
|--> Dev
I want to make sure Dev has everything similar to Int stream word to word.
I have already rebased Dev stream from Int stream, but I know its not going to make it exact replica of Int.
I know I should be using "clearfsimport" command but I could not understand whats the syntax for it.
Please help me with the command using below assumptions, I am on solaris and will be using cleartool command line interface
project vob directory - /vobs/HowDoI
Stream name -> HowdoI_Int
Int View name -> HowDoI_int_View
Dev Stream name -> HowDoI_Dev
Dev View name -> HowDoI_Dev
See "How can I use ClearCase to “add to source control …” recursively?" for an example of clearfsimport syntax.
In your case, assuming both views are started, and the vob is mounted:
clearfsimport -preview -rec -rmname -nset /view/HowDoI_int_View/vobs/HowDoI /view/HowDoI_dev_View/vobs/HowDoI
Remove the -preview when you think the command does what you think it should.
Note the -rmname option in order to get a mirror image from Int to Dev:
Any element present in Dev which are not present in Int will be rmname from Dev, leaving it exactly as Int (meaning without extra elements)
Error: Must be set to an activity in a UCM view.
That means you must set an activity first in the destination view (the one in which you are importing files):
cd /view/HowDoI_dev_View/vobs/HowDoI
cleartool mkact import_deom_int

rename element in clearcase with ## in filename

For some reason some users produced some files that end in "##" (...) (I think because they have in the CCRC the gui option to show the version extended pathname and i think that has somewhere a little bug).
Now... they are unable to remove or rename these files (it returns "not a object in the vob")
how can they rename or remove these files?
update
Resolved I forgot to use the complete rmname "a.doc####\bla\1", after the full path i could delete them.
The simplest solution would be to try to list and remove those objects from a base ClearCase view directly on the CCRC server (or any base ClearCase client).
From this kind of ClearCase installation (CCRC server or full ClearCase client), you do have access to cleartool (the ClearCase CLI -- Command Line Interface --), and you can:
cleartool ls: list the files in the view, to check those files with ## are indeed there
cleartool rmane -force to remove them
The OP used
cleartool rmname "a.doc####\bla\1"
, meaning he had to use the extended path (file name + ## + version path) of the file ended with ##, hence the four #: file####version.

Exclude folder under dynamic links in Installshield

Is there a way to exclude a folder that is located under a dynamic link in InstallShield?
So I have a dynamic link that starts at PATH A, and the following is a small example directory structure:
PATH A
--- PATH B
--- PATH C (which contains files)
--- PATH D (which contains files)
--- PATH E (which contains files)
--- PATH F
--- PATH G (which contains files)
Currently I have a dynamic link that starts at PATH A, includes sub directories, and uses a *.* wild card with some explicit file exclusions.
What I want to do now is to completely exclude a directory, for example completely exclude PATH F from the above example directory structure.
There is no - way.
I've been trying to do this since InstallShield 6. They're at InstallShield 15 now, and you still can't do it. If you use Subversion and are concerned about about .svn directories, you could solve the problem the way I did: have your build process do an svn export to an intermediate directory before building.

Resources