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

pat marion pat.marion at kitware.com
Wed Apr 21 10:01:58 EDT 2010


Trying to understand the mechanics of submodules, I found it helpful to read
this article explaining the detached-head concept in git:

http://sitaramc.github.com/concepts/detached-head.html

So in paraview:

$ cd ParaView
$ git submodule status VTK
  892014037f07ac668979c85b85112fc850515b94 VTK (v5.4.2-4331-g8920140)
$ cd VTK/
$ cat .git/HEAD
892014037f07ac668979c85b85112fc850515b94
$ git checkout -b mywork
$ cat .git/HEAD
ref: refs/heads/mywork
$ cat .git/refs/heads/mywork
892014037f07ac668979c85b85112fc850515b94


Pat

On Wed, Apr 21, 2010 at 9:12 AM, Brad King <brad.king at kitware.com> wrote:

> 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.
>
> Yes:
>
>  http://paraview.org/gitweb?p=ParaView.git;a=commit;h=c8805939
>
>  $ 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.
>
> -Brad
> _______________________________________________
> Paraview-developers mailing list
> Paraview-developers at paraview.org
> http://public.kitware.com/mailman/listinfo/paraview-developers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20100421/0237e7fa/attachment.html>


More information about the vtk-developers mailing list