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

Dmitry Kurochkin dmitry.kurochkin at gmail.com
Fri Jan 30 07:51:46 UTC 2009


Hi Eric, Petr.

On Thu, Jan 29, 2009 at 9:51 PM, Eric Kow <kowey at darcs.net> wrote:
> 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...

I plan to look at this on the weekend. Although I do not know much
about mmap, so I would have to do some reseach. This could take some
time...

Regards,
  Dmitry

>
> 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...
>
> [Message clipped]
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAkmB+p8ACgkQBUrOwgisBPmAZACgo+UiEYkFKQaogABGHhjnrBsI
> 5nwAoJEWbMeKaiM415gT3D11vDCQxKSa
> =TkjN
> -----END PGP SIGNATURE-----
>
>


More information about the darcs-users mailing list