Converting ClearCase VOB's that have many sym-links hardlink
Is there a way to import a complex ClearCase env to RTC?
By complex I mean many hardlinks, sym-links and hard coded Makefiles. I heard that RTC does not have sym-links. Thank you, "53x11" |
12 answers
I am also interested in how to handle symlinks when converting ClearCase projects. We have a common library VOB, which stores validated copies of .jar files, in which other projects symlink to the libraries they need. For security and audit purposes, software developers are not allowed to check in library files into version control, only the configuration management team. I've been told that this functionality was not considered in RTC. Anyone have ideas on how to include a selected list of secured libraries into a project, other than replicating these libraries into every project?
|
Geoffrey Clemm (30.1k●3●30●35)
| answered Jul 28 '09, 4:47 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
That is correct. The RTC SCM system doesn't yet support the creation of
sym-link versions (feel free to support/comment on work item 40443). It also doesn't yet support the creation of hard link versions (feel free to support/comment on work item 58190). Cheers, Geoff thebigring wrote: Is there a way to import a complex ClearCase env to RTC? |
Geoffrey Clemm (30.1k●3●30●35)
| answered Jul 28 '09, 4:51 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Could you clarify why the ability to have version-controlled sym links
solves the problem of a user not being able to check in library files? Cheers, Geoff vrcampbell wrote: I am also interested in how to handle symlinks when converting |
What would you suggest for a migration path when the build depends on hardlinks and symkinks? Is there support to migrate a complex system from ClearCase to RTC? Where the VOB's have links to other VOB's. Does this mean we need to re-architect our entire system? What error is shown during import when the system finds sym or harlinks?
That is correct. The RTC SCM system doesn't yet support the creation of Is there a way to import a complex ClearCase env to RTC? |
Could you clarify why the ability to have version-controlled sym links |
Geoffrey Clemm (30.1k●3●30●35)
| answered Jul 29 '09, 12:53 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
There is no automated way of refactoring your source code tree to not
use symbolic or hard links. But one common approach that avoids having to change many/any of your build scripts is to introduce an initial build step which performs a "copy" to produce the appropriate files in the locations of the sym links and hard links. In the case of hard links, you'd have to decide which of the hard links is the "real" file, and the rest would be created by this build step. WRT how this is handled by the ClearCase Connector: - The file that has multiple hard links to it will be located at whatever was the last location that was processed for it. Effectively, the synchronizer "moves" the file to that location. - For symbolic links, the synchronizer creates a text file containing the symbolic link. When exported back to ClearCase, it will create/update the symbolic link in ClearCase. So symbolic links are preserved, but they do not act as symbolic links while they are in the Jazz file area (sandbox). Cheers, Geoff thebigring wrote: What would you suggest for a migration path when the build depends on |
Geoffrey Clemm (30.1k●3●30●35)
| answered Jul 29 '09, 12:58 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
You must be a Unix-only shop, right? (Since the windows file system
does not support symbolic links). Or are you taking advantage of ClearCase's ability to "fake" symbolic links on Windows (directly in MVFS, and by creating copies in snapshot and web views)? In either case, Jazz SCM does not support symbolic links, so you'd need to get rid of the symbolic links if you were switching to Jazz SCM. In particular, I'd suggest using the technique I described earlier in this thread, i.e. introducing an initial "build" step, that creates copies in the locations where symbolic links exist today. Cheers, Geoff vrcampbell wrote: Could you clarify why the ability to have version-controlled sym |
Thanks Geoff, that is one of the solutions we are considering. We've never considered that using the symlink capabilities in ClearCase was "fake" to place a copy of that file in a Windows view, it sure seems real to us. Like I stated before, it surely is more efficient to have 10 projects link to a single version controlled copy than have each project version control the same file.
|
Geoffrey Clemm (30.1k●3●30●35)
| answered Jul 29 '09, 4:10 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I didn't mean for "fake" to have a pejorative tone ... perhaps I should
have said "simulate" ... symbolic links are very useful, but unfortunately, Windows does not provide them (which is one reason why ClearCase goes to the trouble of simulating them, so you get their benefit in a Windows environment). But note that the only two ways to simulate them in a Windows environment are: - implement your own Windows file system (such as ClearCase MVFS) - create copies of the files at the symbolic link sources (such as is done in ClearCase snapshot and web views) Since Jazz SCM only provides a copy-based file area, if it were to support symbolic links on Windows, it would have to use the second approach, so you would still be paying the overhead of copies being created ... it's just that the versioning system would be responsible for creating the copies, instead of the build system. Cheers, Geoff vrcampbell wrote: Thanks Geoff, that is one of the solutions we are considering. We've |
Geoffrey Clemm wrote:
I didn't mean for "fake" to have a pejorative tone ... perhaps I should Not entirely true: Windows Vista adds symbolic links, and even prior versions like XP have a lame imitation called junctions (see <http>). Now, I realize XP will have to be supported for quite a while yet, but IMHO it's time for IBM, and the industry as a whole, to get out of the "can't do symlinks because Windows doesn't support them" mindset and get into that of "let's begin work on making symlinks first-class objects in all our tools" because within a couple of release cycles, all supported platforms will have them. It's not quite so simple for a Java-based tool such as RTC, since you presumably have to wait for the Java community to decide to support symlinks and then till you support that JVM. Fortunately, it appears that the upcoming Java 7 will add symlink support (in the java.nio.file package). It would make me quite happy if IBM would say "we will support symlinks in the first RTC release which supports Java 7". (If in fact running on Java 7 within a symlink-aware filesystem, of course). This could be not much more than a year away. MK |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.