[commit: ghc] master: Merge branch 'master' of http://darcs.haskell.org/ghc (fd6587b)
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Thu May 12 14:28:57 CEST 2011
I think what SimonM described in the recent thread is basically what we want:
- you develop in your working tree and commit patches there. At
this point it's completely safe to rebase - the patches are only
in one place.
- you pull the patches into the validate tree (you just rebased in
working, so no conflicts or merges required here)
- run validate (takes ~30 mins)
- try to push - oops, someone else already pushed something
- now we have a choice: merge or rebase.
- merge: we get a merge commit, but later pulling into the working
tree works fine.
- rebase: no merge commit, but we have to remember to rebase the
working tree again, otherwise the next pull will be a conflict.
It is perfectly fine to merge the HEAD into your branch every now and again. Merging is useful! I think you should do it for a reason, though — eg, you work on the type checker and somebody just pushed a major change to the type checker that might interfere with your code. It just shouldn't be done out of habit ever morning.
Manuel
Simon Peyton-Jones:
> I'm open to something better if anyone can explain simply how to achieve it. Remember:
>
> - the branch is long lived
> - the branch is shared
> - the branch must be updated from HEAD every now and again
>
> Simon
>
> | -----Original Message-----
> | From: Manuel M T Chakravarty [mailto:mchakravarty at me.com]
> | Sent: 12 May 2011 13:14
> | To: Simon Peyton-Jones
> | Cc: cvs-ghc at haskell.org
> | Subject: Re: [commit: ghc] master: Merge branch 'master' of
> | http://darcs.haskell.org/ghc (fd6587b)
> |
> | Juts to get back to the topic of merging versus rebase. SimonPJ's commit set right
> | now had 23 commits of which 8 were merge commits. That's a third of the commits. A
> | rather poor noise to signal ratio IMHO. (Sorry Simon that I picked your set. It was
> | just the next big set after our discussion about merging in git.)
> |
> | Manuel
> |
> |
> | Simon Peyton Jones:
> | > Repository : ssh://darcs.haskell.org//srv/darcs/ghc
> | >
> | > On branch : master
> | >
> | >
> | http://hackage.haskell.org/trac/ghc/changeset/fd6587b68ad5aa4b6202066b598aec234220bae
> | 0
> | >
> | >> ---------------------------------------------------------------
> | >
> | > commit fd6587b68ad5aa4b6202066b598aec234220bae0
> | > Merge: 10ffbfd... c8c2f6b...
> | > Author: Simon Peyton Jones <simonpj at microsoft.com>
> | > Date: Thu May 12 11:22:50 2011 +0100
> | >
> | > Merge branch 'master' of http://darcs.haskell.org/ghc
> | >
> | > compiler/basicTypes/DataCon.lhs | 88 +-
> | > compiler/basicTypes/Id.lhs | 39 +-
> | > compiler/basicTypes/IdInfo.lhs | 5 +-
> | > compiler/basicTypes/IdInfo.lhs-boot | 2 +
> | > compiler/basicTypes/MkId.lhs | 121 +-
> | > compiler/basicTypes/Var.lhs | 87 +-
> | > compiler/basicTypes/VarEnv.lhs | 3 +-
> | > compiler/basicTypes/VarSet.lhs | 6 +-
> | > compiler/cmm/CmmCPS.hs | 1 +
> | > compiler/coreSyn/CoreArity.lhs | 42 +-
> | > compiler/coreSyn/CoreFVs.lhs | 24 +-
> | > compiler/coreSyn/CoreLint.lhs | 438 +++---
> | > compiler/coreSyn/CorePrep.lhs | 37 +-
> | > compiler/coreSyn/CoreSubst.lhs | 255 ++--
> | > compiler/coreSyn/CoreSyn.lhs | 64 +-
> | > compiler/coreSyn/CoreTidy.lhs | 9 +-
> | > compiler/coreSyn/CoreUnfold.lhs | 44 +-
> | > compiler/coreSyn/CoreUtils.lhs | 239 ++--
> | > compiler/coreSyn/ExternalCore.lhs | 13 +-
> | > compiler/coreSyn/MkCore.lhs | 10 +-
> | > compiler/coreSyn/MkExternalCore.lhs | 54 +-
> | > compiler/coreSyn/PprCore.lhs | 16 +-
> | > compiler/coreSyn/PprExternalCore.lhs | 6 +-
> | > compiler/deSugar/Check.lhs | 1 -
> | > compiler/deSugar/Desugar.lhs | 2 +
> | > compiler/deSugar/DsBinds.lhs | 26 +-
> | > compiler/deSugar/DsCCall.lhs | 4 +-
> | > compiler/deSugar/DsExpr.lhs | 28 +-
> | > compiler/deSugar/DsForeign.lhs | 13 +-
> | > compiler/deSugar/DsUtils.lhs | 20 +-
> | > compiler/deSugar/Match.lhs | 14 +-
> | > compiler/deSugar/MatchCon.lhs | 1 -
> | > compiler/ghc.cabal.in | 2 +
> | > compiler/ghci/ByteCodeGen.lhs | 31 +-
> | > compiler/ghci/RtClosureInspect.hs | 281 ++--
> | > compiler/hsSyn/HsBinds.lhs | 10 +-
> | > compiler/hsSyn/HsPat.lhs | 4 +-
> | > compiler/hsSyn/HsUtils.lhs | 32 +-
> | > compiler/iface/BinIface.hs | 99 +-
> | > compiler/iface/BuildTyCl.lhs | 20 +-
> | > compiler/iface/IfaceSyn.lhs | 44 +-
> | > compiler/iface/IfaceType.lhs | 111 +-
> | > compiler/iface/MkIface.lhs | 37 +-
> | > compiler/iface/TcIface.lhs | 77 +-
> | > compiler/main/DynFlags.hs | 4 +-
> | > compiler/main/GHC.hs | 7 +-
> | > compiler/main/HscTypes.lhs | 27 +-
> | > compiler/main/PprTyThing.hs | 10 +-
> | > compiler/main/TidyPgm.lhs | 1 +
> | > compiler/parser/ParserCore.y | 2 +-
> | > compiler/prelude/PrelNames.lhs | 13 +-
> | > compiler/prelude/PrelRules.lhs | 4 +-
> | > compiler/prelude/TysPrim.lhs | 312 +++--
> | > compiler/prelude/TysWiredIn.lhs | 29 +-
> | > compiler/rename/RnNames.lhs | 2 +-
> | > compiler/rename/RnTypes.lhs | 2 +-
> | > compiler/simplCore/CSE.lhs | 2 +
> | > compiler/simplCore/FloatIn.lhs | 19 +-
> | > compiler/simplCore/FloatOut.lhs | 1 +
> | > compiler/simplCore/LiberateCase.lhs | 1 +
> | > compiler/simplCore/OccurAnal.lhs | 96 +-
> | > compiler/simplCore/SAT.lhs | 23 +-
> | > compiler/simplCore/SetLevels.lhs | 19 +-
> | > compiler/simplCore/SimplEnv.lhs | 92 +-
> | > compiler/simplCore/SimplUtils.lhs | 42 +-
> | > compiler/simplCore/Simplify.lhs | 195 ++-
> | > compiler/specialise/Rules.lhs | 30 +-
> | > compiler/specialise/SpecConstr.lhs | 34 +-
> | > compiler/specialise/Specialise.lhs | 7 +-
> | > compiler/stgSyn/CoreToStg.lhs | 15 +-
> | > compiler/stgSyn/StgSyn.lhs | 24 +-
> | > compiler/stranal/DmdAnal.lhs | 33 +-
> | > compiler/stranal/WorkWrap.lhs | 1 +
> | > compiler/stranal/WwLib.lhs | 27 +-
> | > compiler/typecheck/FamInst.lhs | 8 +-
> | > compiler/typecheck/Inst.lhs | 10 +-
> | > compiler/typecheck/TcArrows.lhs | 16 +-
> | > compiler/typecheck/TcBinds.lhs | 2 +-
> | > compiler/typecheck/TcCanonical.lhs | 190 +--
> | > compiler/typecheck/TcDeriv.lhs | 10 +-
> | > compiler/typecheck/TcEnv.lhs | 4 +-
> | > compiler/typecheck/TcErrors.lhs | 14 +-
> | > compiler/typecheck/TcExpr.lhs | 70 +-
> | > compiler/typecheck/TcGenDeriv.lhs | 3 +-
> | > compiler/typecheck/TcHsSyn.lhs | 34 +-
> | > compiler/typecheck/TcHsType.lhs | 17 +-
> | > compiler/typecheck/TcInstDcls.lhs | 233 +++-
> | > compiler/typecheck/TcInteract.lhs | 106 +-
> | > compiler/typecheck/TcMType.lhs | 47 +-
> | > compiler/typecheck/TcMatches.lhs | 10 +-
> | > compiler/typecheck/TcPat.lhs | 42 +-
> | > compiler/typecheck/TcRnDriver.lhs | 48 +-
> | > compiler/typecheck/TcRnMonad.lhs | 4 +-
> | > compiler/typecheck/TcRnTypes.lhs | 7 +-
> | > compiler/typecheck/TcRules.lhs | 1 -
> | > compiler/typecheck/TcSMonad.lhs | 8 +-
> | > compiler/typecheck/TcSimplify.lhs | 7 +-
> | > compiler/typecheck/TcSplice.lhs | 21 +-
> | > compiler/typecheck/TcTyClsDecls.lhs | 264 +---
> | > compiler/typecheck/TcTyDecls.lhs | 2 +-
> | > compiler/typecheck/TcType.lhs | 321 ++---
> | > compiler/typecheck/TcUnify.lhs | 101 +-
> | > compiler/typecheck/TcUnify.lhs-boot | 4 +-
> | > compiler/types/Coercion.lhs | 1553 ++++++++++++--------
> | > compiler/types/FamInstEnv.lhs | 81 +-
> | > compiler/types/FunDeps.lhs | 6 +-
> | > compiler/types/InstEnv.lhs | 4 +-
> | > compiler/types/Kind.lhs | 232 +++
> | > compiler/types/OptCoercion.lhs | 538 +++----
> | > compiler/types/TyCon.lhs | 234 ++--
> | > compiler/types/Type.lhs | 677 ++++-----
> | > compiler/types/TypeRep.lhs | 556 ++++---
> | > compiler/types/TypeRep.lhs-boot | 3 +-
> | > compiler/types/Unify.lhs | 70 +-
> | > compiler/utils/Pair.lhs | 47 +
> | > compiler/vectorise/Vectorise.hs | 3 +-
> | > compiler/vectorise/Vectorise/Builtins/Base.hs | 1 -
> | > .../vectorise/Vectorise/Builtins/Initialise.hs | 1 -
> | > compiler/vectorise/Vectorise/Exp.hs | 3 +-
> | > compiler/vectorise/Vectorise/Type/Env.hs | 1 -
> | > compiler/vectorise/Vectorise/Type/PRepr.hs | 11 +-
> | > compiler/vectorise/Vectorise/Type/Type.hs | 1 -
> | > compiler/vectorise/Vectorise/Utils.hs | 3 +-
> | > compiler/vectorise/Vectorise/Utils/Base.hs | 2 +-
> | > compiler/vectorise/Vectorise/Utils/Closure.hs | 1 -
> | > compiler/vectorise/Vectorise/Utils/Hoisting.hs | 1 -
> | > compiler/vectorise/Vectorise/Utils/PADict.hs | 7 +-
> | > compiler/vectorise/Vectorise/Utils/Poly.hs | 1 -
> | > compiler/vectorise/Vectorise/Var.hs | 1 -
> | > ghc/GhciTags.hs | 7 +-
> | > 130 files changed, 4928 insertions(+), 4255 deletions(-)
> | >
> | >
> | >
> | >
> | > _______________________________________________
> | > Cvs-ghc mailing list
> | > Cvs-ghc at haskell.org
> | > http://www.haskell.org/mailman/listinfo/cvs-ghc
> |
>
More information about the Cvs-ghc
mailing list