Hi all, I've been reading docs (good job done, BTW!) and experimenting a bit with git in the past days to get acquaintance with the new git workflow for Sage trac tickets. There's a common situation I didn't find well described yet, and I wanted to ask whether my thoughts/my intuition is right. (Hopefully it is OK do ask here on sage-devel and not on sage-git, where I possibly could have added the 35th or so post to that other "diff" thread : https://groups.google.com/forum/#!topic/sage-git/mbAH7xAia3Y .) Assume the following resp., is it then OK to use the desribed recipe:
1. The current Sage version is (would be), say, "6.2". 2. I've got that in my local git Sage repo, especially the tag "6.2" is there listed (by "git tag --list"). 3. I want to review some ticket #abcde from trac, the corresponding trac branch is u/johndoe/tracabcde 4. Now comes the important twist: that branch "u/johndoe/tracabcde" was/is based on some previous Sage version, say "6.1" instead of "6.2"! 5. According to the development docs ("Git the Hard Way / Checking Out Tickets") I would do: git fetch trac u/johndoe/tracabcde 6. And then create a new branch, say "my_branch", to work (do the review) on, if I choose not to work "detached": git checkout -b my_branch FETCH_HEAD 7. But since the "u/johndoe/tracabcde" branch misses everything that went into Sage in between 6.1 and 6.2, I suppose the first thing I now should do is: git merge --no-edit 6.2 (Note: As integrator, I would be "on" the master branch (e.g. "vanilla 6.2"), and merge into this branch that other ticket u/johndoe/tracabcde branch. But merging in git is symmetric, so to check whether merging works, we can do it the other way around, "merging in" 6.2 into the ticket branch.) 8a. Assume the (automated in git) merge went fine, then one of the next things to do (among "sage -b", "sage -t", checking doctest coverage of canged/new files etc.) is to visually inspect the exact diff output for the code that is added/changed/deleted by ticket #abcde: git diff 6.2.. (or equivalently: git diff 6.2..my_branch ) and if all is fine, I can give a positive review. Of course, in the review comment, I should comment clearly that the review was done *against Sage v6.2*. 8b. Or else, assume the merge attempt does not succeed automatically. Then I might as a first step do the manual work necessary to complete the merge. As a result, the local branch "my_branch" contains a rebased version (from 6.1 to 6.2) of the changes that the trac ticket #abcde is about. 9. Now I would amend the commit message if necessary, and push the re-based changes back to trac (also changing the branch that ticket points to). 10. Ultimately, I could still give the original author (John Doe) a positive review for his part of the changes (i.e. the bulk of it), and possibly he (or a third person, of course) gives me a positive review for the 6.1 -> 6.2 rebasing part (non-trivial by assumption). So the ticket might reach a "positive review" status nevertheless, although the original author (John Doe) did not himself "run behind and catch up" with every new Sage version that appeared after the original code was published to ticket #abcde. And again, the ticket comments should say clearly that the work was done (re-)based to Sage version 6.2. Let me emphasize that I consciously did not use the "master" branch directly in any way in the above description, because e.g. "sage -dev vanilla" drops me currently where I want, i.e. at tag "6.0.rc0", but "git branch --list" tells me that's detached from master (which is at tag 5.13 I suppose) ... Thoughts? I would be especially interested in a kind of "moving tag" named "CURRENT" or so, which is always identical to the latest official Sage release tag. (So I could have written "git merge --no-edit CURRENT" and "git diff CURRENT.." in the above.) Or is this already somewhere encoded in the dev scripts and described their documentation, and it was just me to not find it? Cheers, Georg -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/groups/opt_out.