Hey all. Luke showed me yesterday some weird behavior during the merge of the security branch with his master. (Some changes that were almost definitely not intended were being made as part of the merge; in particular the templates for some of the csw transactions were being removed.) I spent more time than I should have trying to track down where this change was coming from, but the revision history around the security stuff is quite complicated.
So, I just spent an hour or so rebasing both Luke's master branch (where the django side of the security integration is) and Gabriel's security branch (where the GeoServer side is) onto master. I did a test merge as well and it looks like the spurious commits are gone, so hurrah. I'm not publishing a merged commit though because I was kind of guessing during the conflicts (and there were a number of merge conflicts even during the rebase). Luke and Gabriel, you should check things out. My results are on my github fork at: http://github.com/dwins/geonode/tree/gs_security_rebase http://github.com/dwins/geondoe/tree/dj_acl_publisher So, why a rebase? git rebase can do a lot of stuff, but in its simplest invocation it simply picks up the current branch and rewrites it as though it were based off another one. (you can look at the pretty ASCII art in the man page for git rebase here: http://kernel.org/pub/software/scm/git/docs/git-rebase.html) Along the way it: * drops commits that are already on the new base (!) * folds everything up so it looks like a straight development line (no branching within the branch, even if multiple developers have been hacking on it) I never did figure out what revision was erasing the CSW templates, but after the rebase they were there again on groldan's security branch. If you would rather redo the changes yourself (took me about 20-30 minutes each for geoserver and django stuff, would probably be quicker for someone who's been looking at the code recently) here are the commands I used: git checkout groldan/security -b gs_security_rebase git rebase origin/master while [git reports conflicts] do git mergetool git rebase --continue done git checkout ltucker/master -b dj_acl_publisher git rebase origin/master while [git reports conflicts] do git mergetool git rebase --continue done -- David Winslow OpenGeo - http://opengeo.org/
