<div dir="ltr">I suggest to have a release branch that gets updated by backports. From time to time, we create a new point release by creating a new tag.<div><br></div><div style>branch: trunk (may be unstable)</div><div style>
branch: ET_2012_11 (may contain new backports)</div><div style>tag: ET_2012_11_0, ET_2012_11_1, etc. (tested, created every few weeks or after a serious error has been corrected)</div><div style><br></div><div style>The download instructions should point to tags. Creating a new point release would be a non-trivial task, since it involves tagging all repositories, running tests on multiple machines, updating web pages, writing an announcement etc.</div>
<div style><br></div><div style>-erik</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 30, 2013 at 3:29 AM, Ian Hinder <span dir="ltr"><<a href="mailto:ian.hinder@aei.mpg.de" target="_blank">ian.hinder@aei.mpg.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Recently, the issue of backporting fixes to the released version of the Einstein Toolkit has come up. When the code is obviously wrong in the released version, especially when this is a newly-introduced problem, we have committed the fix both to the trunk and to the release branch. There have been a small number of these commits.<br>
<br>
Now that I think about it, I see that this approach has some problems.<br>
<br>
1. If someone says in a paper that they are using "the release" of the ET, there is no way to know which version they are using if "the release" refers to the branch (which can point to different versions as people commit occasional fixes).<br>
2. There is no way to easily test the "proposed re-released version" before moving the release branches, at which point new users will be downloading the untested version.<br>
<br>
Version control systems have both branches and tags. Branches point to "lines of development" and tags point to specific versions. In order to identify specific releases of the code, we should use tags, for example ET_2012_11.1, ET_2012_11.2 etc. Once created, these never change. Perhaps we want the following:<br>
<br>
* Branch for trunk, as currently;<br>
* Branch for "backports"; this would be things which people think should be backported and which can then be checked out and tested easily;<br>
* Tags for tested, released versions (ET_2012_11.N)<br>
* Branch for the latest tagged version (ET_2012_11) (?)<br>
<br>
The important thing is that people know (and can state in papers) what version of the code they are using. One way to ensure this is to ask people to check out the release from a specific tag, and then to check it out again from the new tag when there is a new version. An alternative would be to always check out from the release branch, but to provide a GetComponents mechanism for upgrading from one version to the next, and for verifying that the currently checked-out code is all from the same tag.<br>
<br>
I don't want to overcomplicate things, but issue (1) listed above is important. Does anyone have some better suggestions?<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Ian Hinder<br>
<a href="http://numrel.aei.mpg.de/people/hinder" target="_blank">http://numrel.aei.mpg.de/people/hinder</a><br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@einsteintoolkit.org">Users@einsteintoolkit.org</a><br>
<a href="http://lists.einsteintoolkit.org/mailman/listinfo/users" target="_blank">http://lists.einsteintoolkit.org/mailman/listinfo/users</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Erik Schnetter <<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>><br><a href="http://www.perimeterinstitute.ca/personal/eschnetter/" target="_blank">http://www.perimeterinstitute.ca/personal/eschnetter/</a>
</div>