No subject


Thu May 27 11:52:52 EDT 2010


currently checked out in Testing/Data determines the work-tree
content of this "file".

Here is where the incomplete part of Git's submodule interface
caused Hans to revert Brad L's change.  Normally when one
updates to new version (perhaps due to "git pull"), Git updates
the work tree by checking out files from the repository.
However, Git does *not* automatically update submodules!
This means that after Hans pulled Brad L's changes, his work
tree was not updated to include the change to Testing/Data.

Running "git status" may have reported something like

 $ git status
 ...
 #      modified:   Testing/Data
 ...

Git is saying that the current version of ITK in the work tree
refers to a different version of ITKData than is actually
checked out in the Testing/Data directory.  This can be addressed
by running "git submodule update":

 $ git submodule update
 Submodule path 'Testing/Data': checked out 'bc9550f3'

However, Hans did not know he was supposed to do this.  Therefore
when he did "git add" to commit his other changes, Git assumed
that he was purposefully adding a modification of the submodule
reference (which happened to be back to the old value).

There is discussion among Git developers to fix this but for now
we have to deal with it.  There is more discussion of this here:

  http://progit.org/book/ch6-6.html#issues_with_submodules

FYI, ParaView uses a submodule to refer to VTK.  Its wiki has
instructions for dealing with it:

  http://www.paraview.org/Wiki/ParaView/Git#Submodules

The ParaView developers have learned to handle it quite well,
and they have to deal with it every day because they regularly
update VTK.

-Brad


More information about the Insight-developers mailing list