Hit me with the mercurial clue bat...

Kelly O'Hair Kelly.Ohair at Sun.COM
Thu Oct 9 09:17:41 PDT 2008


A few helpful bits of info...

   * Even though http://hg.openjdk.java.net/cvmi/cvmi/ is a Mercurial forest
     each repository inside that forest, and in your own forest clone has it's
     own .hg/hgrc file and it's own private repository settings.
     The .hg/hgrc file at the top of the forest does not have any influence
     on the .hg/hgrc file in the other repositories.
     A forest is a very loose confederation of repositories, doing a
     fclone-or-fpull-or-fpush is just an easy way of doing:
        foreach i in ( `find . -name .hg` )
          ( cd ${i}/.. && hg clone-or-pull-or-push )
        done
     So doing an 'fpush' is no different that doing a push in each of the
     repositories where you made changes.
     If you only make changes in say the 'hotspot' repository, all you really
     need is that one repository, and no forest commands. But pushing changes
     into any repository without making sure the entire forest builds might
     not be very co-worker friendly. ;^)

   * The .hg/hgrc file on each repository typically contains a [paths] section
     which defines the "default" path to the parent repository, usually the
     path to the repository used to create the initial clone.
     This .hg/hgrc file is NOT part of the permanent repository data and
     you can edit it.  See http://www.selenic.com/mercurial/hgrc.5.html.
     You can have a "default-push" [paths] setting too, so that pulls by default
     come from one place and push by default goes to another.
     Or you can provide the path or the name of a path defined in [paths] to
     the actual 'hg pull' or 'hg push' commands. Lots of choices here.

-kto

Andrew John Hughes wrote:
> 2008/10/9 Greg Lewis <glewis at eyesbeyond.com>:
>> G'day all,
>>
>> Okay, I've made some changes to get things working on my FreeBSD 7 box
>> (since X isn't installed in /usr/X11R6 and it postdates the compat
>> symlinks that were originally being made).  I've committed them locally
>> and now want to push them out.
>>
>> I assume I use fpush as per the pushing portion of section 7 of
>> http://www.selenic.com/mercurial/wiki/index.cgi/ForestExtension ?
>> Bonus points if you can provide exact commands and/or explain what
>> the 'default' parameter is in the fpush command.
>>
>> Also I want to start catching up the BSD port to the changes happening
>> in the mainstream port before we get too far behind, so any hints on that
>> would be appreciated.
>>
>> cvs, p4, svn and now hg -- too many commands to remember!
>>
>> --
>> Greg Lewis                          Email   : glewis at eyesbeyond.com
>> Eyes Beyond                         Web     : http://www.eyesbeyond.com
>> Information Technology              FreeBSD : glewis at FreeBSD.org
>>
>>
> 
> I assume it uses the same default as standard push which is specified
> by paths.default in .hg/hgrc.  A clone will create a copy of this file in the
> root of the checkout with the path cloned as the default e.g.:
> 
> $ cat .hg/hgrc
> [paths]
> default = http://hg.openjdk.java.net/cvmi/cvmi/
> 



More information about the bsd-port-dev mailing list