[vtk-developers] [Paraview-developers] CVS->Git Transition Plan

Brad King brad.king at kitware.com
Wed Apr 21 09:12:32 EDT 2010

Biddiscombe, John A. wrote:
>> The matching Git commit is
>>   http://vtk.org/gitweb?p=VTK.git;a=commitdiff;h=fddd6bba
> It seems like the sub modules have lives of their own.

Correct.  I've been meaning to put more submodule documentation
on the Wiki but haven't had time yet.

> I'm working with paraview, and have a bunch of changes in 
> paraview : Xdmf : VTK 
> which are really their own repositories.

Oh, sorry, I didn't realize from your original email that it
was more than just VTK.

> Do I treat these as separate repos for the purposes of my
> git management.

Yes, but they can be in one tree.  See below.

> Can I checkout paraview with a single tag and get all 3.



 $ git checkout -b mypv c8805939
 $ git submodule update

> Basically, can I do all in one, or must I do 3

The above command will give you a tree with

  .git/                 = ParaView clone
  VTK/.git/             = VTK clone
  Utilities/IceT/.git/  = IceT clone
  Utilities/Xdmf2/.git/ = Xdmf clone

The local ParaView will be on the "mypv" branch created
by the checkout command (the name is arbitrary).  The other
submodule repositories will be in a "detached HEAD" state.
This means that their work trees have been checked out as
the versions specified by ParaView's submodule references
as of c8805939.  These should match the last cvs versions
for all of the projects.

Then you can go into each submodule repo and create a local
branch on which to put your commits.  The local branches
will automatically start from the current versions, which
is what you want:

 $ cd VTK
 $ git checkout -b myvtk
 $ cd ../Utilities/Xdmf2
 $ git checkout -b myxdmf

Next, apply your patches from CVS to the whole ParaView
tree.  Then go into each submodule and create their commits.
When finished with all the submodules, run "git status"
at the top level of ParaView.  It should report that the
submodules have been modified.  This means that their
HEAD points at a different version than that referenced
by ParaView.  Use "git add" to stage the new references.
Then add the rest of your changes in ParaView and commit.


More information about the vtk-developers mailing list