Heads up: Mercurial: What to expect: Pushing your changes


Date: Tue, 05 Aug 2008 18:36:14 -0600
From: "Mark J. Nelson" <Mark.J.Nelson at sun dot com>
To: on-discuss at opensolaris dot org
Subject: Heads up: Mercurial: What to expect: Pushing your changes

External folks: the mechanics of "hg push" are familiar to you by now, but
the extra cruft surrounding the gate, clone, and ON integration rules may
or may not be.

THIS NOTE IS NOTE AN INDICATION THAT THE GATE HAS REOPENED.  IT HAS NOT.
We expect to coordinate the first couple of pushes this evening or
tomorrow, for now we're making sure to dot our i's and cross our t's in
getting the gate and build machines converted.

Heads up: Here's how you will 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.

There is an automated incremental build triggered by pushes to the
open repository, pushing your changes to the open repository first
would cause an incremental build to start in a workspace not
containing your closed changes, leading to almost certain failure.

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-5 for

  	GATE=ssh://onhg at onnv dot sfbay dot sun dot 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-5 for

  	GATE=ssh://onhg at onnv dot sfbay dot sun dot 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

     When pushing to the onnv gate, you must push as the user 'onhg'
     (as in the GATE paths above).  Your regular user account does not
     have write access to the gate.

     This will seem to take a long time, because some of the sanity and
     RTI checking hooks must perform database queries on systems other
     than the gate machine.  You won't see much output in real time as
     the output is unavoidably buffered.  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" means that you need to pull from the clone and merge with
     any changes:

  	hg pull -u $CLONE
  	hg merge
  	# review/sanity check results of merge
  	hg commit
  	hg recommit
  	# go back to step 4

Questions to scm-migration-dev at opensolaris dot org.

~--Mark

last modified by alanbur on 2009/11/20 23:48
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.