1

I’m a newbie to git, In our project we are planning to migrate from Rational Team Concert to git.

We have 2 main streams:

  • dev
  • Post-Release

And we have around 30 releases done .

Our plan is zip/tar ball the source code (with both the branches) and migrate it to GIT. Any ideas or strategy is really appreciated.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
Goku
  • 482
  • 1
  • 7
  • 22
  • _Any ideas or strategy is really appreciated._ - Maybe this is clearer to folks who've done migrations but it sounds like you already have a strategy. What part do you need help with? – BSMP Jul 20 '15 at 17:16

1 Answers1

1

The idea is to iterate over each baselines in a local repo workspace or sandbox, and use that local folder as source for importing the source in a Git repo.

cd /path/to/git/repo
git add --work-tree=/path/to/local/RTC/sandbox/aComponent add .
git commit -m "release x"
# change baseline in local workspace

I would recommend keeping one Git repo per RTC component.

clarify whats the advantage with "git add --work-tree=.." against the normal git add

That allows for the source worktree (the codebase being imported) to reside elsewhere: your tarballs can be cleanly uncompressed in separate folders (that avoid having files from an older tarball not removed when new tarball are uncompress in the same folder).

If I'm going to import from a tar , will the versions/history of the streams preserved

No: each tarball represents a stream baseline, a snapshot in time, not the full original history from RTC.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • Appreaciate your suggestion here!! , Our source code is packaged as tarball and we are going to import into GIT. Pls. clarfiy whats the advantage with "git add --work-tree=.." against the normal git add , also If I'm going to import from a tar , will the versions/history of the streams preserved ? – Goku Jul 22 '15 at 07:09
  • @Vigs I have updated the answer to address your comment – VonC Jul 22 '15 at 07:18
  • Thanks @VonC, would like to get clarified on the following points : In our project we are facing a tricky situation, we are having our office at 2 different places . we will create a GIT server , say at location A and complete the code migration @ A , later setup an exact setup @ B and subsequently synchronizing A to B’s GIT environment. (mirroring A to B and making B as master) . Is this approach feasible ? if so, during the process what are precautions we should incorporate like permission issues etc.(I understand , it doesn’t server the DVCS purpose of GIT, but still , like to know ) – Goku Jul 28 '15 at 14:56
  • Sure thing ! Link to the new question : http://stackoverflow.com/questions/31680559/does-git-supports-mirroring-or-proxy-concept – Goku Jul 28 '15 at 15:20
  • accepted! Could you able to see the change now ? :) I can't Vote up as it needs 15 reputations itseems! – Goku Jul 28 '15 at 16:11
  • @Vigs no problem. The important point is to make sure to accept an answer only if it does actually answer your question. You can even post your own answer and accept it. – VonC Jul 28 '15 at 16:57