[ET Trac] [Einstein Toolkit] #1949: provide floating branch to "current release" and links to it
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Thu Aug 18 02:54:43 CDT 2016
#1949: provide floating branch to "current release" and links to it
--------------------------+-------------------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Other | Version: development version
Resolution: | Keywords: EinsteinToolkit
--------------------------+-------------------------------------------------
Comment (by hinder):
There is no "git update" command. You probably mean "git pull". Ignoring
SVN, and the fact that we have multiple components, this would be a bit
tricky even in a single-git repo setup.
As far as I understand it, our support for upgrading from one release to
the next is "wipe out your tree and run GetComponents again", which is
very bad already, but a complicated problem to get right with multiple
repositories in multiple version control systems, any of which may have
local uncommitted or committed changes, or be on different branches to
master (this is a problem of a component framework, not really something
we have done wrong). This has been the case in all the release notes that
I checked.
If we reset the branch to point to the new release, then a "git pull" by a
user on the original branch would, if there were backported commits on
that branch, attempt to merge the new branch into the old branch. If
there were backports, this might lead to conflicts. Even if there
weren't, the pulled branch would be a merge, rather than identical to the
new release, so this is not really what we want.
"git pull" has never been the right command for upgrading from one release
to the next. "pull" means to pull in changes from the remote branch
tracked by the current branch. Upgrading to a new release corresponds
instead, at the moment, to checking out a different branch. i.e. you
would do git checkout ET_2016_11. Assuming no local committed or
uncommitted changes, this will do the right thing; the code version will
switch completely to the new release. If you have local working copy
changes, these will remain in your tree, unless there are conflicts which
cannot be merged, in which case you will get conflict markers. If you
have local commits, they will disappear from your working copy, since you
are moving to a branch which doesn't have them, but they will remain on
your old branch. This all seems very reasonable.
If we had a floating release branch, I don't think anything would change.
The user would "git checkout origin/currentrelease", and I think this
would just work.
Since we don't support updating a tree from one release to the next, the
issue of updating doesn't apply in any case. The advantage of Roland's
proposal is that we wouldn't have to update websites each time.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1949#comment:2>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list