Import ClearCaase with history?

5 messages, 5 authors, 2016-06-15 · open the first message on its own page

Import ClearCaase with history?

From: David Hagood <hidden>
Date: 2016-06-15 22:48:32

I am trying to drag where I work into a more modern software development
process, but I am getting resistance from one division that has a large
amount of history for some projects in a Clearcase repository. If I
could show them that we could import all that history into git, it would
go a long way to removing that resistance.

I've seen programs that purport to import Subversion (which is also
good, as they also are using Subversion for other projects....) but do
any such programs exist for Clearcase?

I know that, in theory, it would be possible to 
  for all checkins to Clearcase
     check out of Clearcase
     check into git
  done

but that would take an incredibly long time in practice, wouldn't it?

Re: Import ClearCaase with history?

From: Jon Seymour <hidden>
Date: 2016-06-15 22:48:32

On Wed, Mar 31, 2010 at 11:33 PM, David Hagood [off-list ref] wrote:
I am trying to drag where I work into a more modern software development
process, but I am getting resistance from one division that has a large
amount of history for some projects in a Clearcase repository. If I
could show them that we could import all that history into git, it would
go a long way to removing that resistance.

I've seen programs that purport to import Subversion (which is also
good, as they also are using Subversion for other projects....) but do
any such programs exist for Clearcase?

I know that, in theory, it would be possible to
 for all checkins to Clearcase
    check out of Clearcase
    check into git
 done

but that would take an incredibly long time in practice, wouldn't it?
I have no idea whether this is any good, but you might look at:

   http://www.clearvision-cm.com/clearvision-products/clearcase-and-git-bridge-cc2git/ash_flypage.tpl.html

I am sceptical that the performance could be anything other than
glacial but I don't have any experience with it...

jon.


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: Import ClearCaase with history?

From: Charles O'Farrell <hidden>
Date: 2016-06-15 22:48:32

Hi David,
I've seen programs that purport to import Subversion (which is also
good, as they also are using Subversion for other projects....) but do
any such programs exist for Clearcase?

I know that, in theory, it would be possible to 
  for all checkins to Clearcase
     check out of Clearcase
     check into git
  done

but that would take an incredibly long time in practice, wouldn't it?
Well it certainly isn't lightning quick, but it's not 'incredibly' slow either. 

http://github.com/charleso/git-cc

It uses 'cleartool lshistory' to retrieve the changes to a given view, and then 
'cleartool get' to download the contents, which can then be added directly to 
Git. In practice this is reasonably quick, although it depends on the size of 
your history. I've seen it take a few hours to complete the first step with a 
medium sized VOB, but once that's complete it's (relatively) quick to fetch the 
actual files. Git-cc is actually a bridge, and can be reused in this way to 
retrieve new content after an initial import (which is much, much quicker). 
Changes can also be pushed back to Clearcase.

As a word of warning, given the way in which Clearcase works you're not 
technically retrieving the full and complete history; as such a thing is almost 
impossible to export from Clearcase. What you see is the history of all the 
_currently_ visible files in your _current_ view. So, for example, any files 
that have been deleted or moved are completely ignored in the lshistory output. 
If this is unacceptable the only other option would be to manually modify the 
config spec to include this missing elements and take 'snapshots' of the history 
over time.

It's by no means as good or as complete as git-svn; partly because Clearcase is 
so tricky and partly because I'm so lazy. I hope this helps in some way though.

Cheers,

Charles

PS. Take a look at the Git tools wiki page for some other alternatives.

https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools

Re: Import ClearCaase with history?

From: Peter Baumann <hidden>
Date: 2016-06-15 22:48:32

On Wed, Mar 31, 2010 at 06:33:09AM -0500, David Hagood wrote:
I am trying to drag where I work into a more modern software development
process, but I am getting resistance from one division that has a large
amount of history for some projects in a Clearcase repository. If I
could show them that we could import all that history into git, it would
go a long way to removing that resistance.

I've seen programs that purport to import Subversion (which is also
good, as they also are using Subversion for other projects....) but do
any such programs exist for Clearcase?

I know that, in theory, it would be possible to 
  for all checkins to Clearcase
     check out of Clearcase
     check into git
  done

but that would take an incredibly long time in practice, wouldn't it?
I don't think you can build anything which will import from ClearCase 
*without* loosing *some* history. At least I have build a script which imported
something from CC into git in my former job and allow me to sync bidirectional
with CC. 

The problems where no bidirectional mapping exists are the following:

  - CC is file based, where as GIT is tree (the whole repository) based

  - This leads to problems where you merge a file on differen CC branches,
    because in GIT a merge is only on the whole tree, so at least this
    information is lost. (see cleartool lstree for a file with merges)

Peter

Re: Import ClearCaase with history?

From: Avery Pennarun <hidden>
Date: 2016-06-15 22:48:32

On Wed, Mar 31, 2010 at 11:39 AM, Peter Baumann [off-list ref] wrote:
On Wed, Mar 31, 2010 at 06:33:09AM -0500, David Hagood wrote:
The problems where no bidirectional mapping exists are the following:

 - CC is file based, where as GIT is tree (the whole repository) based

 - This leads to problems where you merge a file on differen CC branches,
   because in GIT a merge is only on the whole tree, so at least this
   information is lost. (see cleartool lstree for a file with merges)
Of course, you can do such file-by-file merges in CVS and SVN as well,
and importing into git seems to work okay.  What doesn't get tracked
is the actual merge history of the merged files.  This isn't such a
problem when importing CVS and SVN, which mostly don't track merge
history anyway :)

Have fun,

Avery
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help