-
-
Notifications
You must be signed in to change notification settings - Fork 406
Home
See http://trac.sagemath.org/wiki/QuickStartSageGit
-
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
Hostto 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://[email protected]:2222/sage.git -t masterThen 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_branchsince 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
Branchfield in the corresponding ticket with the remote branch name. For example, if I have a local branch namedlocal_branchand I want to attach this branch to ticket #555, I would dogit push local_branch:u/ohanar/remote_branchand then on trac, I would fill the
Branchfield withu/ohanar/remote_branch.The
Branchfield 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 themasterbranch.)
During the transition from mercurial to git, you may want or need to apply some patches produced by mercurial. The easiest way to do this is with sage --dev import-patch (see the help for more details).
-
Alice has made some changes for ticket 1234, and made them available on trac by uploading a branch named
u/alice/1234. Bob wants to review her changes, so he doesgit fetch trac u/alice/1234 git checkout FETCH_HEADThen Bob can test Alice's changes as much as he likes.
-
Bob has tested, and now wants to make a very minor change as a reviewer. He does
git checkout -b ticket/1234 ... (make the change) ... git commit -am 'helpful commit message' git push trac ticket/1234:u/bob/1234Then Bob goes to the ticket page on Trac and makes some changes to tell Alice about his review, the minor change, and the branch he just uploaded:
u/bob/1234. Alice can merge that branch with her own if she wants to use Bob's suggestions. -
Later, Alice and Bob decide to collaborate on ticket 4321, where they'll both be making substantial changes. Alice puts a branch on Trac for this at
u/alice/4321. The Bob doesgit remote set-branches trac --add u/alice/4321 git remote update git checkout trac/u/alice/4321 -b ticket/4321Then Bob does a bunch of work and makes a few commits to his local branch,
ticket/4321. Alice does the same to her local branch, and pushes them up to the Trach branch she started. Bob wants to merge them in, so he doesgit remote update git merge trac/u/alice/4321
- 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 http://trac.sagemath.org/ticket/14482)
- 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)
- mecurial compatibility scripts
- finish cleanup of the mercurial export script (nearly done)
- documentation
-
walk_through.rstneeds a major overhaul -
producing_spkgs.rstandpatching_spkgs.rstneed updating- old style spkgs are deprecated
- unified repository now
- package_version.txt
- checksums.ini (
sage-fix-pkg-checksums)
-
producing_patchs.rstneeds major overhaul -
trac.rstprobably needs updating - other smaller fixups will probably be needed throughout
-
- buildbot
- patchbot