-
-
Notifications
You must be signed in to change notification settings - Fork 410
Home
-
Make sure you have a constant internet connection.
-
Clone the
build_system
branch from sagemath's sage repository:git clone git://github.com/sagemath/sage.git -b build_system
The changes the
build_system
branch has over themaster
branch are exactly the changes that need review at #14480. -
Go into the source directory and run
make
:cd sage make
-
In the preferences for your trac account, there is a SSH Keys tab. Add your public keys.
-
The trac server's ssh port is 2222 (rather than the standard 22), so the easiest way to deal with this is add an extra
Host
to your SSH config file (note that your username should begit
). Then you can push and pull usinggit <push|pull> trac:sage.git [ARGS]
An alternative is to add a remote repository to your local sage repository:
git remote add trac ssh://git@trac.sagemath.org:2222/sage.git -t master
Then you can push and pull using
git <push|pull> trac [ARGS]
-
You have push permissions to branches of the form
u/TRAC_USERNAME/*
. So for example, I have permissions to do the followinggit push local_branch:u/ohanar/remote_branch
since my trac username is
ohanar
. However, the following would give me an errorgit push local_branch git push local_branch:master ...
-
To attach a branch to a ticket, push your changes to the trac server and then fill the
Branch
field in the corresponding ticket with the remote branch name. For example, if I have a local branch namedlocal_branch
and I want to attach this branch to ticket #555, I would dogit push local_branch:u/ohanar/remote_branch
and then on trac, I would fill the
Branch
field withu/ohanar/remote_branch
.The
Branch
field is color coded: red means there is an issue, green means it will merge cleanly intomaster
. If it is red, the tooltip will tell you what is wrong. If it is green, then it will link to a diff of the changes againstu/ohanar/build_system
. (This is temporary until #14480 is merged into themaster
branch.)
During the transition from mercurial to git, you may want or need to apply some patches produced by mercurial. You can use the standard Unix tool patch
for this, or you can use git apply
. The main thing to realize, for either approach, is that the sage directory structure has changed, and you will need to account for this. The sage library is now in SAGE_ROOT/src
instead of SAGE_ROOT/devel/sage
.
If you are in the SAGE_ROOT
directory, you can apply a patch with
git --directory=src --ignore-space-change --whitespace=fix PATCHFILE
If you cd
to SAGE_ROOT/src
, then the --directory
option is not necessary.
- build system modifications (except as below)
- git friendly trac server
- development scripts (found at dev_scripts)
- git backend (pending no more needed functionality)
- user interface api
- resolve #14781
- development scripts (found at dev_scripts)
- trac backend
- method to get display ticket, including all comments
- method to edit whole ticket (easy to do once the previous one is implemented)
- public interface (
SageDev
object)- doctests and docstrings
- finish move of SavingDicts (these should be attached to
SageDev
as opposed toGitInterface
, as they were previously) - finish revamp to be more pythonic (asking forgiveness, rather than a bunch of if..else blocks)
- mecurial compatibility scripts
- SPKG merge script (should be really easy to write using a truncated version of the script I use to manage the git repository)
- branch -> mercurial patch (that works with whitespace)
- make
download_patch
a bit smarter when it comes to urls
- trac backend
- finish cleanup of the mercurial export script (nearly done)
- documentation
-
walk_through.rst
needs a major overhaul -
producing_spkgs.rst
andpatching_spkgs.rst
need updating- old style spkgs are deprecated
- unified repository now
- package_version.txt
- checksums.ini (
sage-fix-pkg-checksums
)
-
producing_patchs.rst
needs major overhaul -
trac.rst
probably needs updating - other smaller fixups will probably be needed throughout
-
- buildbot
- patchbot