[ET Trac] [Einstein Toolkit] #1802: move AEIThorns into git repositories

Einstein Toolkit trac-noreply at einsteintoolkit.org
Thu Oct 8 11:32:00 CDT 2015


#1802: move AEIThorns into git repositories
------------------------------------+---------------------------------------
  Reporter:  rhaas                  |       Owner:                                                                 
      Type:  enhancement            |      Status:  new                                                            
  Priority:  minor                  |   Milestone:                                                                 
 Component:  EinsteinToolkit thorn  |     Version:  development version                                            
Resolution:                         |    Keywords:  ADMMass AEILocalInterp PunctureTracker SystemStatistics Trigger
------------------------------------+---------------------------------------

Comment (by barry.wardell):

 As Ian says, we discussed this on Skype yesterday and worked out a
 solution which should hopefully satisfy all of our desires/requirements.
 In short, the thorns have been moved and everything is now working the way
 we want it.

 For those who are interested, a more detailed explanation follows. What
 was done:
 1. Merge the master branches of the to-be-moved thorns into the master
 branches of the arrangement repository they are moving to.
 2. Push other branches and tags from the moved thorns' repository into the
 arrangement repository under their own namespace (so we have, e.g.,
 PunctureTracker/ET_2015_05)
 3. Do *not* merge the release branches of the moved thorns into the
 arrangement release branches. This would have too many weird side-effects
 (multiple copies of a thorn in the Cactus tree, not reflecting any true
 history, having the merged thorns appear on the tips of branches but not
 being present in any intervening commits between branches, etc.).

 This is all we need going forward and will work for all future releases. I
 have gone ahead and pushed these changes to the official repositories.

 This strategy also preserves the full history of the thorns in a faithful
 way and makes it easy to go back to older versions. For example, if one
 wants to go back to a previous version of PunctureTracker while keeping it
 in the new EinsteinAnalysis arrangement, they can just checkout that
 version using, e.g.,
 {{{
 git checkout origin/PunctureTracker/ET_2011_05 PunctureTracker
 }}}
 This will move the PunctureTracker directory back to the ET_2011_05
 release version while keeping other thorns at the current release.

 Alternatively, if one wants to move the entire arrangement back to the
 ET_2011_05 release, they can use
 {{{
 git checkout ET_2011_05
 }}}
 as normal. This will then not have PunctureTracker present, as expected
 since it wasn't in the EinsteinAnalysis arrangement at the time of the
 ET_2011_05 release. However, if one really does want to have the
 ET_2011_05 version of PunctureTracker, then that's easily achieved too:
 {{{
 git checkout origin/PunctureTracker/ET_2011_05 PunctureTracker
 }}}
 I think making this step explicit is better (less confusing) than merging
 the PunctureTracker/ET_2011_05 branch into the ET_2011_05 branch. It also
 means that old release thornlists should still work fine without any
 modification.

 A separate issue is that the AEI are keen to retire their svn server. It's
 running an old version of the OS, is becoming a chore to maintain, and
 isn't being used by anyone any more. Once it goes offline, old release
 thornlists will no longer work. To work around this, we can make git
 versions of the relevant thorn repositories available on BitBucket. In
 principle, this could be achieved using the existing merged arrangement
 repositories and just checking out, e.g., the PunctureTracker/ET_2011_05
 branch in the EinsteinAnalysis repository, which will only give the
 PunctureTracker files and not the other files in the arrangement. The only
 catch is that this would make checkouts larger, since each of these thorns
 will now have a repository which contains the history of the whole
 arrangement. To cut down on repository size/download time, the best
 solution is to make the relevant release branches available in separate
 read-only repositories, one for each thorn. I have done this for the both
 AEIThorns and LSUThorns repositories, so we now have, e.g., a
 [https://bitbucket.org/einsteintoolkit/archivedthorns-puncturetracker
 PunctureTracker repository], which only contains the necessary release
 branches. I have also updated all of the old release branch thornlists in
 the Einstein Toolkit manifest repository, so that new downloads of the ET
 will use the git versions of the repositories from BitBucket in place of
 the old svn repositories. I have tested that I can use GetComponents with
 these updated release thornlists to check out the old releases.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1802#comment:17>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list