Changes between Version 2 and Version 3 of WorkingConventions/Darcs


Ignore:
Timestamp:
Sep 7, 2007 11:07:49 AM (8 years ago)
Author:
simonmar
Comment:

move some stuff from WorkingConventions

Legend:

Unmodified
Added
Removed
Modified
  • WorkingConventions/Darcs

    v2 v3  
    22 
    33GHC uses [http://darcs.net/ darcs] for revision control.  This page describes various GHC-specific conventions for using darcs, together with some suggestions and tips for using darcs effectively. 
     4 
     5== Patch naming == 
     6 
     7We have a simple naming convention for certain kinds of patches: 
     8 
     9 * If your patch fixes breakage in the build, then begin the patch name with `"FIX BUILD"`. e.g. 
     10{{{ 
     11  FIX BUILD Use the right find on Windows systems; fixes bindist creation 
     12}}} 
     13  The point here is that if someone pulls GHC from darcs and experiences a build failure, they can try 
     14  `darcs pull -a -p "FIX BUILD"` in order to grab patches that fix it, without grabbing anything else 
     15  that might introduce further breakage. 
     16 
     17 * If your patch fixes a bug, then begin the patch name with `"FIX #NNNN"`, where `NNNN` is the ticket 
     18   number. e.g. 
     19{{{ 
     20  FIX #767 (withMVar family have a bug) 
     21}}} 
    422 
    523== Conflicts == 
     
    1129We're aware that this policy creates problems for development branches of GHC, and this is truly unfortunate.  We're hopeful that darcs' conflict handling will improve in the future and we can get the full power of darcs for separate development. 
    1230 
    13 == Pushing == 
     31== Committing changes == 
     32 
     33If you have permission to push patches directly to the repository (pretty easy to get, just demonstrate your competence by sending us a patch or two first), then you can use {{{darcs push}}}: 
     34 
     35{{{ 
     36  $ darcs push <account>@darcs.haskell.org:/home/darcs/ghc 
     37}}} 
     38 
     39(change {{{ghc}}} to the name of the repository if you're pushing changes from one of the sub-repositories, like {{{testsuite}}}, or a package such as {{{base}}}.  Note: {{{darcs push}}} requires that SSH is working and can log in to your account on {{{darcs.haskell.org}}}. 
     40 
     41Do not forget to {{{darcs record}}} your changes first! 
     42 
     43== Pushing a whole tree == 
    1444 
    1545A GHC tree consists of several repositories (see [wiki:Building/GettingTheSources]).  Sometimes you want to push from them all at the same time, for example after running a validate (see TestingPatches).