5 of N
------------------ cut here ------------------
To: on-discuss at opensolaris.org
Bcc: on-all at sun.com, onnv-gate at onnv.eng.sun.com
Subject: Heads up: Mercurial: What to expect: Pushing your changes
Heads up: Here's how you push your changes to the Mercurial gate
Important: Steps 2 and 3 below are carefully ordered. If you are making
coordinated changes to both open and closed repositories, you must push
your closed changes first.
You should NOT login to the gate machine to do your push. Your local
machine is fine. From there:
1. Get your RTI approved
2. If you have changes in usr/closed, then follow steps 4-N for
GATE=ssh://onnv.sfbay.sun.com//export/onnv-gate/usr/closed
CLONE=ssh://onnv.sfbay.sun.com//export/onnv-clone/usr/closed
3. If you have changes in open source, then follow steps 4-N for
GATE=ssh://onnv.sfbay.sun.com//export/onnv-gate
CLONE=ssh://onnv.sfbay.sun.com//export/onnv-clone
4. Make sure you're in the correct repository (open vs closed), then
hg reparent $GATE
hg pbchk
# if output is clean, go on to step 5
# otherwise, cleanup repository
hg recommit
# go back to "hg pbchk" above
5. hg push
This will seem to take a long time, because some of the sanity and RTI
checking scripts do database lookups on non-gate-machine systems. And
you won't see much output in real time, because ssh will do you a
"favor" and buffer it. Just sit tight, it's working.
If this fails, it will give you an explicit error message telling you
why. Fix the problem, then go back to step 2.
If the problem is "would create multiple heads," then "fix the
problem" really means:
hg reparent $CLONE
hg pull -u
hg merge
# review/sanity check results of merge
hg commit
hg recommit
# go back to step 4
Questions to scm-migration-dev at opensolaris.org.
--Mark