[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