From MozillaWiki
Jump to: navigation, search

Occasionally the development branch should be reset to the same content as master (well, mostly the same content).

!!! You must get sign-off from all bmo devs before taking this action, as it may destroy work-in-progess. !!!

Here's the procedure that has been used so far. Improvements to this are welcome!

Have yourself a checkout of bmo: ssh://

We want development to just be a copy master, so we merge using the 'ours' strategy. This is different than a recursive-theirs strategy and is a little weird.

Make a local branch off master. This branch will never be pushed to remote, so the name is really not important. I usually call it new-dev. From this branch, we will merge using "ours" and then cherry-pick the non-permissive robots.txt. We can then pull new-dev into development and push development up to the central repository.

   $ git checkout -b new-dev
   $ git merge -s ours development # for the commit description, use "reset development to master" rather than the more confusing default merge message
   $ git cherry-pick 77535a6       # may require another merge.
   $ git co development
   $ git pull . new-dev
   $ git push