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

Reply via email to