Annotation of wikisrc/Wifi_renewal_on_hg.mdwn, revision 1.2

1.1       wiki        1: #How to help with the Wifi renewal "branch" in hg
                      2: 
                      3: The wifi renewal project is trying to sync our sys/net80211 with FreeBSD as far as possible, to allow easier sharing of drivers.
                      4: 
                      5: ## Why hg?
                      6: 
                      7: The project started with a traditional cvs branch, but as we will be moving to mercurial anyway (and this "branch" could live for quite some time, even accross the general repo switch), it is a good test case for the hg environment and also nice practice for the developers involved.
                      8: 
                      9: The developement uses a "topic", which is a kind of lightweight branch that goes away after the project finished. The hg documentation includes
                     10: an [introduction to topics](https://www.mercurial-scm.org/doc/evolution/tutorials/topic-tutorial.html).
                     11: 
                     12: ## Helping with testing
                     13: 
                     14: ** Note that this project is not ready for general testing yet! **
                     15: 
                     16: If you just want to check out the wifi project source and build your own test kernel for it, you simply start by cloning the repository from anonhg:
                     17: 
                     18:     > hg clone https://anonhg.netbsd.org/src-draft
                     19: 
                     20: Now enable the 'topic' extension by adding
                     21: 
                     22:     [extensions]
                     23:     topic=
                     24: 
                     25: to the .hg/hgrc file in your clone dir and then update to the 'wifi' topic:
                     26: 
                     27:     > hg up wifi
                     28: 
                     29: ## Helping with developement
                     30: 
                     31: As a developer, you should start with an annonhg clone as well, as that uses 'clonebundles' and the CDN to get your clone faster.
                     32: 
                     33: The developement happens using the topic and evolve extensions, which unfortunately slows down some hg operations.
                     34: 
                     35: After initial cloning (see above) you will have to edit your global ~/.hgrc and the clone local .hg/hgrc files. Here is my ~/.hgrc:
                     36: 
                     37:     [ui]
                     38:     user=Martin Husemann <martin@NetBSD.org>
                     39:     color = no
                     40:     ignore = ~/.hgignore
                     41:     [paths]
                     42:     default:pushrev = .
                     43:     [extensions]
                     44:     evolve=
                     45:     topic=
                     46:     share=
                     47:     purge=
                     48:     pager=
                     49:     rebase=
                     50: 
                     51: The .hgignore file referened there tells hg to leave editor backups and compiled kernels alone. Mine looks like:
                     52: 
                     53:     syntax: glob
                     54:     *~
                     55:     *.o
                     56:     sys/arch/amd64/compile/*
                     57: 
                     58: Finaly the clone local config (.hg/hgrc) looks like this:
                     59: 
                     60:     [paths]
                     61:     default = ssh://hgmaster.netbsd.org//repo/src-draft
                     62:     final = ssh://hgmaster.netbsd.org//repo/src-public
                     63:     [phases]
                     64:     publish=false
                     65: 
1.2     ! wiki       66: This directs normal pushes to the src-draft repository and prevents publishing (that is what "merging the branch to HEAD" would have been in cvs). When it is time to do that, a "final" push will be done that moves the changes to the src-public repository (and empties the topic, which will make it vanish on next update).

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb