[Insight-developers] Question: proper integration of third party sources?

Williams, Norman K norman-k-williams at uiowa.edu
Thu Mar 14 15:27:24 EDT 2013


I've been working on a patch for ITK that incorporates the
double-conversion library from Google.

http://review.source.kitware.com/#/c/9983/


Part of the process of doing this addition is to define a procedure to
incorporate new changes from the upstream Google repository.  Prompted by
Brad King, I came up with a methodology that would do this in an orderly
fashion. I documented this in
Modules/ThirdParty/DoubleConversion/README-ITK.cmake.

Brad King pointed out, correctly, that this method would not properly
capture the change history with respect to the Google repository.  He
pointed me to the procedure used for VXL.  I found that his procedure was
beyond my understanding of git, but what I believe is happening is this:

Create a branch in the ITK repository in which the unmodified VXL source
is checked in. The ITK-local changes to VXL, if any are based off the head
of that branch.  When a new version of VXL is incorporated, the new
version is checked in at the head of that branch.  Then the changes are
merged into ITK proper.

There are some things about this process I'm not sure I understand:

1. Is this compatible with the Gerrit topic paradigm?  It seems as though
the gerrit-merge, which merges a monolithic patch branch into ITK proper,
doesn't allow for keeping the update branches around.  It isn't clear to
me how the merge branches are maintained. It looks as though the
intermediate checkin branches go away after the merge, when the new source
is pushed back to the ITK master repository.  But I'm not sure?

2. Is there a simpler way to go about this?  I keep trying to think of how
I'd go about this and keep hitting the wall on my git knowledge.  Brad's
method works for him, I'm sure, but when I try and follow his instructions
I end up with a tree that's a big mess, and not what we want.
--
Kent Williams norman-k-williams at uiowa.edu






________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
________________________________


More information about the Insight-developers mailing list