1

I have a requirement to migrate a UCM VOB with multiple components to GitHub.

I have read many such questions and answers and I am also convinced that migrating all history is not worth the effort.

But, I still have been asked to do so. How do I go about it?
Or rather: where to start from where I could capture at least some meaningful history?

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
user2636464
  • 685
  • 7
  • 17
  • https://stackoverflow.com/questions/tagged/clearcase-ucm+git – phd Sep 25 '18 at 12:35
  • @phd More precisely, I wrote *all* the answers to those "many questions". The most recent one is a good illustration: https://stackoverflow.com/a/41930287/6309 – VonC Sep 25 '18 at 13:47

1 Answers1

2

The general rules for an UCM import is:

Then:

If your stream manages multiple component, and has set composite baselines (a baseline referencing other baselines), you can put a tag on the main repo (the one which refers the other git repos as submodules): that will help keep multiple Git repos history together.

The point is: only an UCM baseline is part of a meaningful history, as it represent a group of files in a coherent state (version), all labelled together.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • thank you. exactly as you mentioned, my stream manages multiple components with composite baselines and also components are not independent as they refer to others as well . so we can achieve this using git submodules? – user2636464 Sep 26 '18 at 08:05
  • @user2636464 Yes, provides that your stream has set some compite baselines, which will help settings the components (in that stream) to a coherent state (ie: their content at the time of said composite baseline) – VonC Sep 26 '18 at 08:08
  • Thank you VonC for all the help for all these time. Really appreciated – user2636464 Sep 26 '18 at 10:21
  • for each baseline, set your config spec and add its content to a Git repo, as shown here.---- FOR UCM view, do you want to modify the config spec here for each baseline 100times as i have 100 baselines? – user2636464 Sep 27 '18 at 13:30
  • do you mean that I load one component at a time into a snapshot view and go through 100 times thought 100 baselines and commit 100 times into git repo for each baseline with my own commit message? sorry I am a bit lost here – user2636464 Sep 27 '18 at 14:34
  • @user2636464 you would be using a *dynamic* view for that, where you can rebase the baseline you need. A script will do so, baseline after baseline, in order for the dynamic view workspace to reflect the component contents to import to their respective Git repo (again: everything can be scripted). – VonC Sep 27 '18 at 14:36
  • so I have no original history imported here? I am creating a commit for each baseline for the particular stream with my own comments. – user2636464 Sep 27 '18 at 14:48
  • @user2636464 yes, you need to import only the version labelled by baselines, not *all* version of *all* files. – VonC Sep 27 '18 at 15:02
  • @user2636464 Is there anything missing to this answer? – VonC Oct 02 '18 at 08:28
  • The last one if possible can you give a complete idea as I have started working on this and I have a main repo and 5 sub repos for each component as I am using composite baseline . I have a integration stream which has all the baselines. How can I iterate though and import the baselines to git repos ? – user2636464 Oct 04 '18 at 05:31
  • @user2636464 By listing the composite baselines (https://stackoverflow.com/a/13036581/6309) and rebasing a dummy stream which each one, one after the other, in order to do your import. – VonC Oct 04 '18 at 05:58