[darcs-users] darcs patch: Outsource the (optional) mmap support to bytestring-mmap.

Eric Kow kowey at darcs.net
Thu Jan 29 18:51:14 UTC 2009


Hi Dmitry,

Do you think you could have a look at this as well?

I'm definitely for this in principle (let's whittle darcs down to the
minimum), but I wonder what the risks are...

Thanks!

On Wed, Jan 28, 2009 at 18:43:38 +0100, Petr Rockai wrote:
> since there's this nice bytestring-mmap package by Don S., I propose to scrap
> our custom mmap code. It's ugly and also seems to break win32 on ghc6.10
> (cf. our windows buildslave).
> 
> The attached patch does that. It actually shouldn't break autoconf, just
> prevent autoconf-based builds from using mmap. Please also note that by
> default, the repository compression prevents useful mmaping anyway, so it's
> probably not such a big loss either.
> 
> Yours,
>    Petr.
> 
> Wed Jan 28 18:38:25 CET 2009  Petr Rockai <me at mornfall.net>
>   * Outsource the (optional) mmap support to bytestring-mmap.
> 

Content-Description: A darcs patch for your repository!
> 
> New patches:
> 
> [Outsource the (optional) mmap support to bytestring-mmap.
> Petr Rockai <me at mornfall.net>**20090128173825
>  Ignore-this: b497434fc44b93c41252f83464f08db2
> ] hunk ./Setup.lhs 167
>  
>    let features = [ ("HAVE_HTTP", "x-have-http" `elem` customFields)
>                   , ("USE_COLOR", "x-use-color" `elem` customFields)
> -                 , ("USE_MMAP", not isWindows)
>                   , ("HAVE_MAPI", isWindows)
>                   , ("HAVE_SENDMAIL", not $ null sendmail)
>                   , ("BIGENDIAN", bigendian) ]
> hunk ./darcs.cabal 116
>  flag color
>    description: Use ansi color escapes.
>  
> +flag mmap
> +  description: Compile with mmap support.
> +
>  flag base3
>  
>  Executable          witnesses
> hunk ./darcs.cabal 349
>          cpp-options:      -DHAVE_HTTP
>          x-have-http:
>  
> +  if flag(mmap)
> +    build-depends:    bytestring-mmap >= 0.2
> +    cpp-options:      -DHAVE_MMAP
> +
>    if flag(external-bytestring)
>      build-depends:    bytestring >= 0.9.0 && < 0.10
>      cpp-options:      -DHAVE_BYTESTRING
> hunk ./darcs.cabal 488
>          cpp-options:      -DHAVE_HTTP
>          x-have-http:
>  
> +  if flag(mmap)
> +    build-depends:    bytestring-mmap >= 0.2
> +    cpp-options:      -DHAVE_MMAP
> +
>    if flag(external-bytestring)
>      build-depends:    bytestring >= 0.9.0 && < 0.10
>      cpp-options:      -DHAVE_BYTESTRING
> hunk ./src/Autoconf.hs 10
>  {-# OPTIONS -cpp #-}
>  
>  module Autoconf ( have_libcurl, have_libwww, have_HTTP,
> -                  use_color, use_mmap, darcs_version, sendmail_path, have_sendmail,
> +                  use_color, darcs_version, sendmail_path, have_sendmail,
>                    have_mapi, diff_program,
>                    path_separator, big_endian,
>                  ) where
> hunk ./src/Autoconf.hs 49
>  use_color = False
>  #endif
>  
> -{-# INLINE use_mmap #-}
> -use_mmap :: Bool
> -#ifdef USE_MMAP
> -use_mmap = True
> -#else
> -use_mmap = False
> -#endif
> -
>  {-# INLINE sendmail_path #-}
>  sendmail_path :: String
>  sendmail_path = SENDMAIL
> hunk ./src/ByteStringUtils.hs 49
>          intercalate
>      ) where
>  
> -import Autoconf                 ( use_mmap )
> -
>  import qualified Data.ByteString            as B
>  import qualified Data.ByteString.Char8      as BC
>  #if __GLASGOW_HASKELL__ > 606
> hunk ./src/ByteStringUtils.hs 70
>  #endif
>  import Foreign.Marshal.Alloc    ( free )
>  import Foreign.Marshal.Array    ( mallocArray, peekArray, advancePtr )
> -import Foreign.C.Types          ( CInt, CSize )
> +import Foreign.C.Types          ( CInt )
>  
>  import Data.Bits                ( rotateL )
>  import Data.Char                ( chr, ord, isSpace )
> hunk ./src/ByteStringUtils.hs 81
>  import Foreign.Ptr              ( nullPtr, plusPtr, Ptr )
>  import Foreign.ForeignPtr       ( ForeignPtr, withForeignPtr )
>  
> -#if defined(__GLASGOW_HASKELL__)
> -import qualified Foreign.Concurrent as FC ( newForeignPtr )
> -import System.Posix             ( handleToFd )
> -#endif
> -
>  #ifdef DEBUG_PS
>  import Foreign.ForeignPtr       ( addForeignPtrFinalizer )
>  import Foreign.Ptr              ( FunPtr )
> hunk ./src/ByteStringUtils.hs 93
>  import Foreign.C.String ( CString, withCString )
>  #endif
>  
> +#ifdef HAVE_MMAP
> +import System.IO.Posix.MMap( unsafeMMapFile )
> +#endif
> +
>  -- -----------------------------------------------------------------------------
>  -- obsolete debugging code
>  
> hunk ./src/ByteStringUtils.hs 466
>  -- the file is assumed to be ISO-8859-1.
>  
>  mmapFilePS :: FilePath -> IO B.ByteString
> -mmapFilePS f = if use_mmap
> -               then do (fp,l) <- mmap f
> -                       return $ fromForeignPtr fp 0 l
> -               else B.readFile f
> -
> -#if defined(__GLASGOW_HASKELL__)
> -foreign import ccall unsafe "static fpstring.h my_mmap" my_mmap
> -    :: CSize -> CInt -> IO (Ptr Word8)
> -foreign import ccall unsafe "static sys/mman.h munmap" c_munmap
> -    :: Ptr Word8 -> CSize -> IO CInt
> -foreign import ccall unsafe "static unistd.h close" c_close
> -    :: CInt -> IO CInt
> -#endif
> -
> -mmap :: FilePath -> IO (ForeignPtr Word8, Int)
> -mmap f = do
> -    h <- openBinaryFile f ReadMode
> -    l <- fromIntegral `fmap` hFileSize h
> -    -- Don't bother mmaping small files because each mmapped file takes up
> -    -- at least one full VM block.
> -    if l < mmap_limit
> -       then do thefp <- BI.mallocByteString l
> -               debugForeignPtr thefp $ "mmap short file "++f
> -               withForeignPtr thefp $ \p-> hGetBuf h p l
> -               hClose h
> -               return (thefp, l)
> -       else do
> -#if defined(__GLASGOW_HASKELL__)
> -               fd <- fromIntegral `fmap` handleToFd h
> -               p <- my_mmap (fromIntegral l) fd
> -               fp <- if p == nullPtr
> -                     then
> +#ifdef HAVE_MMAP
> +mmapFilePS = unsafeMMapFile
>  #else
> hunk ./src/ByteStringUtils.hs 469
> -               fp <-
> +mmapFilePS = B.readFile
>  #endif
> hunk ./src/ByteStringUtils.hs 471
> -                          do thefp <- BI.mallocByteString l
> -                             debugForeignPtr thefp $ "mmap short file "++f
> -                             withForeignPtr thefp $ \p' -> hGetBuf h p' l
> -                             return thefp
> -#if defined(__GLASGOW_HASKELL__)
> -                     else do
> -                             fp <- FC.newForeignPtr p
> -                                   (do {c_munmap p $ fromIntegral l;
> -                                        return (); })
> -                             debugForeignPtr fp $ "mmap "++f
> -                             return fp
> -               c_close fd
> -#endif
> -               hClose h
> -               return (fp, l)
> -    where mmap_limit = 16*1024
> -
>  
>  -- -------------------------------------------------------------------------
>  -- fromPS2Hex
> hunk ./src/fpstring.c 62
>  
>  }
>  
> -// mmapping...
> -
> -#ifdef _WIN32
> -
> -/* I have no idea if this works or not, and it is very tied to the usage
> - * of mmap in FastPackedString. Most arguments are ignored...
> - */
> -
> -char *my_mmap(size_t length, int fd)
> -{
> -  exit(1); /* mmap is not implemented on Windows */
> -}
> -
> -int munmap(void *start, size_t length)
> -{
> -    UnmapViewOfFile(start);
> -}
> -
> -#else
> -
> -char *my_mmap(size_t len, int fd) {
> -  void *maybeok = mmap(NULL, len, PROT_READ, MAP_SHARED, fd, 0);
> -  if (maybeok == MAP_FAILED) return NULL;
> -  else return (char *)maybeok;
> -}
> -
> -#endif
> -
>  // ForeignPtr debugging stuff...
>  
>  static int num_alloced = 0;
> hunk ./src/fpstring.h 12
>  // int first_nonwhite(const char *s, int len);
>  int has_funky_char(const char *s, int len);
>  
> -char *my_mmap(size_t len, int fd);
> -
>  int utf8_to_ints(HsInt *pwc, const unsigned char *s, int n);
>  
>  void conv_to_hex(unsigned char *dest, unsigned char *from, int num_chars);
> 
> Context:
> 
> [Cabal: Look around for diff and sendmail properly.
> Petr Rockai <me at mornfall.net>**20090128141151
>  Ignore-this: fd299a492c38fca04c791884226e63d9
> ] 
> [Resolve issue1333: Improve "cannot push to current repository" warning.
> Petr Rockai <me at mornfall.net>**20090128094353
>  Ignore-this: 1cc9fe3631f323a9a66639f5a1cee8ce
> ] 
> [Relax a few version constraints in darcs.cabal.
> Petr Rockai <me at mornfall.net>**20090126154834
>  Ignore-this: d3c7c92513dfffe14fc501d8e84c679d
>  
>  These should be reasonably safe, as they only cover part of what has been
>  previously accepted by configure.
> ] 
> [Add missing doublequotes to multiple tests.
> Petr Rockai <me at mornfall.net>**20090126151705
>  Ignore-this: eb8553ec6ea036f49fee4b9bc20d8f04
> ] 
> [Accept issue1266: warn on init inside a repo.
> Trent W. Buck <trentbuck at gmail.com>**20090126011404
>  Ignore-this: abf7526335f0975340a9a6d06df63470
> ] 
> [Have autoconf forget about .hs.in.
> Trent W. Buck <trentbuck at gmail.com>**20090126125644
>  Ignore-this: 4fa6a3ce806c726dcaec5771d3059c8b
> ] 
> [Add -fglasgow-exts to Darcs.Patch.Show
> Eric Kow <kowey at darcs.net>**20090125221422
>  Ignore-this: 38fa728c6dd08d8be30712b79b56f634
>  This probably broke when we moved it from the cabal file to Darcs.Show
> ] 
> [Remove stale import from Darcs.Commands.ShowRepo
> Eric Kow <kowey at darcs.net>**20090125215507
>  Ignore-this: 85cc913ca9532b3aec3c6ce616b896d1
> ] 
> [Resolve issue1310: create merged \darcsCommand{add}.
> Trent W. Buck <trentbuck at gmail.com>**20090124144058
>  Ignore-this: 945f45d0671c1e5a613ebfb3c4f90f59
>  This replaces inconsistent use of \haskell{add_description},
>  \options{add} and \haskell{add_help}. 
> ] 
> [Resolve issue1313: Clickable ToC and xrefs in PDF user manual.
> Trent W. Buck <trentbuck at gmail.com>**20090125091034
>  Ignore-this: 29bde3a5a170f5965d10d6c160b2099e
> ] 
> [Test for strace first.
> Trent W. Buck <trentbuck at gmail.com>**20090125062905
>  Ignore-this: 76cbe2cb451d226cfa5cf0b39f43722
>  This just results in more accurate "it didn't work because ..." output
>  from "cabal test bugs". 
> ] 
> [A grand unified pwd hack.
> Petr Rockai <me at mornfall.net>**20090125182013
>  Ignore-this: edfd791d6780e3b01e5158895e7903a1
>  
>  I have replaced all pwd occurances with a call to hspwd, and I am using runghc
>  to do so. This might be slow-ish, but should be reasonably portable. Moreover,
>  I am experimentally removing the IFS='' hack and adding missing doublequotes to
>  some places (and to some where they are not needed by POSIX but who knows). I
>  believe IFS='' is equivalent to adding proper quoting to expansions (ie $DIR ->
>  "$DIR").
> ] 
> [Drop autogeneration of Autoconf.hs, use CPP instead.
> Petr Rockai <me at mornfall.net>**20090125175413
>  Ignore-this: 5ba936527bad6d85bedf125b01f884d5
> ] 
> [Flip the repo test over to Cabal.
> Petr Rockai <me at mornfall.net>**20090124223836
>  Ignore-this: fc99853532cadcc9a9a77a2e26e2b077
> ] 
> [Produce -DPACKAGE_VERSION="..." programatically in Setup.lhs.
> Petr Rockai <me at mornfall.net>**20090124215200
>  Ignore-this: 6c3b0010d7de2397a7d81056523399dd
> ] 
> [Replace ThisVersion.hs generation within Setup with some simple CPP.
> Petr Rockai <me at mornfall.net>**20090124215149
>  Ignore-this: 4a6a9baf2e0d016616d98ee9774c01f4
> ] 
> [(cabal build) build 'witnesses' only with -ftype-witnesses
> Bertram Felgenhauer <int-e at gmx.de>**20090122224907
>  Ignore-this: 6d627163a3d4258baf22f34e304bd767
> ] 
> [(cabal build) add two missing modules to darcs library
> Bertram Felgenhauer <int-e at gmx.de>**20090122224608
>  Ignore-this: 6164fef661fa5f31cae007e523012e68
> ] 
> [Tell the configure script to require haskeline>=0.6.0.
> Judah Jacobson <judah.jacobson at gmail.com>**20090122214543
>  Ignore-this: 13e0549a6a2c75eb22f3b75a915908e7
> ] 
> [use forM_ from the standard library
> Florent Becker <florent.becker at ens-lyon.org>**20090122125344
>  Ignore-this: 4d9c0e4b98f9f43a0b519584806ddd1a
> ] 
> [Remove LANGUAGE GADTs pragma in Darcs.Show (GHC 6.6 compatibility)
> Eric Kow <kowey at darcs.net>**20090122102846
>  Ignore-this: 488aa7c372f5deee415ae2bae0c578ac
> ] 
> [Remove duplication in fields in the .cabal file
> Duncan Coutts <duncan at haskell.org>**20090122021052
>  Looks like it was a copy and paste error.
> ] 
> [Remove unused ghc -threaded flag in library section
> Duncan Coutts <duncan at haskell.org>**20090122021038
>  The -threaded flag applies only to linking programs.
>  Despte this, ghc regects the combinaton of using the -threaded
>  and profiling flags, even for building a library. New Cabal
>  versions will ignore the -threaded flag when building programs
>  but not for libs because that combination is senseless. So there
>  is a positive benefit to dropping it from the darcs library as
>  it will let people build a profiling darcs with ghc-6.8 without
>  having to modify the .cabal file to drop the -threaded flag.
> ] 
> [Clean up after shell harness.
> Trent W. Buck <trentbuck at gmail.com>**20090122050123
>  We were only cleaning .o and .hi files within src.  Doing "make test"
>  results in some .o and .hi files elsewhere.  We should add these
>  directories to the "find src" calls above, but this hack is easier to
>  understand and should suffice until we finish switching to Cabal.
> ] 
> [Syntax highlighting for new-style NEWS entries.
> Trent W. Buck <trentbuck at gmail.com>**20090122064107] 
> [NEWS for Darcs 2.2.0.
> Trent W. Buck <trentbuck at gmail.com>**20090122064014] 
> [Use conventional name "NEWS" for "new in $version" notes.
> Trent W. Buck <trentbuck at gmail.com>**20090122063959] 
> [Refactor version machinery in Setup.lhs.
> Petr Rockai <me at mornfall.net>**20090124211015
>  Ignore-this: 590b4c7825cd858dfc2faa60d9440697
>  
>  Sanctify the notion that 97, 98 and 99 are special in a darcs version
>  number. Assign fancy names to them, for prettier darcs --version.
> ] 
> [Resolve issue1292: re-encode line input from the Haskeline backend.
> Judah Jacobson <judah.jacobson at gmail.com>**20090121172422
>  Ignore-this: e6c94db8cbef0f8fa3f3d0011c6ef88f
>  This patch bumps dependencies to haskeline-0.6.* (which provides the required
>  functionality) and terminfo-0.3.* (which is required by that version of
>  Haskeline).  Haskeline is also enabled by default now that non-ASCII line input
>  works correctly.
> ] 
> [mv -fglasgow-exts to Darcs.Show
> gwern0 at gmail.com**20090120150052
>  Ignore-this: 21000375294de932f303baadba815b8b
> ] 
> [Remove obsolete import.
> Trent W. Buck <trentbuck at gmail.com>**20090118014801
>  Ignore-this: d6bd196c7d088b7e7121637d7c1b1323
> ] 
> [Refactor initial argument dispatcher.
> Trent W. Buck <trentbuck at gmail.com>**20090117081533
>  Ignore-this: fe101e61cc7b46a8c6b4415f08c737b
> ] 
> [Simplify some of my own code.
> Trent W. Buck <trentbuck at gmail.com>**20090117015505
>  Ignore-this: 42a7df5c21ae0416441572380490e127
> ] 
> [Haddocks for HashedIO
> florent.becker at ens-lyon.org**20090116170955
>  Ignore-this: 1c54191a243bd11d6d22d74600251587
> ] 
> [Haddocks for Cache
> florent.becker at ens-lyon.org**20090116170931
>  Ignore-this: 3aa035bd5f805929113a616df9faefb6
> ] 
> [Haddock for Darcs.External.fetchFile
> florent.becker at ens-lyon.org**20090116170742
>  Ignore-this: 96041231ca2800c3fcde4f56ec49e267
> ] 
> [Refactor: use more guards.
> Trent W. Buck <trentbuck at gmail.com>**20090115072617
>  Ignore-this: b41bb970198ed1f42aebdfc63c90e115
> ] 
> [Resolve issue1311:  Use time zones from GNU coreutils; improve doc.
> Dave Love <fx at gnu.org>**20090112135012
>  Ignore-this: 883bc4ccdb1d27fde14ec9c76a4d2a45
> ] 
> [omit empty line at the end of output in darcs diff
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20090114110607
>  Ignore-this: d71a3d5460fbe21244c4eba77dc47885
> ] 
> [Clean up when previous test crashed.
> Trent W. Buck <trentbuck at gmail.com>**20090113001345] 
> [Make "make clean" remove microbench.
> Trent W. Buck <trentbuck at gmail.com>**20090111152130
>  Put the clean target directly below the build target, so it's harder
>  to get them out of sync in future.
> ] 
> [Fix test optimize_relink.sh when no hard linking available
> Thorkil Naur <naur at post11.tele.dk>**20090113223335
>  The semicolon in the echo command causes the test to fail with the
>  message
>  
>  > optimize_relink.sh: line 37: assuming: command not found
>  
>  when no hard linking is available.
> ] 
> [Consistently use sh (not csh) prompts in user manual.
> Trent W. Buck <trentbuck at gmail.com>**20090111114801
>  
>  The sh prompt ($) was already used elsewhere in the manual, and I
>  choose to standardize on it instead of csh (%) because sh (especially
>  bash) seems more widespread and recognizable as the user shell prompt.
> ] 
> [resolve issue1270: don't show the motd when --xml-output is given
> lele at nautilus.homeip.net**20090109090726
>  Ignore-this: e1dae49ceb510668a1358e2103268cc3
> ] 
> [TAG 2.2.0
> Petr Rockai <me at mornfall.net>**20090115150916] 
> [Bump version to 2.2.0 in configure.ac.
> Petr Rockai <me at mornfall.net>**20090115150910] 
> [Bump version in darcs.cabal to 2.2.0.
> Petr Rockai <me at mornfall.net>**20090115150836] 
> [In README, mention that cabal builds need curl (or -f-curl).
> Petr Rockai <me at mornfall.net>**20090115150810] 
> [TAG 2.2.0rc1
> Petr Rockai <me at mornfall.net>**20090110091538] 
> [Bump version in configure.ac to 2.2.0rc1.
> Petr Rockai <me at mornfall.net>**20090110091519] 
> [Bump version in darcs.cabal to 2.1.99.0.
> Petr Rockai <me at mornfall.net>**20090110090407] 
> [Get setpref description in manual.
> Dave Love <fx at gnu.org>**20090111151941
>  Ignore-this: 89b0d00a82582d03fdf51cd9822dba65
> ] 
> [Example for issue1284.
> Trent W. Buck <trentbuck at gmail.com>**20090111051101] 
> [resolve issue1235: added --summary to obliterate
> Rob Hoelz <rob at hoelzro.net>**20090110032907] 
> [Resolve issue1307: allow QuickCheck-less build.
> Trent W. Buck <trentbuck at gmail.com>**20090110020008
>  
>  Due to the eager way dependency information is built, QuickCheck 2.1
>  was needed to during build even though the darcs binary doesn't use
>  it.  Because QuickCheck 2.1 is not available to Debian and Ubuntu
>  (without resorting to cabal), this would have meant that Darcs 2.2
>  could not be packaged for those platforms.
>  
>  Because of .depend, the --disable-unit option added by Eric was just
>  meaning that the error happened during "make" instead of "configure".
>  This patch removes --disable-unit and makes QuickCheck always tested
>  for, but *not* finding QuickCheck is no longer an error.
> ] 
> [Haddock for Darcs.Repository.Format
> Florent Becker <florent.becker at ens-lyon.org>**20090108160035
>  Ignore-this: f88f0223ebbbe5694845dd1060e6f978
> ] 
> [Remove stale comment (we now require GHC 6.6)
> Eric Kow <kowey at darcs.net>**20081231080929
>  Ignore-this: b19da9fabc8d2e38bccafc84a77fa278
> ] 
> [Fix spurious file not in repository warning
> Eric Kow <kowey at darcs.net>**20090107162646
>  Ignore-this: ef39bc74b5525258c8f857266035460f
> ] 
> [Resolve issue1279: fix spurious does-not-exist warning on directories
> Eric Kow <kowey at darcs.net>**20090107162042
>  Ignore-this: f3244448e14c7b062efeb4279ccab85b
> ] 
> [do not use concatenation in src/Context.hs
> Florent Becker <florent.becker at ens-lyon.org>**20090107135552
>  Ignore-this: 9e86505a445730b7653e75f08e8ff81e
> ] 
> [Print malicious paths and optional way around them when they cause a failure.
> David Caldwell <david at porkrind.org>**20090105101628
>  Ignore-this: cdb706087869e19e046bc0dd424ca38d
> ] 
> [Fix typo in --dont-restrict-paths documentation.
> David Caldwell <david at porkrind.org>**20090105024208
>  Ignore-this: 16197eeef34dedddeda036b47747f234
> ] 
> [Add --restrict-paths (and --dont-restrict-paths) to "darcs apply".
> David Caldwell <david at porkrind.org>**20090102101737
>  Ignore-this: f6ab937573bf0d5397361ddefed902c9
> ] 
> [Add --restrict-paths (and --dont-restrict-paths) to "darcs pull".
> David Caldwell <david at porkrind.org>**20090102101726
>  Ignore-this: dd3bc04632d341be16709e0aee6753ec
> ] 
> [Revert --restrict-paths removal.
> David Caldwell <david at porkrind.org>**20090102101705
>  Ignore-this: 1fba1f9a589aaabb1fa27a268f7c972e
> ] 
> [Fix a missed "show" in generateContextModule in Setup.lhs.
> Petr Rockai <me at mornfall.net>**20090105075055] 
> [Resolve issue1302: set closed bugs to resolved (not resolved-in-unstable).
> Trent W. Buck <trentbuck at gmail.com>**20090105001351] 
> [TAG 2.2.0pre2
> Petr Rockai <me at mornfall.net>**20090104115909] 
> [Bump darcs version to 2.2.0pre2, in configure.ac.
> Petr Rockai <me at mornfall.net>**20090104115743] 
> [Distribute README in Cabal-based tarballs.
> Petr Rockai <me at mornfall.net>**20090104111358] 
> [Cabal does not allow listing of autogen'd modules in exposed-modules.
> Petr Rockai <me at mornfall.net>**20090104111344] 
> [Fix a bug in release/distributed-context generation in Setup.lhs.
> Petr Rockai <me at mornfall.net>**20090104111242] 
> [Fix an off-by-one error in patch counting code in Setup.lhs.
> Petr Rockai <me at mornfall.net>**20090104111202] 
> [Bump version to 2.1.98.2, in darcs.cabal.
> Petr Rockai <me at mornfall.net>**20090104085835] 
> [Tweak cabal build instructions.
> Trent W. Buck <trentbuck at gmail.com>**20090104101303] 
> [make stringify cut the string
> florent.becker at ens-lyon.org**20090104102125
>  Ignore-this: e1a0cd83fce5085f60b812d894ca26e7
>  This avoids choking utilities such as grep (or emacs' internal grep) which parse haskell files line-by-line.
> ] 
> [Resolve conflicts in GNUmakefile.
> Petr Rockai <me at mornfall.net>**20090104085641] 
> [Resolve conflicts in darcs.cabal.
> Petr Rockai <me at mornfall.net>**20090104085621] 
> [TAG 2.2.0pre1
> Petr Rockai <me at mornfall.net>**20081219015734] 
> [Bump cabal version to 2.1.98.1.
> Petr Rockai <me at mornfall.net>**20081219013855] 
> [Include autoconf.mk in GNUmakefile for make dist.
> Petr Rockai <me at mornfall.net>**20081219013036] 
> [Add Cabal-based build instructions to README.
> Petr Rockai <me at mornfall.net>**20090104092142] 
> [make unit's return value depend on all tests
> Florent Becker <florent.becker at ens-lyon.org>**20090102184930
>  Ignore-this: fce3636c70bcb4a80413823c88e3ac6a
> ] 
> [Resolve issue1285: remove "cabal test" intermediaries.
> Trent W. Buck <trentbuck at gmail.com>**20090103095347] 
> [Resolve issue1206: Countable Nouns.
> Trent W. Buck <trentbuck at gmail.com>**20090101062452
>  Use the conventional term "Countable" instead of "Numbered".
> ] 
> [Workaround issue1292: disable Haskeline by default, for now.
> Judah Jacobson <judah.jacobson at gmail.com>**20081230062721
>  Ignore-this: 36e64538118d4788a6f6d50a6bbdb930
>  The Haskeline backend doesn't return non-ASCII input in a way that Darcs can process.  The next
>  release of Haskeline should make it easier to resolve this issue.
> ] 
> [Improve readability of bug reporting.
> Trent W. Buck <trentbuck at gmail.com>**20081226120833
>  Moving "at <location>" to the first line gives the descriptive string
>  a line all to itself.  For example, darcs show bug:
>  
>      darcs: bug at src/Darcs/Commands/ShowBug.lhs:57 compiled Nov  4 2008 12:05:43
>      This is actually a fake bug in darcs.
> ] 
> [Use imperative mood for primitive matcher help.
> Trent W. Buck <trentbuck at gmail.com>**20081228114434] 
> [Fix haddock error
> Eric Kow <kowey at darcs.net>**20081227204218
>  Ignore-this: 60f05d20e5f37312f6b477067114fac7
> ] 
> [Haddock for primitiveMatchers (untested).
> Trent W. Buck <trentbuck at gmail.com>**20081227141921] 
> [Rewrite primitive matcher examples.
> Trent W. Buck <trentbuck at gmail.com>**20081227141845] 
> [Rewrite "darcs help --match" output.
> Trent W. Buck <trentbuck at gmail.com>**20081227141819
>  Add an introductory paragraph, and put all the examples into a single
>  code block, since one-line paragraphs are kind hard to read.
> ] 
> [Delete superfluous "Introduction" headings.
> Trent W. Buck <trentbuck at gmail.com>**20081227034129
>  I don't think it's useful to grant a subsection heading to the single
>  introductory paragraph of a section.
> ] 
> [Refactor error text for readability.
> Trent W. Buck <trentbuck at gmail.com>**20081109144007] 
> [Tweak user manual's title page.
> Trent W. Buck <trentbuck at gmail.com>**20081227011031
>  It annoyed me that the user manual was just called "Darcs", not "Darcs
>  User Manual".
> ] 
> [Improve readability of bug reporting.
> Trent W. Buck <trentbuck at gmail.com>**20081226104243
>  Moving "at <location>" to the first line gives the descriptive string
>  a line all to itself.  For example, darcs show bug:
>  
>      darcs: bug at src/Darcs/Commands/ShowBug.lhs:57 compiled Nov  4 2008 12:05:43
>      This is actually a fake bug in darcs.
> ] 
> [Haddockize developer comment.
> Trent W. Buck <trentbuck at gmail.com>**20081214041902] 
> [Check GADT witnesses when doing Cabal-based builds.
> Petr Rockai <me at mornfall.net>**20081228111229] 
> [resolve issue1273: Work around a race in download code.
> Petr Rockai <me at mornfall.net>**20081225211634
>  
>  When we had multiple darcsen downloading the same repo, with cache enabled,
>  they would stomp on each other's temporary files and die horribly.
> ] 
> [Fix GNU-isms (cp -a, sed -i) in tests/repair-corrupt.sh.
> Petr Rockai <me at mornfall.net>**20081224083145] 
> [Darcs.ColorPrinter: factor out getPolicy call
> gwern0 at gmail.com**20081222180227
>  Ignore-this: aee5b5415ee8bbfe1dac06e240b90080
>  Less redundancy. 'getPolicy' is being called with the same args, and it's
>  not like the environmental variables are going to change in between each
>  call.
> ] 
> [Fix a memory leak in Darcs.Repository.Repair.
> Petr Rockai <me at mornfall.net>**20081223122227
>    
>  The way we repaired patches forced the whole repository into memory. We now
>  only store patches that we have actually changed and "zip" them back into the
>  repository using replaceInFL.
> ] 
> [Add missing tests-related files to darcs.cabal.
> Petr Rockai <me at mornfall.net>**20081219012851] 
> [Bump version to 2.2.0pre1.
> Petr Rockai <me at mornfall.net>**20081219010555] 
> [resolve issue948: rewrite darcsman.
> Trent W. Buck <trentbuck at gmail.com>**20081221081934
>  
>  Significant changes are:
>  
>   - Avoid duplicating groups from TheCommands.
>   - Due to growing command_helps, list commands in SYNOPSIS.
>   - Use subsections (.SS) for groups.
>   - Include (with fancy markup!) command arguments.
>   - Include darcs help --match.
>   - Copy-and-paste description from darcs.cabal.
>   - Remove AUTHORS section as suggested by man-pages(7).
>   - Declare my copyright.
>  
> ] 
> [Tweak punctuation in "darcs help --match".
> Trent W. Buck <trentbuck at gmail.com>**20081221080949
>  
>  Manpages treat apostrophes in the first line specially.  Use `TeX
>  style' quotes instead, so this string can be included in the manpage.
>  
>  Also omit mention of &&, || and ! until I find time to clarify that
>  they are aliases for the human-readable and, or and not.
> ] 
> [To "make dist" we need .depend.
> Trent W. Buck <trentbuck at gmail.com>**20081219014641
>  
>  I have also excluded slowdisttest, because it depends on darcs (via
>  test_unit) and thus needs to compile things.
>  
>  Finally, splitting the "include" line in two again hopefully fixes a
>  confusing transient error because to build .depend, autoconf.mk must
>  already be built and sourced!
>  
>  This is essentially a partial rollback of the following patches:
>  
>  Sat Oct 25 12:22:08 EST 2008  Trent W. Buck <trentbuck at gmail.com>
>    * Refactor targets that prevent "include autoconf.mk" (and .depend).
>    As well as being clearer, this is now a good deal more liberal. For
>    example, it won't rebuild .depend during "make maintainer-clean".
>  
>  Sun Nov  2 15:53:59 EST 2008  Trent W. Buck <trentbuck at gmail.com>
>    * Merge autoconf.mk and .depend inclusion.
>  
>    In a declarative expert system like Make, it shouldn't matter where
>    .depend is included.  Actual experiments suggest that it does, and
>    putting it at the top will help avoid illogical behaviour.
> ] 
> [Add a rudimentary test for repair of a corrupt repository.
> Petr Rockai <me at mornfall.net>**20081223084036] 
> [Make it possible to run just specific tests from cabal commandline.
> Petr Rockai <me at mornfall.net>**20081223083742
>  
>  All of `cabal test repair-corrupt bugs/newlines bugs/issue27.sh` should work as
>  expected. The implementation is not very efficient, but seems to work fine.
> ] 
> [Neatify "cabal test" option munging in Setup.lhs.
> Petr Rockai <me at mornfall.net>**20081223080811] 
> [Sort the list of tests that are run by cabal.
> Petr Rockai <me at mornfall.net>**20081223073642] 
> [Bump darcs version to 2.2 in cabal file.
> Salvatore Insalaco <kirby81 at gmail.com>**20081217104953
>  Ignore-this: 14e33b627ddde6759addb286f6fe2fa
> ] 
> [Remove pkgconfig check for curl on Windows.
> Salvatore Insalaco <kirby81 at gmail.com>**20081217104754
>  Ignore-this: 663d4019bb8da4277a2b3a96450e3cc4
> ] 
> [Disable haskeline on Windows by default.
> Salvatore Insalaco <kirby81 at gmail.com>**20081217104336
>  Ignore-this: 9c1f7748012a3f836b741632de9c80df
> ] 
> [Add missing modules (Autoconf, ThisVersion) to the cabal file
> Ian Lynagh <igloo at earth.li>**20081216011742] 
> [fix list command to select accepted patches only
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081215201740
>  Ignore-this: 3578f67dfa0a05ac350b4398592233ba
> ] 
> [Have "make tags" generate TAGS, too.
> Trent W. Buck <trentbuck at gmail.com>**20081213085308] 
> [Move format documentation hunks from Init.lhs to formats.tex.
> Trent W. Buck <trentbuck at gmail.com>**20081214032133
>  
>  This discussion already takes place in formats.tex; having parts of it
>  in Init.lhs is confusing both for readers and for contributors trying
>  to keep the documentation up-to-date.
>  
>  This patch doesn't attempt to refactor or properly integrate the
>  hunks; it just moves them verbatim.
> ] 
> [The cache is enabled by default.
> Trent W. Buck <trentbuck at gmail.com>**20081214024439] 
> [Minor cleanups in Get, Convert, Flags
> Florent Becker <florent.becker at ens-lyon.org>**20081212155718
>  Ignore-this: d6e2418e6225d8f40bb22edc94c68fed
> ] 
> [Remove --no-pristine test which is no longer relevant
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081212104743
>  Ignore-this: 6fd58a45ff45c53d723d79057502881f
> ] 
> [Remove unused import
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081212104644
>  Ignore-this: 58ba17e56f47fed8e535b5b3a7f43000
> ] 
> [fix regression in default behavior or check.
> David Roundy <droundy at darcs.net>**20081208131416
>  Ignore-this: 28a7edd9f5b3afddcf246fd1657775f9
>  At the same time, clean up default handling of test just a tad.
> ] 
> [fix bug in check.
> David Roundy <droundy at darcs.net>**20081207141115
>  Ignore-this: a177fb977e77c79cd5d0d0ba4ca987d2
> ] 
> [Tell user it's safe to abort after external merge
> Florent Becker <florent.becker at ens-lyon.org>**20081212100311
>  Ignore-this: 9dcc44849ccf3acb79a4a5dcc35cd6ba
> ] 
> [avoid ln -f flag to fix api doc building
> Simon Michael <simon at joyful.com>**20081209204655
>  Ignore-this: b09aa246e752cfa0a701090b9b94252
> ] 
> [Remove the choice between --pristine-tree and --no-pristine-tree.
> Eric Kow <kowey at darcs.net>**20081209110027
>  Ignore-this: b3e36e81099e912663d3a1b6268f8848
>  This just removes the switches and their documentation, not the code that
>  actually creates such repositories or recognises --no-pristine-tree
>  repositories.
> ] 
> [fix bug in checkpoint generation.
> David Roundy <droundy at darcs.net>**20081210154208
>  Ignore-this: 1eee1b2d44e459096ac59eb0dd837afc
> ] 
> [Remove now-unused replacePristine.
> Petr Rockai <me at mornfall.net>**20081210065138] 
> [Do not use replacePristine in copyFullRepository.
> Petr Rockai <me at mornfall.net>**20081210065120] 
> [Fix build flags of darcs executable in cabal.
> Salvatore Insalaco <kirby81 at gmail.com>**20081209184405
>  Ignore-this: fa6c521300d6a60237418e22733ad6fa
> ] 
> [Remove all references to makeRelative
> Salvatore Insalaco <kirby81 at gmail.com>**20081209183850
>  Ignore-this: 846533678645a299a976ec48d2719cdf
> ] 
> [Remove obsolete (unused) checkPristineAgainstCwd and checkPristine.
> Petr Rockai <me at mornfall.net>**20081210062937] 
> [Fix whitespace in Darcs.ProgressPatches
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081209164902
>  Ignore-this: 6e9aa4ae6f857ea904a48744aeb80bf2
> ] 
> [add a list all selected things command to text_select
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081209155352
>  Ignore-this: e3ec0367f2a52aaa0f7bd4e273c12e81
> ] 
> [resolve issue1249: remove makeRelative usage in defaultrepo
> Salvatore Insalaco <kirby81 at gmail.com>**20081209121553
>  Ignore-this: 2670c16531c03c93b7d82111c28d51e4
>  
>  makeRelative causes issues with Windows absolute paths
>  e.g. c:\something. It is used only in defaultrepo, and
>  it appears to be a leftover from previous path management.
>  This patch removes it, making defaultrepo management more
>  like "regular" command line repo management.
>  Note that the makeRelative code is not removed in this
>  patch, just the usage.
> ] 
> [resolve issue1165: tag feedback for progress in get
> florent.becker at ens-lyon.org**20081209115229
>  Ignore-this: 91d3217e38e6b8e5d581ef27059c1cc9
>  Make darcs get print the following as its progression indicator:
>  42/1664 back to: TAG ada strawberry
>  Where "ada strawberry" is the most recent tag that was effectively fetched.
>  This makes it easier to know when to hit Ctrl-C
> ] 
> [Some cleaning in progress.hs, move it to src/, split darcsish bits
> florent.becker at ens-lyon.org**20081209112803
>  Ignore-this: 96ed60798c193b67821399476786f859
>  Split src/Darcs/Progress.hs into:
>   - src/Progress.hs for the general functionalities, might be worth releasing
>   outside darcs proper
>   - src/Darcs/ProgressPatches.hs for the darcsish stuff, progressFL 
>   and progressRL
> ] 
> [Simplify build dependencies: put is_tag in Patch.Info
> florent.becker at ens-lyon.org**20081208102357
>  Ignore-this: b6d44e86a4f12e9dc5f8f32bbc50df23
> ] 
> [cut unused run_test
> David Roundy <droundy at darcs.net>**20081207141201
>  Ignore-this: cdc8a2b58695be5ac318b3e5634339cd
> ] 
> [resolve issue1247: avoid reference to removed $CTAGS variable.
> Trent W. Buck <trentbuck at gmail.com>**20081207022013
>  This was just a simple typo on my part.
> ] 
> [Further simplify "darcs put" help.
> Trent W. Buck <trentbuck at gmail.com>**20081207040323] 
> [Refactor "darcs put" help.
> Trent W. Buck <trentbuck at gmail.com>**20081206112917] 
> [Expose modules as a library in darcs.cabal
> Eric Kow <kowey at darcs.net>**20081125102729
>  Ignore-this: 4bfd8b48d4bf0519e7cb803ae62266b3
> ] 
> [Added support for using the utf8-string library if it's available
> Rob Hoelz <rob at hoelzro.net>**20080809171510] 
> [Refactor "darcs dist" help.
> Trent W. Buck <trentbuck at gmail.com>**20081130011414] 
> [tests/*: rm IFS hack from selected subset
> gwern0 at gmail.com**20081130234814
>  Ignore-this: 46af9351b82f9d8d8b497e9c1cce6b21
> ] 
> [Fix haddock error
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081130111241
>  Ignore-this: ab270cce2bc0aaa5c2d1f284705a027d
> ] 
> [Refactor "darcs tag" help.
> Trent W. Buck <trentbuck at gmail.com>**20081129224224] 
> [Refactor "darcs check" help.
> Trent W. Buck <trentbuck at gmail.com>**20081129120817] 
> [Refactor "darcs unrevert" help.
> Trent W. Buck <trentbuck at gmail.com>**20081129115913] 
> [Enable haskeline by default in the Cabal file.
> Judah Jacobson <judah.jacobson at gmail.com>**20081129165047
>  Ignore-this: feeab33d5e512487a13b1a09300f5a60
> ] 
> [Don't use the terminfo package on Windows (Cabal).
> Judah Jacobson <judah.jacobson at gmail.com>**20081128194821
>  This lets us use terminfo by default while not breaking the Windows build.
> ] 
> [Rollback disabling of terminfo by default.
> Judah Jacobson <judah.jacobson at gmail.com>**20081128173611] 
> [Refactor "darcs mark-conflicts" help.
> Trent W. Buck <trentbuck at gmail.com>**20081129015407] 
> [Refactor "darcs whatsnew" help.
> Trent W. Buck <trentbuck at gmail.com>**20081129045756] 
> [resolve issue1238: refactor "darcs setpref" help.
> Trent W. Buck <trentbuck at gmail.com>**20081128125305] 
> [Disable terminfo by default (Cabal)
> Eric Kow <kowey at darcs.net>**20081128120951
>  Ignore-this: 18de9bcaf3b380cf8c1d1b6565321297
>  Salvatore points out that the terminfo package does not install on Windows
> ] 
> [Refactor take/repeat as replicate.
> Trent W. Buck <trentbuck at gmail.com>**20081128114653] 
> [Refactor "darcs transfer-mode" help.
> Trent W. Buck <trentbuck at gmail.com>**20081127123101] 
> [Bump cabal version to 2.1.2.3
> Eric Kow <kowey at darcs.net>**20081126195252
>  Ignore-this: 78bcf676f83a67ff547ad9aa529166c3
> ] 
> [Disable external-zlib by default (darcs.cabal)
> Eric Kow <kowey at darcs.net>**20081126195237
>  Ignore-this: bfac85e5425df8d8386abd586934d17d
> ] 
> [Remove unit testing modules form darcs.cabal
> Eric Kow <kowey at darcs.net>**20081125101839
>  Ignore-this: 66a158494870dd8d548d66fc6a7658eb
> ] 
> [Refactor "darcs add" help.
> Trent W. Buck <trentbuck at gmail.com>**20081124134407] 
> [Refactor "darcs amend-record" help.
> Trent W. Buck <trentbuck at gmail.com>**20081124134349] 
> [Refactor "darcs repair" help.
> Trent W. Buck <trentbuck at gmail.com>**20081124134152] 
> [Refactor "darcs help" help.
> Trent W. Buck <trentbuck at gmail.com>**20081124133935] 
> [resolve issue1199: Backup files darcs added after external merge
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081125092916
>  Ignore-this: bc5c1365bdf4ca70073a85712f00e21c
> ] 
> [Remove empty literate blocks from src/*.lhs.
> Trent W. Buck <trentbuck at gmail.com>**20081124113021
>  I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
> ] 
> [Remove empty literate blocks from src/Darcs/*.lhs.
> Trent W. Buck <trentbuck at gmail.com>**20081124112956
>  I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
> ] 
> [Remove empty literate blocks from src/Darcs/Repository/*.lhs.
> Trent W. Buck <trentbuck at gmail.com>**20081124112938
>  I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
> ] 
> [Remove empty literate blocks from src/Darcs/Patch/*.lhs.
> Trent W. Buck <trentbuck at gmail.com>**20081124112916
>  I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
> ] 
> [Remove empty literate blocks from src/Darcs/Commands/*.lhs.
> Trent W. Buck <trentbuck at gmail.com>**20081124112636
>  I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
> ] 
> [Fix haddock for unsafeDiffAtPaths.
> Reinier Lamers <tux_rocker at reinier.de>**20081115211420
>  Ignore-this: f857de0b4f2d3fa2c7daa18b7a52a224
> ] 
> [Add very rudimentary haddocks in Darcs.Patch.{Non,Real}.hs
> Jason Dagit <dagit at codersbase.com>**20081123204958] 
> [Appease ghc-6.10 type witnesses in SelectChanges.
> Jason Dagit <dagit at codersbase.com>**20081123085733
>  Ignore-this: b4db36fc77072c2dbefc27496cbc33e
> ] 
> [Appease ghc-6.10 on witness types in Repository.Internal.
> Jason Dagit <dagit at codersbase.com>**20081123085140
>  Ignore-this: 73899c04b7af77af77a33798abd7ec41
>  Introduce a local function, doChanges, so we can give more rigid types.
> ] 
> [Appease ghc-6.10 on witness types.
> Jason Dagit <dagit at codersbase.com>**20081123083650
>  Ignore-this: 916417e4ae63cf9e966a1c703716690f
>  Introduces f and g_s as local functions to appease the ghc-6.10 type
>  checker.
> ] 
> [Point to new shorter URL for binaries wiki page.
> Eric Kow <kowey at darcs.net>**20081122083014] 
> [Rollback IFS removal
> Eric Kow <kowey at darcs.net>**20081121230952
>  Removing this seems to break for the case where there is a space in the
>  path
>  
>  rolling back:
>  
>  Fri Nov 21 21:29:21 GMT 2008  gwern0 at gmail.com
>    * tests/*.sh: rm vitiated IFS variable
>    Originally there to help portable_pwd on Cygwin. We no longer need it.
> ] 
> [Appease ghc-6.10 witnesses in Real.hs.
> Jason Dagit <dagit at codersbase.com>**20081121174926
>  Ignore-this: 5b9d1a02a88ced416d650bffa2a76645
>  Introduce a local function to get rid of another non-rigid type in a
>  pattern match.
> ] 
> [Appease ghc-6.10 witnesses in Prim.lhs.
> Jason Dagit <dagit at codersbase.com>**20081121173215
>  Ignore-this: 9289f3ece580ccdff1ba583aa1140562
>  I introduce sc in the where-clause so that the case-expression can
>  have a rigid type at the point of pattern match.  This patch would
>  have a few less redundant bits, except that the existentials wouldn't
>  quite unify otherwise.  This is why I introduced p1'.
> ] 
> [tests/*.sh: rm vitiated IFS variable
> gwern0 at gmail.com**20081121212921
>  Ignore-this: f795b7ad4f9a52a9b59cdcca24fa7de9
>  Originally there to help portable_pwd on Cygwin. We no longer need it.
> ] 
> [documentation/website: Fix bigpage compilation.
> Eric Kow <kowey at darcs.net>**20081121092030
>  Bigpage should be compiled from doc/manual/darcs.tex, not src/darcs.tex
>  The first is a giant tex file manufactured by preproc; the second is
>  what used to be the literate source in darcs.lhs.
> ] 
> [Use let to avoid duplication in Darcs.Patch.Real.
> Dmitry Kurochkin <dmitry.kurochkin at gmail.com>**20081120223434
>  Ignore-this: 76b6f7c7c88c0a95436878b1cdc77caa
> ] 
> [Make darcs.pdf just a copy of darcs_print.pdf and likewise for darcs.ps
> Eric Kow <kowey at darcs.net>**20081119175845
>  Ignore-this: 79407b453c89224d6bb895fff40ba596
>  This fixes a likely regression in which darcs.pdf was compiled from
>  darcs.tex and not darcs_print.tex.  It seems like darcs.tex exists for
>  tools like latex2html.  Perhaps a better solution would be for that file
>  to be called darcs_html.tex.
> ] 
> [Remove seemingly unused ps/pdf targets
> Eric Kow <kowey at darcs.net>**20081119174858
>  Ignore-this: b6765af06196140b3a7934841306da1d
>  These targets, for example, copy src/foo.pdf to doc/manual/foo.pdf
>  But it seems like the makefile is instead designed to compile these
>  from doc/manual/foo.tex directly.
> ] 
> [Remove OPTIONS_GHC that GHC-6.10.1 warns as "deprecated"
> Thorkil Naur <naur at post11.tele.dk>**20081120170402
>  Remove all occurrences of -fallow-undecidable-instances, 
>  -fbang-patterns, and -fffi in {-# OPTIONS_GHC ... #-} lines. GHC-6.10.1 
>  warns that these options are deprecated. In addition, remove nearby -cpp
>  options. The removed OPTIONS_GHC options are all covered by 
>  corrresponding LANGUAGE options.
> ] 
> [add newlines to the default entries so we don't break the file
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081120091932
>  Ignore-this: 47cfad0c016be68d8f21fdd5cc68210f
> ] 
> [bump package version number for hackage
> Jason Dagit <dagit at codersbase.com>**20081120091843] 
> [correctly add Distribution/ShellHarness.hs to darcs.cabal
> Jason Dagit <dagit at codersbase.com>**20081120091826] 
> [sdist errors on trying to move tests/shell_harness
> Jason Dagit <dagit at codersbase.com>**20081120090417
>  This may not be an idea solution, but for now I just remove
>  tests/shell_harness from the cabal file.  Perhaps it should be
>  replaced with mention to the new shell_harness.hs.
> ] 
> [bump version number in darcs.cabal
> Jason Dagit <dagit at codersbase.com>**20081120090401] 
> [issue1043b now also resolved by David
> Eric Kow <kowey at darcs.net>**20081120000307] 
> [resolve issue1043: avoid use of sort_coalesceFL in Patch.Real.
> David Roundy <droundy at darcs.net>**20081119150234
>  Ignore-this: 79003144c8571ef746108e09192cb4ed
>  The trouble was that sort_coalesceFL does the "coalescing" which isn't
>  governed by strict rules.  This might have been fixed by changing
>  sort_coalesceFL to also run canonize, but the cleaner solution is to
>  simply acknowledge that what I really wanted was just to join together
>  pairs of inverses, which is much easier than the problem
>  sort_coalesceFL is trying to solve.
> ] 
> [code clarification
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081025204519] 
> [resolve issue1117: warn if file does not exist in whatsnew
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081119155734
>  Ignore-this: 96cb2370609e7acd9d0137725f5e56b5
> ] 
> [shell_harness.hs hSetBuffering stdout NoBuffering
> Thorkil Naur <naur at post11.tele.dk>**20081118220043
>  Not a big deal, but this makes the output from shell_harness.hs a
>  bit more entertaining.
> ] 
> [Harden release/STATE munger.
> Trent W. Buck <trentbuck at gmail.com>**20081118012512
>  
>  This fixes the short name DARCS_VERSION_WITH_PATCHES when
>  release/STATE looks like "2.1.1rc2 (release candidate 2)" rather than
>  "2.1.1rc2 (+ 533 patches)".
> ] 
> [resolve issue1101: also display cc'ed recipients
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081115133214
>  Ignore-this: 9955a84598aa60e14f5471c02ec0d9b8
> ] 
> [Move make_repo_name after identifyRepoFormat in get.
> Dmitry Kurochkin <dmitry.kurochkin at gmail.com>**20081118114246
>  Ignore-this: a1d4f7f0b3321652acd3ea1288d6bff5
>  Fixes darcs printing "Directory already exists, creating repository as"
>  in case of bad repo or network failure, when no directory is created in
>  fact.
> ] 
> [Trivially extend unit test to work with Pavel's extended make_email.
> Eric Kow <kowey at darcs.net>**20081118122415
>  Note that this only passes in an empty list of extra headers.  It may
>  also be useful in the future to automatically generate extra headers
>  for our write-read test.
> ] 
> [tests/README: add a section warning about use of 'yes' and 'find'
> gwern0 at gmail.com**20081117205213
>  Ignore-this: 618f92168403e6261fd68218fec82656
> ] 
> [tests/*: per kowey, replace all portable_pwd with hspwd
> gwern0 at gmail.com**20081117193340
>  Ignore-this: bca937aa253b5a13feae0ea8a3edf152
> ] 
> [tests/lib: scrap portable_pwd definition for alias to hspwd
> gwern0 at gmail.com**20081117192517
>  Ignore-this: ff9d290cf3d430c4de2d7e426dff79d3
> ] 
> [Replace workaround with fix (Windows' sort doesn't have -o).
> Trent W. Buck <trentbuck at gmail.com>**20081118014158
>  
>  rolling back:
>  
>  Mon Nov 17 07:44:22 EST 2008  Eric Kow <E.Y.Kow at brighton.ac.uk>
>    * Work around difference between Windows and Cygwin sort program in test
>  
>      M ./tests/query_manifest.sh +2
> ] 
> [Refactor Cabal package description.
> Trent W. Buck <trentbuck at gmail.com>**20081118071254
>  Based on the homepage description.
> ] 
> [Consistently punctuate cabal flag descriptions.
> Trent W. Buck <trentbuck at gmail.com>**20081118105924] 
> [Test for darcs send with --in-reply-to option
> Pavel Shramov <shramov at mexmat.net>**20081117185534] 
> [Add --in-reply-to flag for send command
> Pavel Shramov <shramov at mexmat.net>**20081117102056
>  
>  Patch adds --in-reply-to flag to darcs send and
>  modifies make_email function in Darcs/Email.hs to
>  accept list of additional headers.
>  
>  With --in-reply-to option two additional headers will be
>  added to email - In-Reply-To and References.
> ] 
> [in make file, quote the "$(DARCS_VERSION_WITH_PATCHES)" variable
> zooko at zooko.com**20081117141727
>  Ignore-this: 7f350c4b8b8e815e867dc88b38695b58
>  Because the release candidate version has spaces in its version string.
> ] 
> [Darcs works with regex-compat 0.92.
> Trent W. Buck <trentbuck at gmail.com>**20081117111239] 
> [don't run posthook if the command terminated with exitWith.
> David Roundy <droundy at darcs.net>**20081116230521
>  Ignore-this: d87d2bb442060d54284eef6bc27cc766
>  This is a change in policy, and means that for instance darcs pull -a will
>  only run the posthook if there are patches to pull.  It does mean that we
>  have to be careful how we exit commands, since this adds new meaning to
>  "exitWith ExitSuccess", but my audit of the code shows that this is only
>  used when I wouldn't want to run the posthook anyhow.
>  
>  Actually, I found two gratuitous uses of exitWith ExitSuccess, and have
>  removed them.
> ] 
> [tests/README.test_maintainers.txt: add a section on the use of lib
> gwern0 at gmail.com**20081117155840
>  Ignore-this: 8bdf4592849569c34c209eb40104c72f
> ] 
> [tests/*.sh: remove "set -ev" from all callers of lib
> gwern0 at gmail.com**20081117152754
>  Ignore-this: 8f00e36a574db7cd7ccd64c6610944e4
> ] 
> [tests/lib: rm shebang header
> gwern0 at gmail.com**20081117152152
>  Ignore-this: d6e4907818407ba473bf8ee972aff7fb
> ] 
> [mv lib.sh -> lib & update callers
> gwern0 at gmail.com**20081117152050
>  Ignore-this: 449b1a8deb686421d74afce2e3518fbb
> ] 
> [Add --disable-unit to configure script
> Eric Kow <kowey at darcs.net>**20081117115625
>  Note that with this patch alone, this has no effect other than to disable
>  the test for QuickCheck
> ] 
> [tests/*.sh: factor out windows abortion
> gwern0 at gmail.com**20081115210959
>  Ignore-this: 4b0d0fb42b53e43d8f3b8ca082566864
> ] 
> [tests/*.sh: factour out ~61 of the 'not' definitions to lib.sh
> gwern0 at gmail.com**20081115205735
>  Ignore-this: 889d88e1a4eb0c17447502fde02fdd0f
> ] 
> [tests/*.sh: factor out definitions of portable_pwd to lib.sh
> gwern0 at gmail.com**20081115201847
>  Ignore-this: dda84abdcd2e833273e5a0f9668deeb
> ] 
> [+tests/lib.sh: library for test scripts
> gwern0 at gmail.com**20081115201608
>  Ignore-this: 639f1e602f31949f93daab6053793127
>  This adds a file to the tests directory for storing function definitions. This will cut down on silliness like 'not' being defined  in 63 different scripts - the exact same way.
> ] 
> [Remove mention of unstable branch from the homepage
> Eric Kow <kowey at darcs.net>**20081117131411] 
> [Work around difference between Windows and Cygwin sort program in test
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081116204422] 
> [Add DARCS_TESTING_HOME to shell harness
> Eric Kow <eric.kow at gmail.com>**20081116180124
>  This enables Petr's workaround for Windows not using $HOME by default
> ] 
> [Conditionally compile out reset_umask on Windows
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081116161631] 
> [import Arguments just once in WhatsNew
> Jason Dagit <dagit at codersbase.com>**20081115210750] 
> [remove --restrct-paths from the manual
> Jason Dagit <dagit at codersbase.com>**20081115205752] 
> [remove unused export restrict_paths in Arguments
> Jason Dagit <dagit at codersbase.com>**20081115205717] 
> [clean up unused exports in Arguments.lhs
> Jason Dagit <dagit at codersbase.com>**20081115205224] 
> [tighten up imports in preproc.hs
> Jason Dagit <dagit at codersbase.com>**20081115193944] 
> [tighten imports in Commands.lhs
> Jason Dagit <dagit at codersbase.com>**20081115193414] 
> [tighten up imports in Tag.lhs
> Jason Dagit <dagit at codersbase.com>**20081115192839] 
> [tighten up imports in Replace.lhs
> Jason Dagit <dagit at codersbase.com>**20081115192052] 
> [tighten up imports in Commands.Dist
> Jason Dagit <dagit at codersbase.com>**20081115191113] 
> [remove unused export for isa from Arguments
> Jason Dagit <dagit at codersbase.com>**20081115185607] 
> [Appease Windows by replacing find(1) with globbing.
> Trent W. Buck <trentbuck at gmail.com>**20081116020213
>  
>  On Windows, there are two utilities named "find".  The cygwin version
>  is Unix-like, but the native Windows version behaves more like grep.
>  If %PATH% makes the latter the default, $(shell find) does completely
>  the wrong thing.
>  
>  Therefore we use $(wildcard) instead.  This is actually better in
>  every respect bar one: it does not recurse.  This means that if
>  someone starts creating Haskell files in subsubsubdirs of src, they
>  won't be included by the current globs.
>  
>  Note that in GNU make, a glob expands to nothing if there are no
>  matches.  By contrast, sh globs expand to themselves in that case.
> ] 
> [issue525 fixed by David's patch
> Eric Kow <kowey at darcs.net>**20081115225739] 
> [Fix Darcs.Patch.Prim haddock
> Eric Kow <kowey at darcs.net>**20081115224010] 
> [resolve issue525: canonize output of sort_coalesceFL in AmendRecord.
> David Roundy <droundy at darcs.net>**20081115211925
>  Ignore-this: cb7485c971d7d8d6f7ffce9f9ec40e98
> ] 
> [Make test-network a .PHONY target
> Eric Kow <kowey at darcs.net>**20081114101217
>  Ignore-this: 58b2f5d4ee869f2105f8a05e42766dc4
> ] 
> [Create the .darcs directory in the test-network dir
> Eric Kow <kowey at darcs.net>**20081114101151
>  Ignore-this: d2d05cf3d18ba75c6a00f9c7500c298d
> ] 
> [Remove obsolete test-franchise .PHONY entry from makefile
> Eric Kow <kowey at darcs.net>**20081114101117
>  Ignore-this: 8d5d36dba70acaa297310ac94f7d8256
> ] 
> [Use Control.OldException if compiling shell harness with GHC 6.10
> Eric Kow <kowey at darcs.net>**20081114093740
>  Ignore-this: 5219c7e1b5a1dc4dbc607a729288e54d
> ] 
> [TAG stable 2008-11-17 (with 2.1.2)
> Eric Kow <kowey at darcs.net>**20081117104434] 
> [TAG 2.1.2
> Eric Kow <kowey at darcs.net>**20081117104345] 
> [Bump version to 2.1.2
> Eric Kow <kowey at darcs.net>**20081117104321] 
> [trivial ChangeLog entry for 2.1.2
> Eric Kow <kowey at darcs.net>**20081117104238] 
> [Move timestamps test to bugs directory
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081116184543
>  It never worked on Windows.
> ] 
> [TAG stable 2008-11-17
> Eric Kow <kowey at darcs.net>**20081117091603] 
> [TAG 2.1.1
> Eric Kow <kowey at darcs.net>**20081117081857] 
> [Trivial ChangeLog entry for 2.1.1
> Eric Kow <kowey at darcs.net>**20081117081837] 
> [Bump version number to 2.1.1
> Eric Kow <kowey at darcs.net>**20081117081548] 
> [remove bash shell_harness
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081113194438
>  Ignore-this: 3621d4992e6cf5fbe8a1a8e1340a64a0
> ] 
> [Use the shell harness in Makefile
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112194558
>  Ignore-this: bd01f57e24a840ddd474dca912258ef0
> ] 
> [make ShellHarness a module
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112193615
>  Ignore-this: 814fb721a9a91bf35c189355c21e6e61
> ] 
> [use ShellHarness in Setup.lhs
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112183809
>  Ignore-this: 5322065b2d5d5595c01d22ca7ff527f
> ] 
> [move shell_harness to Distribution/ShellHarness.hs
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112183642
>  Ignore-this: 1ae7f4587a9542a595e78e6523c8fbb0
> ] 
> [on "make darcs-snapshot" make a copy of the executable in a directory named "snapshots" and named with its version number including patch count
> zooko at zooko.com**20081113175008
>  Ignore-this: 75ddfaf921e1e84ddf86cd1fef8cb77e
> ] 
> [replace `test -e' in makefile with either `test -d' or `test -f'
> Karel Gardas <kgardas at objectsecurity.com>**20081113173715
>  Ignore-this: 1ba6cf3262142b0d09f84570aab9b16a
>  This patch replaces usage of `test -e' in makefile with either usage
>  of `test -d' for testing directory of `test -f' for testing file. The
>  reason is that GNU make is using /bin/sh for running its commands and
>  `test -e' is not supported by Solaris' shell.
> ] 
> [Update darcs.cabal to reflect removal of homegrown filepath modules
> Eric Kow <kowey at darcs.net>**20081112162303
>  Ignore-this: 90192f5d97a18402fe43cb6f951755dd
> ] 
> [Generalise use of --optghc to all GHCFLAGS for haddock
> Eric Kow <kowey at darcs.net>**20081112162233
>  Ignore-this: b6bf56c82079b4e722f2faa53dccb9d2
>  This makes it possible for me to make api-doc with GHC 6.10
> ] 
> [Remove deprecated (and now unused) homegrown filepath modules
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112154607
>  Ignore-this: 61d94b19c737251607d57e91b5b4a8d7
> ] 
> [Replace homegrown code with filepath functions in Darcs.Commands.Dist
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081113171047
>  Ignore-this: 673e6775d0c90b880478e1b0f2ef11e3
> ] 
> [Remove homegrown code with filepath equivalents in Darcs.Commands.Mv
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112154541
>  Ignore-this: 57950f6ca7c396753fe8f13f05c3ecf2
> ] 
> [Replace homegrown code with filepath equivalents in Darcs.Commands.Add
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112153944
>  Ignore-this: ee2e76b00e9683c6ffddb149648ae0af
> ] 
> [Specifically import System.FilePath.Posix in darcs commands
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112153509
>  Ignore-this: 2a024c22ad2122fe5354b2982821273b
>  We want to document the fact that we are only using forward
>  slashes.
> ] 
> [Replace FilePathUtils.(///) with filepath equivalent in Darcs.Diff
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112153114
>  Ignore-this: 59798326958df9e1c89864a35cd8ab5f
> ] 
> [Copy UglyFileName.patch_filename into Darcs.Commands.Send
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112150818
>  Ignore-this: 36db426613ee907dad21996b1ab38c55
>  (which is the only place where it is used)
> ] 
> [Replace UglyFileName with filepath equivalents in Darcs.CommandsAux
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112150646
>  Ignore-this: 79ef4a080cf711300b7953a8901cae98
> ] 
> [Replace our breakup with filepath's splitDirectories in Darcs.Lock
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112150313
>  Ignore-this: 3b460204007863fe65a71dccac701bed
> ] 
> [make finds more portable
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081113125703
>  Ignore-this: 6f1b6ac29c96d200b93cad86013f5062
>  
>  This patch changes the way find -exec is used before. OpenBSD does
>  not support the -exec rm -f {} + syntax. So we stick to the less
>  performant -exec rm -f {} \;
>  
> ] 
> [Replace liftM with fmap in Darcs.Repository.Prefs
> Eric Kow <kowey at darcs.net>**20081112202148
>  Ignore-this: aa04437e8d10cf9f26c6a760fedbaff6
> ] 
> [Tidy up type signatures in Darcs.Repository.Prefs
> Eric Kow <kowey at darcs.net>**20081112202001
>  Ignore-this: 52b1925994627ce27b982fec4deefbc
> ] 
> [Tidy up global_cache_dir
> Eric Kow <kowey at darcs.net>**20081112201354
>  Ignore-this: f06c8f86c96eda4fe600c6731553b28b
> ] 
> [Resolve conflict between my UserProfile override and DARCS_TESTING_HOME
> Eric Kow <kowey at darcs.net>**20081112200457
>  Ignore-this: bceb8957061cea385cb8b4bbb7eec49e
>  We undo the UserProfile because it had no useful effect
> ] 
> [Override UserProfile environment variable in (Perl) shell_harness
> Eric Kow <kowey at darcs.net>**20081112171634
>  Ignore-this: 36fcf89e63d690a662288f34432c472b
> ] 
> [Replace UglyFileName with filepath equivalents in Darcs.RepoPath
> Eric Kow <eric.kow at gmail.com>**20081028141522
>  Ignore-this: c685595782a0eb01e7b7c37da991e7b9
> ] 
> [Replace FilePathUtils.(///) with filepath equivalent in preproc
> Eric Kow <eric.kow at gmail.com>**20081027173947
>  Ignore-this: 99a21202f798d6423d047afe4b417403
> ] 
> [Specify that we want System.FilePath.Posix in Darcs.External
> Eric Kow <eric.kow at gmail.com>**20081027172514
>  Ignore-this: 8548e7e86f2c5dff1ddf0806e48bda15
>  to prevent the accidental creation of patches with backslashes
>  in their paths.
> ] 
> [Replace UglyFileName normalisation in Darcs.External
> Eric Kow <eric.kow at gmail.com>**20081027170454
>  Ignore-this: 53c57c63eead2574dcf3e211b376fd7f
>  with System.FilePath equivalent
> ] 
> [Replace basename with filepath's takeDirectory in Darcs.External.
> Eric Kow <eric.kow at gmail.com>**20081027165405
>  Ignore-this: 2a3eec675e9f63cc0549317564bfee54
>  Note that basename was a misnomer in the original code.
> ] 
> [Replace (++ "/" ++) with filepath's (</>) in Darcs.External.cloneTree
> Eric Kow <eric.kow at gmail.com>**20081027165044
>  Ignore-this: 2c820b01f52de3544dd05f87e88dbc50
> ] 
> [Replace absolute_dir with ioAbsoluteOrRemote in Darcs.Repository
> Eric Kow <eric.kow at gmail.com>**20081027155955
>  Ignore-this: 8f745c354308ca9406dbb2e54f66b600
>  only very superficially though
> ] 
> [Switch from absolute_dir to ioAbsoluteOrRemote in commands
> Eric Kow <eric.kow at gmail.com>**20081027142933
>  Ignore-this: 79e892ea2f0732367b8d293b550946e9
>  Note that this is only a superficial change, but it brings
>  us one step closer to getting rid of FilePathUtils.
> ] 
> [Add an AbsoluteOrRemotePath type
> Eric Kow <eric.kow at gmail.com>**20081024170048
>  Ignore-this: 8b2ec1303eea170b88f2c8081efd1315
> ] 
> [Trivial style improvement
> Duncan Coutts <duncan at haskell.org>**20081112133456] 
> [Fix compile failure in gzReadFilePS without HAVE_OLD_BYTESTRING
> Duncan Coutts <duncan at haskell.org>**20081112131210
>  The previous #ifdef HAVE_OLD_BYTESTRING changes made it work for
>  ghc-6.6 but fail for ghc-6.8+. This should work both ways round.
> ] 
> [Fix shell_harness so it uses --ignore-times
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112105646
>  Ignore-this: 4b07a9727f723ad917ec6145728c21e2
> ] 
> [Darcs works with regex-compat 0.91.
> Trent W. Buck <trentbuck at gmail.com>**20081111023911
>  Debian has been using this version for some time.
> ] 
> [Refactor DARCS_FILES to work around Solaris' buggy find(1).
> Trent W. Buck <trentbuck at gmail.com>**20081112010502
>  Sorry this is so ugly; at least it's still much shorter than the
>  whitelist that existed before I started refactoring the makefile.
> ] 
> [Remove silly sort.
> Trent W. Buck <trentbuck at gmail.com>**20081107023723
>  If .depend is doing its job, this list shouldn't need to be sorted,
>  and in any case $^ (but not $+) implicitly sorts and uniquifies.
> ] 
> [Fix filepath test
> Eric Kow <kowey at darcs.net>**20081111210909
>  Ignore-this: 5d3e1f532ce652620b964a9e693a82e5
> ] 
> [Fix get test (it was assuming a clean directory)
> Eric Kow <kowey at darcs.net>**20081111210615
>  Ignore-this: f73f5529f1f14d257ec3009492411444
>  Also make it clean up after itself and use more standard temp names.
> ] 
> [Resolve issue1223: Fix broken init.sh test
> Eric Kow <kowey at darcs.net>**20081111205233
>  Ignore-this: 6c619ab1614abe13d7eb15b320211733
> ] 
> [Fix regression in configure test for zlib.
> Eric Kow <kowey at darcs.net>**20081111171554
>  Ignore-this: df51bbbe12ebaf20d66e193f6960548f
>  I had replaced an
>    if test foo -a bar = baz
>  with
>    if bar = baz
> ] 
> [TAG stable 2008-11-10
> Eric Kow <kowey at darcs.net>**20081110161651
>  Ignore-this: ba3add5706d09ef8faa99a8040bdac6f
> ] 
> [Use conditional compilation for Salvatore's strict readFile fix
> Eric Kow <kowey at darcs.net>**20081111145114
>  Ignore-this: bf4e3159d1bdd2cadbb7b007c64f5e6d
> ] 
> [Fix gzReadFilePS to close file descriptor even on old bytestrings.
> Salvatore Insalaco <kirby81 at gmail.com>**20081108084939
>  BL.readFile is not strict enough, and it actually leaves the file descriptor opened. This should not happen, and probably it's a bug with older bytestrings (the one shipped with ghc 6.8.x).
>  This causes issues on Windows, where an opened file cannot be deleted.
>  Using strict bytestring readFile, and then converting them to lazy bytestring (should be O(1)) fix the problem.
> ] 
> [Add configure check for bytestring 0.9.1
> Eric Kow <kowey at darcs.net>**20081111115319
>  Ignore-this: f25fef6236879a1a2ad0ab44e337faee
>  This introduces a HAVE_OLD_BYTESTRING flag
> ] 
> [Simplify bytestring check.
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081111115258
>  Ignore-this: 58feb27fd83415b6b539bd4a2ebd7216
>  Either base-2.0 (which includes Data.ByteString) or the bytestring package
>  are now required.
> ] 
> [resolve issue844: don't call gzwrite with zero length.
> David Roundy <droundy at darcs.net>**20081111145122
>  Ignore-this: ac80c1db0fad3279ccee3b7b5f1f87ea
> ] 
> [Avoid exporting cleanupRepositoryReplay.
> Petr Rockai <me at mornfall.net>**20081111100548
>  
>  We instead let replayRepository take the post-replay action as a parameter and
>  clean up automatically when it's done. Looks like a safer API to me.
> ] 
> [Silence haskell_policy complaining about Setup.lhs.
> Petr Rockai <me at mornfall.net>**20081111222951] 
> [Enable .darcs location override through DARCS_TESTING_HOME that also works on Windows.
> Petr Rockai <me at mornfall.net>**20081111222806
>  
>  With only overriding $HOME, on win32 we get darcs still looking into the
>  windows-specific user data directory for .darcs, which in turn breaks the
>  testsuite (which relies on overriding HOME). This patch should address that
>  problem, albeit in a little inelegant fashion.
> ] 
> [Isolate overriding-defaults.sh failures to that test.
> Petr Rockai <me at mornfall.net>**20081111222759
>  
>  When this test previously failed, it left broken .darcs/defaults around. We
>  trap exits now and fixup the broken file.
> ] 
> [Allow "cabal test tests network bugs" as suggested by Trent.
> Petr Rockai <me at mornfall.net>**20081111110411] 
> [Include the testsuite in Cabal sdist.
> Petr Rockai <me at mornfall.net>**20081111095747] 
> [Fixes to the release/distributed-* file generation in Cabal sDistHook.
> Petr Rockai <me at mornfall.net>**20081111095332] 
> [Bundle the version/context data (produced by Setup.lhs sdist) in the tarball.
> Petr Rockai <me at mornfall.net>**20081111093452] 
> [Update Cabal file lists to match reality.
> Petr Rockai <me at mornfall.net>**20081111093426] 
> [Bundle version and context data in Cabal source distribution.
> Petr Rockai <me at mornfall.net>**20081111093342] 
> [Implement runTests hook for Cabal.
> Petr Rockai <me at mornfall.net>**20081111082551
>  
>  This makes it possible to run "cabal test", "cabal test bugs" and "cabal test
>  network". It has some Ctrl+C issues which probably relate to naive use of
>  "system" to run programs.
> ] 
> [Remove literacy stub from Darcs.Patch.Choices.
> Trent W. Buck <trentbuck at gmail.com>**20081109110636] 
> [Remove literacy stub from Darcs.Patch.Info.
> Trent W. Buck <trentbuck at gmail.com>**20081109110434] 
> [Remove literacy stub from Darcs.Patch.Read.
> Trent W. Buck <trentbuck at gmail.com>**20081109110254] 
> [Remove literacy stub from Darcs.Patch.Test.
> Trent W. Buck <trentbuck at gmail.com>**20081109110103] 
> [Remove literacy stub from Darcs.Patch.Real.
> Trent W. Buck <trentbuck at gmail.com>**20081109105434] 
> [Remove literacy stub from Darcs.Patch.Non.
> Trent W. Buck <trentbuck at gmail.com>**20081109105400] 
> [Remove literacy stub from Darcs.Patch.Depends.
> Trent W. Buck <trentbuck at gmail.com>**20081109105308] 
> [Remove literacy stub from Darcs.Patch.Check.
> Trent W. Buck <trentbuck at gmail.com>**20081109105222] 
> [Remove literacy stub from Darcs.Patch.Viewing.
> Trent W. Buck <trentbuck at gmail.com>**20081109104757] 
> [Remove literacy stub from Darcs.Patch.Unit.
> Trent W. Buck <trentbuck at gmail.com>**20081109104720] 
> [Remove literacy stub from Darcs.Patch.QuickCheck.
> Trent W. Buck <trentbuck at gmail.com>**20081109104633] 
> [Remove literacy stub from Darcs.Patch.Permutations.
> Trent W. Buck <trentbuck at gmail.com>**20081109104610] 
> [Remove literacy stub from Darcs.Patch.Patchy.
> Trent W. Buck <trentbuck at gmail.com>**20081109104516] 
> [Remove literacy stub from Darcs.Patch.Bundle.
> Trent W. Buck <trentbuck at gmail.com>**20081109104403] 
> [Remove literacy stub from Darcs.Patch.FileName.
> Trent W. Buck <trentbuck at gmail.com>**20081109103658] 
> [Remove literacy stub from Darcs.Patch.Set.
> Trent W. Buck <trentbuck at gmail.com>**20081109102952] 
> [Remove literacy stub from Darcs.Patch.MatchData.
> Trent W. Buck <trentbuck at gmail.com>**20081109102546] 
> [Remove literacy stub from Darcs.Repository.HashedRepo.
> Trent W. Buck <trentbuck at gmail.com>**20081109105612
>  The deleted comments here are duplicated elsewhere.
> ] 
> [Remove literacy stub from Darcs.Repository.Pristine.
> Trent W. Buck <trentbuck at gmail.com>**20081109105012] 
> [Remove literacy stub from Darcs.Repository.HashedIO.
> Trent W. Buck <trentbuck at gmail.com>**20081109104947] 
> [Remove literacy stub from Darcs.Repository.Cache.
> Trent W. Buck <trentbuck at gmail.com>**20081109104933] 
> [Remove literacy stub from Darcs.Repository.
> Trent W. Buck <trentbuck at gmail.com>**20081109104840] 
> [Remove literacy stub from Darcs.Repository.Format.
> Trent W. Buck <trentbuck at gmail.com>**20081109103758] 
> [Remove literacy stub from Darcs.Repository.ApplyPatches.
> Trent W. Buck <trentbuck at gmail.com>**20081109102829] 
> [Remove literacy stub from Darcs.Repository.InternalTypes.
> Trent W. Buck <trentbuck at gmail.com>**20081109102801] 
> [Remove literacy stub from Darcs.Repository.Checkpoint.
> Trent W. Buck <trentbuck at gmail.com>**20081109102321] 
> [Remove franchise build file and test scripts.
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081110153528
>  Ignore-this: 85d1b68798815121f5b2ed24d54fc9eb
>  David feels that having more than one build system is a bad idea.
> ] 
> [Restore configure check for QuickCheck 2.1
> Eric Kow <kowey at darcs.net>**20081110152808
>  Ignore-this: 470ec554bb115c783fb105b29ae3bd44
> ] 
> [Fix Repair.applyAndFix.
> Petr Rockai <me at mornfall.net>**20081106101557
>  
>  The way I have got the recursion versus syncing slurpies backwards is actually
>  pretty embarassing.  We also use syncSlurpy to avoid unneccessary (likely slow)
>  syncs while keeping memory use at bay. This fix should make repair and check
>  run much faster in much less memory.
> ] 
> [Resolve conflicts between darcs repair and literacy removal patches
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081110152620
>  Ignore-this: d7f097d054a22db40ac135551da48da1
> ] 
> [Introduce syncSlurpy, that syncs slurpy to disk as needed.
> Petr Rockai <me at mornfall.net>**20081106102101
>  
>  syncSlurpy takes an IO action that does the actual syncing, but only calls it
>  when neccessary to prevent memory blowups. It is fairly cheap to call often
>  (ie. after every applied patch). The sync threshold is currently hardcoded to
>  ~100M.
> ] 
> [Move Cabal based build to repository root
> Eric Kow <eric.kow at gmail.com>**20081109112502
>  Note that we use the Setup.lhs extension because the franchise based
>  build uses Setup.hs and we want to avoid introducing a spurious
>  dependency on the franchise patches.
> ] 
> [Remove makefile instructions to test franchise build
> Eric Kow <eric.kow at gmail.com>**20081108001051] 
> [Remove now superfluous darcs.cabal.in
> Eric Kow <eric.kow at gmail.com>**20081108000445] 
> [Refactor Repository.Repair.replayRepository to get rid of CanRepair.
> Petr Rockai <me at mornfall.net>**20081105234638
>  
>  We now instead return the new (repaired) patchset that needs to be written out
>  to the caller, and let them handle it.
> ] 
> [TAG 2.1.1rc2
> Eric Kow <kowey at darcs.net>**20081110112059] 
> [Bump version number to 2.1.1rc2
> Eric Kow <kowey at darcs.net>**20081110112036] 
> [ChangeLog entry for darcs 2.1.1rc2 (oops)
> Eric Kow <kowey at darcs.net>**20081110112015] 
> [Rollback configure check for QuickCheck 2.1
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081110111553
>  This was accidentally pulled into the 2.1.1 release candidate.
>  We will need to follow up on this rollback to restore the check.
>  
>  rolling back:
>  
>  Sat Nov  8 15:19:51 GMT 2008  Eric Kow <kowey at darcs.net>
>    * Upgrade configure test to require QuickCheck 2.1
>    As I understand it, it would pass with QuickCheck 1.2
> ] 
> [TAG 2.1.1rc1
> Eric Kow <kowey at darcs.net>**20081110103704] 
> [Bump version number to 2.1.1rc1
> Eric Kow <kowey at darcs.net>**20081110103631] 
> [Remove colon in external.sh http get test
> Eric Kow <kowey at darcs.net>**20081110101053
>  
>  There is a potentially tricky situation here: the old test makes sure that
>  darcs get http://example.com:foo does not succeed and does not invoke ssh.
>  Unfortunately, if you are using a service like OpenDNS, then fetching
>  anything from an unregistered or nonsense domain name (example.com:foo)?
>  returns a webpage, which somehow fools darcs into succesfully "getting"
>  an empty repository.
>  
>  This probably reflects a deeper bug, but I don't think it's particularly
>  relevant to this test.  One possibility is that we might have been also testing
>  for the parsing of input paths with colons in them, in which case we should
>  maybe have a unit test.
> ] 
> [ChangeLog entries for darcs 2.1.1rc1
> Eric Kow <kowey at darcs.net>**20081110095327] 
> [Remove literacy stub from Darcs.SlurpDirectory.Internal.
> Trent W. Buck <trentbuck at gmail.com>**20081109105853] 
> [Remove literacy stub from Darcs.SelectChanges.
> Trent W. Buck <trentbuck at gmail.com>**20081109105159] 
> [Remove literacy stub from Darcs.Ordered.
> Trent W. Buck <trentbuck at gmail.com>**20081109104306] 
> [Remove literacy stub from Darcs.SignalHandler.
> Trent W. Buck <trentbuck at gmail.com>**20081109103602] 
> [Remove literacy stub from Darcs.Sealed.
> Trent W. Buck <trentbuck at gmail.com>**20081109103520] 
> [Remove literacy stub from Darcs.TheCommands.
> Trent W. Buck <trentbuck at gmail.com>**20081109103449] 
> [Remove literacy stub from Darcs.TouchesFiles.
> Trent W. Buck <trentbuck at gmail.com>**20081109103419] 
> [Remove literacy stub from Darcs.RemoteApply.
> Trent W. Buck <trentbuck at gmail.com>**20081109103301] 
> [Remove literacy stub from Darcs.PrintPatch.
> Trent W. Buck <trentbuck at gmail.com>**20081109103028] 
> [Remove literacy stub from Darcs.Show.
> Trent W. Buck <trentbuck at gmail.com>**20081109102720] 
> [Remove literacy stub from Darcs.SlurpDirectory.
> Trent W. Buck <trentbuck at gmail.com>**20081109102637] 
> [Work around grep -Fw platform differences in haskell_policy.sh
> Thorkil Naur <naur at post11.tele.dk>**20081110013603
>  Experiments have demonstrated that grep -Fw behaviour depends on the platform,
>  even for the same grep --version. This patch removes the F flag which, in the
>  present context, seems unnecessary. Removing the F flag appears to iron out the platform
>  differences.
> ] 
> [shell_harness script in haskell
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081107121607
>  Ignore-this: 46d1138c233788cb00b71071e5f9b8ff
> ] 
> [Avoid test issue1017_whatsnew_stack.sh looping under buildbot control
> Thorkil Naur <naur at post11.tele.dk>**20081109122052
>  The replaced "yes | head -n count" mechanism for generating a large file loops when
>  run via Python under Mac OS X. This, apparently, makes the test loop when run by the Mac OS X buildbot
>  slaves. The replacement mechanism is not nearly as elegant as I would like, so better suggestions are
>  welcome.
> ] 
> [Make --match 'date "after year"' work into the future.
> Petr Rockai <me at mornfall.net>**20081109211305] 
> [Handle EOF exceptions from hReady, in accordance with H98.
> Petr Rockai <me at mornfall.net>**20081109210445] 
> [Add a test for matching 'date "after year"' working for future patches.
> Petr Rockai <me at mornfall.net>**20081109203045] 
> [Remove literacy stub from CommandLine.
> Trent W. Buck <trentbuck at gmail.com>**20081109102016] 
> [Remove literacy stub from Darcs.Hopefully.
> Trent W. Buck <trentbuck at gmail.com>**20081109101604] 
> [Remove literacy stub from Darcs.Global.
> Trent W. Buck <trentbuck at gmail.com>**20081109101536] 
> [Remove literacy stub from Darcs.CheckFileSystem.
> Trent W. Buck <trentbuck at gmail.com>**20081109101331] 
> [Remove literacy stub from Darcs.Bug.
> Trent W. Buck <trentbuck at gmail.com>**20081109101257] 
> [Remove literacy stub from Darcs.IO.
> Trent W. Buck <trentbuck at gmail.com>**20081109101235] 
> [Remove literacy stub from Darcs.Flags.
> Trent W. Buck <trentbuck at gmail.com>**20081109100625] 
> [Haddockize Darcs.Lock.
> Trent W. Buck <trentbuck at gmail.com>**20081109111134] 
> [Fix haddock bugs in ByteStringUtils
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081109012226] 
> [Reformat Darcs.URL comments as haddock.
> Eric Kow <eric.kow at gmail.com>**20081023233730] 
> [Resolve conflicts (lstat vs de-literate)
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081109153040
>  Ignore-this: 39ae84ed11bd9fe823fcc5cd8596674a
>  The conflits were between Reinier's lstat-saving patches on the one
>  hand and the Diff haddockisation on the other.
> ] 
> [hopefully less buggy version of get_unrecorded_in_files
> Reinier Lamers <tux_rocker at reinier.de>**20081031215944
>  Ignore-this: 9f4f2320a1784cf6f7546ab23eb6bf61
> ] 
> [make whatsnew use the lstat-saving functions to scan the working copy
> tux_rocker at reinier.de**20081026194636
>  Ignore-this: 54b7a07b7b1d49b3d20050bc905db665
> ] 
> [make get_unrecorded_private work with type witnesses again
> tux_rocker at reinier.de**20081026190612
>  Ignore-this: 97418e6487ef9c9508473d4c65f295ca
> ] 
> [add a get_unrecorded_in_files to check for unrecorded changes in a subset of working directory
> tux_rocker at reinier.de**20081026164009
>  Ignore-this: 7d36ff983e8745049101a92f5b2326fb
> ] 
> [Keep OS X happy by passing a path to find(1).
> Trent W. Buck <trentbuck at gmail.com>**20081109113440] 
> [Remove tabs in franchise build.
> Eric Kow <kowey at darcs.net>**20081109005653
>  Ignore-this: c5f57b86fa6bfd5f5f006dd0923d631
> ] 
> [Move issue1017 test back into tests
> Eric Kow <kowey at darcs.net>**20081109005826
>  Ignore-this: 8b4f4f4673e6a07405a4c279385c373c
>  It was not consistently failing, and we still don't know why
>  it failed the last time.
>  rolling back:
>  Fri Nov  7 13:11:17 GMT 2008  Eric Kow <kowey at darcs.net>
>    * Move issue1017 test back to bugs.
> ] 
> [make unrecord work with type witnesses.
> David Roundy <droundy at darcs.net>**20081107123400
>  Ignore-this: 183ca39f8ec9af923468ecc243cba26
> ] 
> [add franchise target for type witness testing.
> David Roundy <droundy at darcs.net>**20081107123051
>  Ignore-this: 5df886520744de6d11992e9e6b3f9758
> ] 
> [cut dead code from Unrecord.
> David Roundy <droundy at darcs.net>**20081103021520
>  Ignore-this: 847fdfc20ab9a65a9d3527590fe51f3b
> ] 
> [be more verbose when type witnesses are enabled in franchise.
> David Roundy <droundy at darcs.net>**20081103014635
>  Ignore-this: d417d1b1aafbbedd5f9b6d1e4dbb25a2
> ] 
> [enable type witnesses for show commands.
> David Roundy <droundy at darcs.net>**20081103014338
>  Ignore-this: 5c538bb49432f16bc8dc03140d17cb1d
> ] 
> [Check for base package version in configure.
> Eric Kow <kowey at darcs.net>**20081108163629
>  Ignore-this: ee374e50a26083f91d653f22b5d052f2
>  This is to support GHC 6.10.1
> ] 
> [Upgrade configure test to require QuickCheck 2.1
> Eric Kow <kowey at darcs.net>**20081108151951
>  Ignore-this: bc3000a3f159a4b11a086f3bad7047b8
>  As I understand it, it would pass with QuickCheck 1.2
> ] 
> [Do not compile with -Werror in configure tests either
> Eric Kow <kowey at darcs.net>**20081108151012
>  Ignore-this: 5a568958b749784ded0b18af197e5179
>  This was causing the configure check for libz (i.e. the C library)
>  to fail for the reasons completely unrelated to the test:
>  
>     Warning: -fffi is deprecated: use -XForeignFunctionInterface or pragma {-# LA
>  NGUAGE ForeignFunctionInterface#-} instead
>   
> ] 
> [Fix cabal file for lhs -> hs transition.
> Salvatore Insalaco <kirby81 at gmail.com>**20081108080448] 
> [Add issue1189 fix suggested by Duncan to Cabal build
> Eric Kow <eric.kow at gmail.com>**20081108000200] 
> [Do not build with -Werror
> Eric Kow <eric.kow at gmail.com>**20081107231403
>  Compilers change and treat different things as errors.  We can enforce
>  a no-warnings rule socially rather with a technical solution.
> ] 
> [Haddockize Lcs.
> Trent W. Buck <trentbuck at gmail.com>**20081108082950] 
> [Extend zlib franchise test to look for zlib 0.5.0.0
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081102141525
>  Ignore-this: 1cf8e14867b91c05b34d978980d9188a
> ] 
> [switch to zlib 0.5.0.0 with new interface for specifying decompressed size
> Ganesh Sittampalam <ganesh at earth.li>**20081026102650] 
> [Move issue1017 test back to bugs.
> Eric Kow <kowey at darcs.net>**20081107131117
>  Ignore-this: 9e19d7392378f4d5e8d029b15e6f962d
>  One of our Mac buildbots owners reports that their buildbot
>  was taking forever to run.  It seemed to be hanging on this
>  step.
> ] 
> [Remove dangling .lhs references.
> Trent W. Buck <trentbuck at gmail.com>**20081107024222
>  Sorry about this, folks; it seems my conflict merging had a few bugs.
> ] 
> [Add comment to test pref
> Eric Kow <kowey at darcs.net>**20081106161155
>  Ignore-this: 634b224e4338a1ff0abc47a6903220be
> ] 
> [Fix typo in documentation
> Eric Kow <kowey at darcs.net>**20081106153606
>  Ignore-this: b52ecbb2fb3aa432c04a9abb6086239
> ] 
> [resolve issue1189: define HAVE_SIGNALS in franchise build.
> David Roundy <droundy at darcs.net>**20081106130431
>  Ignore-this: db3217e4ba459bb32d489b744227f5b8
>  Incidentally, ctrl-C handling seems also to be broken on the non-Windows
>  cabal build in release/, but I can't see how to fix it.  Or maybe
>  HAVE_SIGNALS is defined using some Deep Magic?
> ] 
> [Canonize Eric Kow
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081106115101
>  Ignore-this: 7440ce4473d397e40fdee1181d6bfa7f
> ] 
> [Use make -j4 to run disttest.
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081106114326
>  Ignore-this: 5818b80001e1ce589057b6adc61c4973
>  Trent had done some Makefile cleanups to eliminate the naughty practice
>  of calling $(MAKE) -j4 within make.  This patch restores the parallel
>  builds (which makes tests run faster) without the naughtiness.
> ] 
> [Change "Repairing patch" to "Replaying patch" as progress report in replayRepository.
> Petr Rockai <me at mornfall.net>**20081105224132] 
> [Tweak issue1012 test to use temp1 as tempdir name
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081106112750
>  Ignore-this: e2d0263a3652f01a6e202deeaef19408
> ] 
> [Clean up after previous tests in issue1017 test
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081106112723
>  Ignore-this: 9e6c6f1f3f617cfb9ec93666ee13c51d
> ] 
> [Refactor test_network target.
> Trent W. Buck <trentbuck at gmail.com>**20081106013245] 
> [Let DARCS_FILES and UNIT_FILES cope with .lhs/.hs renames.
> Trent W. Buck <trentbuck at gmail.com>**20081106094142
>  
>  I'm sorry this makes UNIT_FILES so ugly.
>  
>  The big advantage of this is that it lets me rename .lhs files without
>  editing the GNUmakefile in the same patch -- thereby avoiding some
>  icky conflictors.
> ] 
> [clean up .lhs versions of ThisVersion and Autoconf to make transition easier
> Ganesh Sittampalam <ganesh at earth.li>**20081105090209
>  Ignore-this: e8448d3962aeb832fc8fcdc0da8f9e32
> ] 
> [resolve issue864: check non-force replace against pending
> Tommy Pettersson <ptp at lysator.liu.se>**20081004235719
>  The replace was checked against pure pristine, so the answer to if it could
>  be applied to pending without force was sometimes wrong.
> ] 
> [Avoid using pkgconfig-depends for libcurl (cabal)
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081103150412
>  Ignore-this: 681d35599ab44961a2164ca54b4d5617
>  
>  This is a workaround to a Cabal library bug in "which ldOptions are
>  passed directly to ghc without any escaping" whereas "they should be
>  escaped with the -optl prefix"
>  http://hackage.haskell.org/trac/hackage/ticket/389
> ] 
> [change tabs to spaces in cabal's Setup.hs
> Jason Dagit <dagit at codersbase.com>**20081028032910] 
> [Use exceptions again in cabal Setup.hs
> Duncan Coutts <duncan at haskell.org>**20081027043635
>  Needed to handle calling darcs when it's not available.
>  Uses CPP to make it work with ghc-6.8 and 6.10
> ] 
> [Make building with HTTP package work via cabal
> Duncan Coutts <duncan at haskell.org>**20081027034031] 
> [Add the location of the darcs repo to the cabal file
> Duncan Coutts <duncan at haskell.org>**20081027004425
>  Cabal-1.6 allows this meta-data to be given in the .cabal file
>  and in a machine readable format.
> ] 
> [Update cabal file for renamed ByteStringUtils module
> Duncan Coutts <duncan at haskell.org>**20081027003824] 
> [When not using external zlib binding require z C lib (in cabal file)
> Duncan Coutts <duncan at haskell.org>**20081027003414
>  It was working before but probably only because some other C lib
>  needed zlib, probably curl. This is more correct.
> ] 
> [Add the other modules and extra src files to the cabal file
> Duncan Coutts <duncan at haskell.org>**20081027003315
>  Needed for cabal sdist to work.
> ] 
> [Support building with libwww via Cabal
> Duncan Coutts <duncan at haskell.org>**20081026232738] 
> [Update darcs.cabal for HAVE_SIGINFO_H
> Duncan Coutts <duncan at haskell.org>**20081026232647] 
> [Make Setup.hs work with ghc-6.8 and 6.10 by not using exceptions
> Duncan Coutts <duncan at haskell.org>**20081026202912
>  The exceptions api changed between 6.8 and 6.10.
> ] 
> [Add cabal support files under release/ directory
> Duncan Coutts <duncan at haskell.org>**20081026195706] 
> [Add all required language extensions to .cabal.in file
> Don Stewart <dons at galois.com>**20081025225427] 
> [issue 1017 now fixed
> Ganesh Sittampalam <ganesh at earth.li>**20081025122754] 
> [Restore 'pass/fail' output in shell_harness.
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081105093446
>  Ignore-this: 93d9a4fba1f83b79a5b7b63c87e0e955
>  
>  rolling back accidentally applied patch:
>  
>  Fri Oct 24 06:57:55 BST 2008  Trent W. Buck <trentbuck at gmail.com>
>    * Colour test output in Emacs' M-x compile.
> ] 
> [Refactor away boilerplate in naughty ./configure-circumventing profile targets.
> Trent W. Buck <trentbuck at gmail.com>**20081105052235] 
> [Resolve conflicts.
> Trent W. Buck <trentbuck at gmail.com>**20081105014527
>  
>  Mostly conflicts were between Trent's make refactoring and Kowey's
>  copy-and-paste job to add support for building profiled object files
>  and executables in parallel to the non-profiled build.
> ] 
> [Typo: make distclean and maintainer-clean rules cumulative.
> Trent W. Buck <trentbuck at gmail.com>**20081104235641] 
> [Refactor TAGS targets.
> Trent W. Buck <trentbuck at gmail.com>**20081104132834
>  
>  Renamed targets to match default output files, obviating PHONY.
>  Removed the ugly manual sorting, as exuberant ctags sorts by default.
>  Moved cleanup into distclean.
>  Added C inputs to dependency list.
>  Avoid abusing $ETAGS and $CTAGS for hasktags.
> ] 
> [autoconf.mk doesn't depend on darcs.cgi.in.
> Trent W. Buck <trentbuck at gmail.com>**20081104130338
>  
>  The old version was saying things "autoconf.mk depends on
>  darcs.cgi.in", which isn't quite right.  The replacement is shorter
>  and more correct.
> ] 
> [Delete unused "register" target.
> Trent W. Buck <trentbuck at gmail.com>**20081104124530] 
> [Move cleanup rules to appropriate target (clean/distclean).
> Trent W. Buck <trentbuck at gmail.com>**20081104124116] 
> [Resolve conflicts.
> Trent W. Buck <trentbuck at gmail.com>**20081104123359] 
> [Merge autoconf.mk and .depend inclusion.
> Trent W. Buck <trentbuck at gmail.com>**20081102045359
>  
>  In a declarative expert system like Make, it shouldn't matter where
>  .depend is included.  Actual experiments suggest that it does, and
>  putting it at the top will help avoid illogical behaviour.
>  
>  It also reduces the makefile's length by several lines.
> ] 
> [Make .hs.in of trivial .lhs.in files.
> Trent W. Buck <trentbuck at gmail.com>**20081029025407] 
> [Make .hs of trivial .lhs files.
> Trent W. Buck <trentbuck at gmail.com>**20081029025326] 
> [Split darcs.lhs into darcs.tex and darcs.hs.
> Trent W. Buck <trentbuck at gmail.com>**20081026063231
>  After all, the Main module and main function don't really have
>  anything to do with the introductory chapters of the user manual.
>  
>  I used these commands and then some touch-ups:
>  
>  $ sed '/\\begin{code}/,/\\end{code}/d' src/darcs.lhs >src/darcs.tex
>  $ darcs mv src/darcs.lhs src/darcs.hs
>  $ sed --in-place '/\\end{code}/,/\\begin{code}/d' src/darcs.hs
> ] 
> [Only .lhs (not .hs) files could possibly be TeX sources.
> Trent W. Buck <trentbuck at gmail.com>**20081025141537] 
> [Typo: remove silly circular dependency.
> Trent W. Buck <trentbuck at gmail.com>**20081025121957] 
> [Don't warn unless ALL alternatives are missing.
> Trent W. Buck <trentbuck at gmail.com>**20081025120102] 
> [If installed, use rubber(1) to quieten TeX.
> Trent W. Buck <trentbuck at gmail.com>**20081025113643] 
> [Typo.
> Trent W. Buck <trentbuck at gmail.com>**20081025113607] 
> [Turn procedural assignments (:=) into declarations (=).
> Trent W. Buck <trentbuck at gmail.com>**20081025100744] 
> [Refactor .hi rule.
> Trent W. Buck <trentbuck at gmail.com>**20081025100732] 
> [Refactor install rules.
> Trent W. Buck <trentbuck at gmail.com>**20081025100527
>  
>  Importantly, this means that if you just do "make" it will either
>  build PDF or PS, but not both (with a preference for PDF).
>  
>  The "installbin" target has been renamed to "install", since 1) that's
>  the convention, and 2) it was already installing non-binary stuff,
>  namely the bash completion and manpage.
>  
>  Leverages concatenative rules (::) to reduce repetition.
> ] 
> [Refactor targets that prevent "include autoconf.mk" (and .depend).
> Trent W. Buck <trentbuck at gmail.com>**20081025012208
>  As well as being clearer, this is now a good deal more liberal. For
>  example, it won't rebuild .depend during "make maintainer-clean".
> ] 
> [Generate TEXSOURCES programmatically.
> Trent W. Buck <trentbuck at gmail.com>**20081025011935] 
> [Generate DARCS_FILES by blacklist, not whitelist.
> Trent W. Buck <trentbuck at gmail.com>**20081025010803
>  This attempt is far from perfect, but at least it works.
> ] 
> [Use $@ and $* to shrink test_harness.
> Trent W. Buck <trentbuck at gmail.com>**20081024085740
>  
>  Note that I have also removed the use of @ to hide what make is doing.
>  
>  It is better to use "make --silent" to hide such noise, because then I
>  can debug problems in the makefile by running *without* --silent,
>  rather than having to temporarily remove the @'s.
> ] 
> [Refactor test rules.
> Trent W. Buck <trentbuck at gmail.com>**20081024034429
>  Now the target names correspond to the darcs switches, e.g. "make
>  test-darcs-2" instead of "make test-format2".  There are some legacy
>  pointers so the old targets still work, but they probably put the
>  results in a different directory.
> ] 
> [Don't call GHC on autoconf.mk in .depend rule.
> Trent W. Buck <trentbuck at gmail.com>**20081024031700
>  I don't know why, but $^ included autoconf.mk.  I used $(filter) to
>  remove it, and put all the deps on one line while I was at it.
> ] 
> [Miscellaneous refactoring.
> Trent W. Buck <trentbuck at gmail.com>**20081023050926] 
> [Replace procedural := with declarative =.
> Trent W. Buck <trentbuck at gmail.com>**20081023034044
>  
>  When you do "x = a b" in make, it doesn't get evaluated until you
>  actually attempt to refer to $x in a rule, because make is an expert
>  system.  The reason := exists is because if you do
>  
>      f = $(shell really-slow-command)
>  
>  and then try to build a bunch of object files, $f will cause
>  really-slow-command to be run separately for each one.  Since we're
>  just doing internal stuff like $(patsubst), we don't need := and using
>  it makes it harder to reason about the system, because it's no longer
>  declarative.
> ] 
> [Obviate SRC_DIRS altogether.
> Trent W. Buck <trentbuck at gmail.com>**20081023030139
>  
>  Note that find -delete would be better, but it is not standard:
>  http://www.opengroup.org/onlinepubs/009695399/utilities/find.html
> ] 
> [Ameliorative ChangeLog mode hint for Emacs.
> Trent W. Buck <trentbuck at gmail.com>**20081104125751
>  
>  This patch makes Emacs use outline (hierarchical) mode, and to
>  recognize "darcs (N)" as a first-level heading and " * foo" as a
>  third-level heading.  Treating the latter correctly, as second-level
>  headings, is beyond my capabilities.
>  
>  I'd prefer that this file be moved to "NEWS" and formatted as outline-
>  mode expects: each Nth-level heading starts with N stars and a space.
> ] 
> [quickCheck tests  for QuickCheck 2.1
> Florent Becker <florent.becker at ens-lyon.org>**20081006135708] 
> [add yet another braindead file path to file path canonicalization test
> Reinier Lamers <tux_rocker at reinier.de>**20081103222552
>  Ignore-this: a2b2f6f8c47a14943dd99a6a1d0a5c7d
> ] 
> [Add bug script for issue1196
> Reinier Lamers <tux_rocker at reinier.de>**20081103222106
>  Ignore-this: a91333382a944602881b388da4606eca
> ] 
> [Fix "make bugs" target in makefile
> Reinier Lamers <tux_rocker at reinier.de>**20081103221941
>  Ignore-this: 541567455acb0308bbbcf8eb4fe4c83b
> ] 
> [Try a bit harder to hack darcs pathname canonicalization in tests
> Reinier Lamers <tux_rocker at reinier.de>**20081103211112
>  Ignore-this: 3b419ed6b5c3b4d8529ca045d8c63548
> ] 
> [Typo: install-pdf was trying to install *.ps.
> Trent W. Buck <trentbuck at gmail.com>**20081025122922] 
> [Typo.
> Trent W. Buck <trentbuck at gmail.com>**20081025083214] 
> [Add conventional install-ps/pdf/html targets.
> Trent W. Buck <trentbuck at gmail.com>**20081024085052
>  See info page (make)Standard Targets.
> ] 
> [Use new "ps", "pdf" and "html" targets.
> Trent W. Buck <trentbuck at gmail.com>**20081024084215] 
> [Clean hspwd.
> Trent W. Buck <trentbuck at gmail.com>**20081024081050] 
> [Colour test output in Emacs' M-x compile.
> Trent W. Buck <trentbuck at gmail.com>**20081024055755
>  
>  This change means doing M-x compile RET make test RET in an ordinary
>  Emacs will highlight failed tests in red, and working tests in green.
>  This makes it easier to spot problems.
>  
>  The down side is that yes/no is less clear than passed/failed.
> ] 
> [Reduce loquacity of haddock targets.
> Trent W. Buck <trentbuck at gmail.com>**20081023072048
>  I think that if someone runs "make api-doc", it's not useful to
>  immediately print
>  
>      echo "Generating html"
>      Generating html
>  
>  Therefore I'm removing these lines.
> ] 
> [Fix some predicates I accidentally reversed.
> Trent W. Buck <trentbuck at gmail.com>**20081023072013] 
> [release/debian is long gone.
> Trent W. Buck <trentbuck at gmail.com>**20081023071427] 
> [Make it obvious why deps are being filtered.
> Trent W. Buck <trentbuck at gmail.com>**20081023070847] 
> [Leverage gmake's order-only dependencies.
> Trent W. Buck <trentbuck at gmail.com>**20081023051023] 
> [-fregs-graph seems to be a problem on both ghc 6.6 and 6.10
> Jason Dagit <dagit at codersbase.com>**20081028032741
>  This flag doesn't seem to cause a problem on 6.8, but having
>  does seem to cause a problem for 6.6 and 6.10.
> ] 
> [Resolve conflict between make darcs_p and make continuous
> Eric Kow <E.Y.Kow at brighton.ac.uk>**20081102122954
>  Ignore-this: 385fc4a7bd4b617f1c073f97c860c6ad
> ] 
> [restore -auto-all to profiling options
> Ganesh Sittampalam <ganesh at earth.li>**20081026144023] 
> [avoid .depend doubling in size on every make
> Ganesh Sittampalam <ganesh at earth.li>**20081026141924
>  Ignore-this: e106a7ba53738279ebb8293eeea16679
> ] 
> [Also clean intermediate profiling files.
> Eric Kow <eric.kow at gmail.com>**20081026145926] 
> [Do not use -threaded when building darcs_p
> Eric Kow <eric.kow at gmail.com>**20081026145415] 
> [Clean up how darcs_p is built
> Eric Kow <eric.kow at gmail.com>**20081026145406
>  Treat GHCFLAGS_P as an alternative to GHCFLAGS, not an addition.
> ] 
> [Rename DARCS_OBJS_P and GHCFLAGS_P
> Eric Kow <eric.kow at gmail.com>**20081026145619
>  from   DARCS_P_OBJS and GHC_PROF_FLAGS
> ] 
> [Allow the profiling and non-profiling versions of darcs to co-exist
> Eric Kow <eric.kow at gmail.com>**20081026135910
>  by teaching the Makefile about the suffixes .p_hi and .p_o.
> ] 
> [Add -fregs-graph to build instructions for SHA1.o
> Eric Kow <eric.kow at gmail.com>**20081026133031
>  This helps us avoid a GHC error when building the profiling version of darcs,
>  namely: RegAllocLinear.getStackSlotFor: out of stack slots, try -fregs-graph
> ] 
> [replace a hoogle workaround with a comment, we now index names beginning with _
> Simon Michael <simon at joyful.com>**20081103165516
>  Ignore-this: 537874d6183556322091ff063ba1015b
> ] 
> [Make haddock aware of CommandLine module comment.
> Trent W. Buck <trentbuck at gmail.com>**20081102011801] 
> [Refactor QuickCheck 2 test.
> Trent W. Buck <trentbuck at gmail.com>**20081103101155
>  This makes the output resemble autoconf, so Emacs colours it by default.
>  It also means the user gets information before the test starts.
>  Lastly, it redirects the stderr of grep, as GNU grep's manpage recommends.
> ] 
> [Use cute short form of $(dir) and $(notdir).
> Trent W. Buck <trentbuck at gmail.com>**20081025113759] 
> [Refactor dependency declaration for helper utils.
> Trent W. Buck <trentbuck at gmail.com>**20081025011633
>  The .hs/.lhs deps that "disappear" are still in autoconf.mk.in.
> ] 
> [Turn descriptive commands into comments.
> Trent W. Buck <trentbuck at gmail.com>**20081024032405
>  I don't think there's any point in printing "I'm deleting information
>  you can't recover" immediately before doing so, without offering an
>  abort step.  Therefore, that message can just be an ordinary comment
>  in the makefile.
> ] 
> [Quieten removal of "Main" intermediaries.
> Trent W. Buck <trentbuck at gmail.com>**20081023093107
>  This matches the quietness in the "darcs" target in GNUmakefile.
> ] 
> [Add conventional "pdf", "ps" and "html" targets.
> Trent W. Buck <trentbuck at gmail.com>**20081023070550
>  See info page (make)Standard Targets.
> ] 
> [Don't override MAKEFLAGS's -j.
> Trent W. Buck <trentbuck at gmail.com>**20081023065134
>  
>  Make does hairy things within $MAKEFLAGS (which is included in $MAKE)
>  to ensure that -j does the right thing in the presence of nested
>  makes.  Overriding this with $(MAKE) -j4 is almost certainly naughty.
>  Instead, you should do "make -j4 disttest" or implicitly, with
>  "MAKEFLAGS=j4 darcs record --test".
> ] 
> [Use ANNOUNCE_GHC convention for darcs.
> Trent W. Buck <trentbuck at gmail.com>**20081024085359] 
> [Conventionalize make rule for hspwd.
> Trent W. Buck <trentbuck at gmail.com>**20081024033900] 
> [Reduce disttest noise for teetotalers.
> Trent W. Buck <trentbuck at gmail.com>**20081103094530
>  
>  Without wine installed, "make disttest" was printing nine copies of:
>  
>      /bin/sh: wine: not found
>      test: 1: =: argument expected
>  
>  This DOES NOT fix the case where wine is installed, but GHC is not
>  available from wine:
>  
>      wine runghc Setup.hs configure
>      wine: could not load L"C:\\windows\\system32\\runghc.exe": Module not found
>      make: *** [disttest] Error 126
> ] 
> [resolve conflict in makefile.
> David Roundy <droundy at darcs.net>**20081103002009
>  Ignore-this: 3677a2bad189f858b1ac06e56b9e4c2f
> ] 
> [fixup SRC_DIRS
> Ganesh Sittampalam <ganesh at earth.li>**20081029190715] 
> [a slight simplification
> Ganesh Sittampalam <ganesh at earth.li>**20081028185358] 
> [clarify SlurpDirectory interface
> Ganesh Sittampalam <ganesh at earth.li>**20081028072911] 
> [cleanup some patterns
> Ganesh Sittampalam <ganesh at earth.li>**20081028065424] 
> [simplify slurp_has_anycase
> Ganesh Sittampalam <ganesh at earth.li>**20081026200442] 
> [another obvious use of the SlurpyMap
> Ganesh Sittampalam <ganesh at earth.li>**20081026192715] 
> [bug fix
> Ganesh Sittampalam <ganesh at earth.li>**20081026185518] 
> [make use of the SlurpyDir Map in the obvious places
> Ganesh Sittampalam <ganesh at earth.li>**20081026153749] 
> [dumb changeover of SlurpDir contents from [] to Map
> Ganesh Sittampalam <ganesh at earth.li>**20081026135906] 
> [refactor Slurpy to common up name component between File/Dir
> Ganesh Sittampalam <ganesh at earth.li>**20081026123722] 
> [Remove unpleasant sequencing operators (;) from haddock targets.
> Trent W. Buck <trentbuck at gmail.com>**20081023061830
>  
>  Make is will abort a run when any command fails.  Using ;\\\n to join
>  separate lines means make can't detect if the first line fails.  Also,
>  continuation lines are ugly.
>  
>  When disabling failure propagation is intentional and desired, you can
>  achieve this explicitly by starting the command with a hyphen (-).
> ] 
> [Remove obsolete "deb" target.
> Trent W. Buck <trentbuck at gmail.com>**20081023060745
>  I maintain the Debian darcs package, and I don't use this target.
>  I doubt anyone else has a use for it.
> ] 
> [Explain ghcflags_fancy.
> Trent W. Buck <trentbuck at gmail.com>**20081023053956] 
> [Tweak C_OBJS declaration.
> Trent W. Buck <trentbuck at gmail.com>**20081023033409] 
> [DARCS_FILES_DEPS is never bound, so don't evaluate it.
> Trent W. Buck <trentbuck at gmail.com>**20081023030902] 
> [Generate SRC_DIRS programmatically.
> Trent W. Buck <trentbuck at gmail.com>**20081023024212
>  
>  The -name sys -prune -o ... -print part is a hack to skip the
>  src/win32/sys, which is probably safe to include in the list, but I
>  didn't want to take any chances.
> ] 
> [Typo: inadequate quotation in configure.ac.
> Trent W. Buck <trentbuck at gmail.com>**20081101072848] 
> [ByteStringUtils: simply re-export BS functions for GHC > 6.6
> Spencer Janssen <spencerjanssen at gmail.com>**20081028042219] 
> [cleaner implementation of linesPS test
> Don Stewart <dons at galois.com>**20081026232500
>  Ignore-this: 6e3af59e5a5a3bdc4a6a62502056955a
> ] 
> [remove dead code
> Don Stewart <dons at galois.com>**20081026231432
>  Ignore-this: 5a4a4b4cdcf0309214a93a88f4543421
> ] 
> [pack the small string, rather than unpack the bytestring
> Don Stewart <dons at galois.com>**20081026194321
>  Ignore-this: eff62569f383215d2be31a7810ed187c
> ] 
> [remove quadratic blowups from mapPrimFL
> Ganesh Sittampalam <ganesh at earth.li>**20081029190730] 
> [resolve another replace conflict.
> David Roundy <droundy at darcs.net>**20081102122813
>  Ignore-this: ee690c9cde6a07b1c15441fe90c03eeb
> ] 
> [use fmap in unit.lhs
> Jason Dagit <dagit at codersbase.com>**20081028064753
>  Ignore-this: af4cbe231e58d9b9e4ad332b30542a68
> ] 
> [use fmap in Patch.Apply
> Jason Dagit <dagit at codersbase.com>**20081028064147
>  Ignore-this: b58bdab550fcc5acc75e2ef3a53ed490
> ] 
> [use fmap in Match
> Jason Dagit <dagit at codersbase.com>**20081028060342
>  Ignore-this: 6b81e2f9cf92d8dad5186709b11d5750
> ] 
> [use fmap in Lock
> Jason Dagit <dagit at codersbase.com>**20081028060232
>  Ignore-this: faa5607b5a1d1b741ddebec3c0836907
> ] 
> [use fmap in External
> Jason Dagit <dagit at codersbase.com>**20081028060146
>  Ignore-this: f22668532d19292d4b45a7dc62f33134
> ] 
> [use fmap in Diff
> Jason Dagit <dagit at codersbase.com>**20081028060047
>  Ignore-this: f99385acad67e2b39d3d6b0c78faae1a
> ] 
> [use fmap in Commands.Send
> Jason Dagit <dagit at codersbase.com>**20081028055751
>  Ignore-this: bbf45d660eeed9f295d58f151464ce8a
> ] 
> [use fmap in Commands.Annotate
> Jason Dagit <dagit at codersbase.com>**20081028055323
>  Ignore-this: 8493690ea502127655a4cde85296acef
> ] 
> [use fmap in ByteStringUtils
> Jason Dagit <dagit at codersbase.com>**20081028054836
>  Ignore-this: 900d79b15507324b793c694c063a2e19
> ] 
> [add test of lazy get of lazy get.
> David Roundy <droundy at darcs.net>**20081102121358
>  Ignore-this: e10b727babff3ef33ddbc7bd9816b3f9
> ] 
> [simplify Setup.hs a bit.
> David Roundy <droundy at darcs.net>**20081102121344
>  Ignore-this: abd70cfa96a253f61ef9de57ba5b39e4
> ] 
> [compensate for bugfix in franchise in defineAs.
> David Roundy <droundy at darcs.net>**20081102022049
>  Ignore-this: fc5be27e41e8b1cc4d21eec2a47884d2
> ] 
> [rewrite partitionFL and partitionRL to reduce the number of commutes they do
> Ganesh Sittampalam <ganesh at earth.li>**20081028222841
>  Ignore-this: e1861f289d56911b595653ae2f3891bf
>  
>  This patch avoids a quadratic blowup when most/all patches fail the predicate
>  - previously they would all be commuted past each other. Now we accumulate them
>  until a patch that passes the predicate comes along, and then only commute as
>  necessary.
>  
> ] 
> [don't link into the manual, since this is fragile.
> David Roundy <droundy at darcs.net>**20081101135932
>  Ignore-this: 4d1f7f6ddaa3b9f215e254faf76b59ae
>  The trouble is that these sections can change pretty easily, and I'd rather
>  not have to update the index.html.in when this happens.
> ] 
> [improve front page of http://darcs.net
> Eric P. Mangold <teratorn at gmail.com>**20081030014049
>  I was a little confused by the wording on the darcs.net front-page.
>  Where it says "Originally developed by David Roundy" that made me
>  think that Mr. Roundy might not be involved in development anymore.
>  The kind folks on IRC set me straight, however :)
>  
>  So I improved the wording in a couple places and added a section that
>  says a few things about the current state of the development
>  community.
> ] 
> [revert hashing change that ignores all but last 20 bytes of each line.
> David Roundy <droundy at darcs.net>**20081031170230
>  Ignore-this: f97249571125d049bed9f3ae1d0a10a0
> ] 
> [resolve conflicts
> David Roundy <droundy at darcs.net>**20081030182815
>  Ignore-this: f874ea6f34ddc5a745504b4ba988840d
> ] 
> [Unused import police
> Eric Kow <eric.kow at gmail.com>**20081026080744] 
> [fixup ByteString compatibility for sake of ghc6.6
> Jason Dagit <dagit at codersbase.com>**20081028033305] 
> [clean up module imports after ByteString changes
> Jason Dagit <dagit at codersbase.com>**20081027001651] 
> [small merges
> Don Stewart <dons at galois.com>**20081027000055
>  Ignore-this: 4c5dc100a17c5cbad4b4d24b71877cc1
> ] 
> [Remove all references  to FastPackedString the module. Gone
> Don Stewart <dons at galois.com>**20081026235917
>  Ignore-this: 2dd5679d9b33bed79c180a75fcd8c7a0
> ] 
> [remove last references to the PackedString type
> Don Stewart <dons at galois.com>**20081026235151
>  Ignore-this: fe2c138c24305f85888d62a65b0c7c8
> ] 
> [clean up module imports after ByteString changes
> Jason Dagit <dagit at codersbase.com>**20081026234541] 
> [remove dead code
> Don Stewart <dons at galois.com>**20081026232258
>  Ignore-this: 56cc675677fad6a10a77dc53b2f4f44f
> ] 
> [remove all references to unsafeWithCStringLenPS
> Don Stewart <dons at galois.com>**20081026232045
>  Ignore-this: 1819ebbbcbf1d248c7e1715b5125ba97
> ] 
> [remove all references to mallocForeignPtr
> Don Stewart <dons at galois.com>**20081026231851
>  Ignore-this: 59fa33be88801523d5e47c5eef85e973
> ] 
> [remove all references to createPS
> Don Stewart <dons at galois.com>**20081026231230
>  Ignore-this: 619c8813cded454c829647ee89e37e4e
> ] 
> [and in tests
> Don Stewart <dons at galois.com>**20081026231013
>  Ignore-this: 67fd51ccf6a8f0d3517788a115d87428
> ] 
> [remove all traces of packString
> Don Stewart <dons at galois.com>**20081026230403
>  Ignore-this: 7ee645d5f5bddbd0265411e7868ca0f5
> ] 
> [remove all references to breakOnPS
> Don Stewart <dons at galois.com>**20081026223727
>  Ignore-this: 60f6808d17ab581316bbe2bf9a0f8de2
> ] 
> [remove all references to spanEndPS
> Don Stewart <dons at galois.com>**20081026223054
>  Ignore-this: 9cea6233b902f5a4652dae9e9759895b
> ] 
> [remove all references to indexPSW (only ever used as 'head')
> Don Stewart <dons at galois.com>**20081026222913
>  Ignore-this: 7a25b911d1b320eb7ec3396eb1fff75d
> ] 
> [remove all references to generatePS
> Don Stewart <dons at galois.com>**20081026222613
>  Ignore-this: 3673c57fa1eff4e1cf798c59fc967229
> ] 
> [clean up imports in other modules after ByteString refactorings
> Jason Dagit <dagit at codersbase.com>**20081026201508] 
> [Remove all references to dropWhilePS, clean up silly_lex while I'm here
> Don Stewart <dons at galois.com>**20081026195652
>  Ignore-this: 29abf7de4539ae4957b70283df4dcf23
> ] 
> [pure haskell implementation of breakSpace, from Data.ByteString
> Don Stewart <dons at galois.com>**20081026193729
>  Ignore-this: cbedb39a15ad4626f2561aa22f73a370
> ] 
> [remove fpstring.c:first_nonwhite, in favor of pure haskell implementation
> Don Stewart <dons at galois.com>**20081026192211
>  Ignore-this: 7780e5f310a5785ffa3df332ec68972a
>  
>  fpstring.c defined first_nonwhite, also provided via
>  Data.ByteString.Char8, however darcs uses a restricted definition of
>  ISSPACE, so we just port that over.
>  
> ] 
> [remove all references to dropPS
> Don Stewart <dons at galois.com>**20081026183226
>  Ignore-this: c75ac479bf0a9c2b37e5e5d511950940
> ] 
> [remove all references to concatPS
> Don Stewart <dons at galois.com>**20081026182717
>  Ignore-this: 4b40da286f924625c4a2f6d71df1d3f6
> ] 
> [remove all references to findLastPS
> Don Stewart <dons at galois.com>**20081026182232
>  Ignore-this: 7ff10d123f12bd12c76d5eff857367f0
> ] 
> [remove all references to breakPS
> Don Stewart <dons at galois.com>**20081026182122
>  Ignore-this: 7e878cd0c3066b2a51a7f7df11f2c498
> ] 
> [remove all references to findPS
> Don Stewart <dons at galois.com>**20081026181842
>  Ignore-this: 6ac31cb52cc1d63f4339177b21b853bc
> ] 
> [remove all references to packWords
> Don Stewart <dons at galois.com>**20081026181624
>  Ignore-this: 91cff1fa32b422143d3dac87e5560329
> ] 
> [remove all references to takePS
> Don Stewart <dons at galois.com>**20081026181041
>  Ignore-this: 122b854846d68e8659c8b6ab3b3ce3e2
> ] 
> [Remove appendPS, dead code
> Don Stewart <dons at galois.com>**20081026180523
>  Ignore-this: 174c217104948ac658bac1e14b72b803
> ] 
> [remove all references to initPS
> Don Stewart <dons at galois.com>**20081026180435
>  Ignore-this: 465e6980cd79e5d920f418ac471256b6
> ] 
> [remove all references to tailPS
> Don Stewart <dons at galois.com>**20081026175536
>  Ignore-this: 845990c011fb3236826d62a45e0d96bc
> ] 
> [remove all references to nilPS
> Don Stewart <dons at galois.com>**20081026174711
>  Ignore-this: 9a9261c1cef9028614734f4f363e33f5
> ] 
> [remove writeFilePS usage from HTTP.hs
> Ganesh Sittampalam <ganesh at earth.li>**20081026102421] 
> [Remove all references to unpackPS
> Don Stewart <dons at galois.com>**20081026025309
>  Ignore-this: 839f30a7611668a1f158305f84f84751
> ] 
> [optimise use of unpack in Format.lhs
> Don Stewart <dons at galois.com>**20081026022702
>  Ignore-this: ac72de83c3d453bab443089e85d2cf9a
> ] 
> [Optimize inefficiency when unpacking string for tok replace
> Don Stewart <dons at galois.com>**20081026022129
>  Ignore-this: 26ede7c95f78e5b6c6b19c5e1c01127b
> ] 
> [Optimize hunk handling not to needlessly unpack bytestrings
> Don Stewart <dons at galois.com>**20081026021727
>  Ignore-this: 93866b5b7a2d0b0dc7b98a1fbfd2b58f
> ] 
> [Don't unpack the same bytestring twice in two lines
> Don Stewart <dons at galois.com>**20081026021141
>  Ignore-this: 7e673b449491eb467a21446048c17f50
> ] 
> [Optimize ignore_junk to not unpack the bytestring
> Don Stewart <dons at galois.com>**20081026020635
>  Ignore-this: 3ab0d287de52b89434650f4a53bc0719
> ] 
> [remove nullPS from Darcs.Patch.Test
> Jason Dagit <dagit at codersbase.com>**20081026020430] 
> [Remove all references to nullPS
> Don Stewart <dons at galois.com>**20081026015325
>  Ignore-this: 4ecc1ab4ca8f16a15090faaeb2cc063b
> ] 
> [remove all references to headPS
> Don Stewart <dons at galois.com>**20081026013626
>  Ignore-this: d0e026a45ea9a16ff4f7301755caa9f4
> ] 
> [make BC.last depend on GADT_WITNESSES in Diff.lhs
> Jason Dagit <dagit at codersbase.com>**20081026013303] 
> [remove all references to splitAtPS
> Don Stewart <dons at galois.com>**20081026012749
>  Ignore-this: f86b7f5fab8da6af5f6539510f068627
> ] 
> [More explict import lists
> Don Stewart <dons at galois.com>**20081026012036
>  Ignore-this: a47ccb6c58a2a1d9c80974cfa832b05f
> ] 
> [explicit import lists
> Don Stewart <dons at galois.com>**20081026011834
>  Ignore-this: de2b0cb8b1c3a7f102cb39a3c2822f2c
> ] 
> [remove all referenes to lengthPS
> Don Stewart <dons at galois.com>**20081026011551
>  Ignore-this: 8c027d1510415cc3e6840162bce88d85
> ] 
> [replace reimplementation of c2w with bytestring's c2w
> Don Stewart <dons at galois.com>**20081026005846
>  Ignore-this: 7be4c2d3e34b5ad1a4d1f89eedd79c73
> ] 
> [remove references to indexPS
> Don Stewart <dons at galois.com>**20081026005455
>  Ignore-this: 868c3fa12869acf0ea3b7ddcd4504e16
> ] 
> [remove references to lastPS
> Don Stewart <dons at galois.com>**20081026004952
>  Ignore-this: d374d4f54aedc9d9dcd8928793658c11
> ] 
> [remove references anyPS
> Don Stewart <dons at galois.com>**20081026004428
>  Ignore-this: 41ae735dfca929b453d589d2e0494791
> ] 
> [remove references to hGetPS
> Don Stewart <dons at galois.com>**20081026004032
>  Ignore-this: beab20131ee0453a7b8b44e3bf7391a3
> ] 
> [remove references to hPutPS
> Don Stewart <dons at galois.com>**20081026003558
>  Ignore-this: 4c56823bf1cce0da3ce0f9b27bc2058
> ] 
> [Remove all references to hGetContentsPS
> Don Stewart <dons at galois.com>**20081026002401
>  Ignore-this: d97a8ad95f0bf3de561b7ad081c42a10
> ] 
> [remove references to readFilePS
> Don Stewart <dons at galois.com>**20081026001942
>  Ignore-this: c45ef1b82c5ba8243269b07e3b59ec49
> ] 
> [Remove references to writeFilePS
> Don Stewart <dons at galois.com>**20081026000739
>  Ignore-this: de68ac72bd06f21d0f8634490c95cd71
> ] 
> [Remove splitPS in favor of its definition
> Don Stewart <dons at galois.com>**20081025235851
>  Ignore-this: def77f09fee27b7224d9935ab9dcb6d0
> ] 
> [Remove OldFastPackedString entirely
> Don Stewart <dons at galois.com>**20081025234228
>  Ignore-this: aa5fdf008176143575de7a966fb43874
> ] 
> [just hash the last 20 characters in LCS
> Ganesh Sittampalam <ganesh at earth.li>**20081025122331] 
> [TAG unstable before bytestring patches.
> David Roundy <droundy at darcs.net>**20081030175727
>  Ignore-this: 8af46543d274b193a6904883c9608559
> ] 
> Patch bundle hash:
> dbfb62909a96cea760bc08f6dbc243a137172f3e

> _______________________________________________
> darcs-users mailing list
> darcs-users at darcs.net
> http://lists.osuosl.org/mailman/listinfo/darcs-users


-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20090129/4f14bda5/attachment-0001.pgp 


More information about the darcs-users mailing list