New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hg_sage.pull/push() to non-default server with multiple branches #1371
Comments
Attachment: push_bundle--Dec_2_2007.hg.gz Changesets |
comment:4
This should be applied, assuming that it does not change the default behaviour. (It should not.) It does look like there is an incorrectly indented line, but compiling should catch that. I do worry about the copyright change, though -- I thought we agreed to give all the copyright's to William Stein, to ease future license changes. We should check if Jon Hanke is okay with that? |
comment:5
We did not agree to do that. Some people did, but it is completely |
comment:6
After discussion with William at SD7, this should be applied. |
comment:7
Merged in Sage 2.10.2.alpha0 |
I noticed that the push() method was missing in sage-2.8.14, so here is a
patch. I also added current_branch() and list_branches() for the
convenience of those who may want to manage multiple branches
simultaneously.
I was also interested in being able to have a separate default outgoing
repository for convenient backups, but there is an organizational issue here
-- SAGE has hardcoded its default branch (on the server) as sage-main, so if
one wanted to manage multiple branches from the same repository (as might
happen if there were several branches being simultaneously pulled/pushed to
on the same server) they will break the default scheme. So I forced the
hardcoded default server to use only the "main" branch (and updated the
hardcoded server to be sagemath.org instead of sage.math.washington.edu).
For example, suppose one wants to have a server with two branches: sage-main
and sage-other on the non-default server math.awesome.edu. Then the way
things are coded now, sage-main would update from sage-main, and
sage-other would update from sage-other. If we were connecting to the
default sagemath.org, then both branches would update from sage-main.
(WARNING TO MAINTAINER: This means that if the default server is changed,
one must also explicitly change the DEFAULT_SERVER variable in
BRANCH_PATH/sage/misc/hg.py)
If a non-default outgoing server is set, then commands like hg_sage.bundle() will use it for determining the relevant changesets, so a bundle to commit to sagemath.org would meet to specify the incoming server explicity. For example, this bundle was created with:
Finally, I didn't really understand where the default_server was set, so I
added support to set them from shell variables SAGE_INCOMING_SERVER and
SAGE_OUTGOING_SERVER (with no trailing '/', in mercurial path format to the
'...../devel' directory). However I was careful to preserve the default
behavior when no settings are present. Any comments are appreciated!
Component: interfaces
Keywords: push, mercurial, branches
Issue created by migration from https://trac.sagemath.org/ticket/1371
The text was updated successfully, but these errors were encountered: