[darcs-users] darcs patch: resolve issue1358: encode non-ASCII char... (and 2 more)
Eric Kow
kowey at darcs.net
Thu Mar 5 08:40:14 UTC 2009
Hi Petr,
Is this one you could review?
Thanks!
On Thu, Mar 05, 2009 at 03:00:03 +0100, Reinier Lamers wrote:
> Here is a fix for issue 1358. The code is pretty contrived, but I think that's
> because the email spec is pretty contrived too.
> Sadly, there's no email sending package on hackage yet.
>
> Thu Mar 5 02:17:58 CET 2009 Reinier Lamers <tux_rocker at reinier.de>
> * resolve issue1358: encode non-ASCII characters in mail headers
>
> Thu Mar 5 02:32:24 CET 2009 Reinier Lamers <tux_rocker at reinier.de>
> * Add tests for email header formatting
>
> Thu Mar 5 02:52:47 CET 2009 Reinier Lamers <tux_rocker at reinier.de>
> * Kill unused imports in External.hs
>
Content-Description: A darcs patch for your repository!
>
> New patches:
>
> [resolve issue1358: encode non-ASCII characters in mail headers
> Reinier Lamers <tux_rocker at reinier.de>**20090305011758
> Ignore-this: 1e65771afb6174bd751c6c7f6b8837f8
> ] hunk ./src/Darcs/Email.hs 3
> {-# OPTIONS_GHC -cpp #-}
> {-# LANGUAGE CPP #-}
> -module Darcs.Email ( make_email, read_email ) where
> +module Darcs.Email ( make_email, read_email, formatHeader ) where
>
> hunk ./src/Darcs/Email.hs 5
> -import Data.Char ( digitToInt, isHexDigit )
> +import Data.Char ( digitToInt, isHexDigit, ord, intToDigit, isPrint, toUpper )
> +import Data.List ( isInfixOf )
> +import qualified UTF8 ( encode )
> import Printer ( Doc, ($$), (<+>), (<>), text, empty, packedString, renderPS)
>
> import ByteStringUtils (dropSpace, linesPS, betweenLinesPS )
> hunk ./src/Darcs/Email.hs 11
> -import qualified Data.ByteString as B (ByteString, length, null, tail, drop, head)
> +import qualified Data.ByteString as B (ByteString, length, null, tail
> + ,drop, head, concat, singleton
> + ,pack, append, empty
> + )
> import qualified Data.ByteString.Char8 as BC (index, head, pack)
> #if __GLASGOW_HASKELL__ > 606
> import Data.ByteString.Internal as B (c2w, createAndTrim)
> hunk ./src/Darcs/Email.hs 26
> import Foreign.Storable ( poke )
> import Data.Word ( Word8 )
>
> -line_max :: Int
> -line_max = 75
> +-- line_max is maximum number of characters in an e-mail line excluding the CRLF
> +-- at the end. qline_max is the number of characters in a q-encoded or
> +-- quoted-printable-encoded line.
> +line_max, qline_max :: Int
> +line_max = 78
> +qline_max = 75
> +
> +-- | Formats an e-mail header by encoding any non-ascii characters using UTF-8
> +-- and Q-encoding, and folding lines at appropriate points. It doesn't do
> +-- more than that, so the header name and header value should be
> +-- well-formatted give or take line length and encoding. So no non-ASCII
> +-- characters within quoted-string, quoted-pair, or atom; no semantically
> +-- meaningful signs in names; no non-ASCII characters in the header name;
> +-- etcetera.
> +formatHeader :: String -> String -> B.ByteString
> +formatHeader headerName headerValue =
> + B.append nameColon encodedValue
> + where nameColon = B.pack (map B.c2w (headerName ++ ":")) -- space for folding
> + encodedValue = fold_and_encode (' ':headerValue)
> + (B.length nameColon) False False
> +
> +-- run through a string and encode non-ascii words and fold where appropriate.
> +-- the integer argument is the current position in the current line.
> +-- the string in the first argument must begin with whitespace, or be empty.
> +fold_and_encode :: String -> Int -> Bool -> Bool -> B.ByteString
> +fold_and_encode [] _ _ _ = B.empty
> +fold_and_encode s p lastWordEncoded inMidWord =
> + let newline = B.singleton 10
> + space = B.singleton 32
> + s2bs = B.pack . map B.c2w
> + -- the twelve there is the max number of ASCII chars to encode a single
> + -- character: 4 * 3, 4 UTF-8 bytes times 3 ASCII chars per byte
> + safeEncChunkLength = (qline_max - B.length encoded_word_start
> + - B.length encoded_word_end) `div` 12
> + (curSpace, afterCurSpace) = break (not . (== ' ')) s
> + (curWord, afterCurWord) = break (== ' ') afterCurSpace
> + qEncWord | lastWordEncoded = qEncode (curSpace ++ curWord)
> + | otherwise = qEncode curWord
> + mustEncode = inMidWord
> + || any (\c -> not (isPrint c) || (ord c) > 127) curWord
> + || length curWord > line_max - 1
> + || isInfixOf "=?" curWord
> + mustFold
> + | mustEncode && lastWordEncoded
> + = p + 1 + B.length qEncWord > line_max
> + | mustEncode
> + = p + length curSpace + B.length qEncWord > line_max
> + | otherwise
> + = p + length curSpace + length curWord > line_max
> + mustSplit = (B.length qEncWord > qline_max && mustEncode)
> + || length curWord > line_max - 1
> + spaceToInsert | mustEncode && lastWordEncoded = space
> + | otherwise = s2bs curSpace
> + wordToInsert
> + | mustEncode && mustSplit = qEncode (take safeEncChunkLength curWord)
> + | mustEncode = qEncWord
> + | otherwise = s2bs curWord
> + doneChunk | mustFold = B.concat [newline, spaceToInsert, wordToInsert]
> + | otherwise = B.concat [spaceToInsert, wordToInsert]
> + (rest, nextP)
> + | mustSplit
> + = (drop safeEncChunkLength curWord ++ afterCurWord, qline_max + 1)
> + | mustEncode && mustFold
> + = (afterCurWord, B.length spaceToInsert + B.length wordToInsert)
> + | otherwise
> + = (afterCurWord, p + B.length doneChunk)
> + in B.append doneChunk (fold_and_encode rest nextP mustEncode mustSplit)
> +
> +-- | Turns a piece of string into a q-encoded block
> +-- Applies q-encoding, for use in e-mail header values, as defined in RFC 2047.
> +-- It just takes a string and builds an encoded-word from it, it does not check
> +-- length or necessity.
> +qEncode :: String -> B.ByteString
> +qEncode s = B.concat [encoded_word_start,
> + encodedString,
> + encoded_word_end]
> + where encodedString = B.concat (map q_encode_if_needed s)
> +
> +encoded_word_start, encoded_word_end :: B.ByteString
> +encoded_word_start = B.pack (map B.c2w "=?UTF-8?Q?")
> +encoded_word_end = B.pack (map B.c2w "?=")
> +
> +-- turns a character into its q-encoded bytestring value. For most printable
> +-- ASCII characters, that's just the singleton bytestring with that char.
> +q_encode_if_needed :: Char -> B.ByteString
> +q_encode_if_needed c
> + | c == ' ' = c2bs '_'
> + | isPrint c
> + && not (c `elem` ['?', '=', '_'])
> + && ord c < 128 = c2bs c
> + | otherwise = B.concat (map qbyte (UTF8.encode [c]))
> + where c2bs = B.singleton . B.c2w
> + -- qbyte turns a byte into its q-encoded "=hh" representation
> + qbyte b = B.pack (map B.c2w ['='
> + ,word8ToUDigit (b `div` 16)
> + ,word8ToUDigit (b `mod` 16)
> + ])
> + word8ToUDigit :: Word8 -> Char
> + word8ToUDigit = toUpper . intToDigit . fromIntegral
>
> -- TODO is this doing mime encoding??
> qpencode :: B.ByteString -> B.ByteString
> hunk ./src/Darcs/Email.hs 130
> qpencode s = unsafePerformIO
> -- Really only (3 + 2/75) * length or something in the worst case
> - $ B.createAndTrim (4 * B.length s) (\buf -> encode s line_max buf 0)
> + $ B.createAndTrim (4 * B.length s) (\buf -> encode s qline_max buf 0)
>
> encode :: B.ByteString -> Int -> Ptr Word8 -> Int -> IO Int
> encode ps _ _ bufi | B.null ps = return bufi
> hunk ./src/Darcs/Email.hs 137
> encode ps n buf bufi = case B.head ps of
> c | c == newline ->
> do poke (buf `plusPtr` bufi) newline
> - encode ps' line_max buf (bufi+1)
> + encode ps' qline_max buf (bufi+1)
> | n == 0 && B.length ps > 1 ->
> do poke (buf `plusPtr` bufi) equals
> poke (buf `plusPtr` (bufi+1)) newline
> hunk ./src/Darcs/Email.hs 141
> - encode ps line_max buf (bufi + 2)
> + encode ps qline_max buf (bufi + 2)
> | (c == tab || c == space) ->
> if B.null ps' || B.head ps' == newline
> then do poke (buf `plusPtr` bufi) c
> hunk ./src/Darcs/Email.hs 147
> poke (buf `plusPtr` (bufi+1)) equals
> poke (buf `plusPtr` (bufi+2)) newline
> - encode ps' line_max buf (bufi + 3)
> + encode ps' qline_max buf (bufi + 3)
> else do poke (buf `plusPtr` bufi) c
> encode ps' (n - 1) buf (bufi + 1)
> | (c >= bang && c /= equals && c <= tilde) ->
> hunk ./src/Darcs/External.hs 67
> import ByteStringUtils (gzReadFilePS, linesPS, unlinesPS)
> import qualified Data.ByteString as B (ByteString, empty, null, readFile -- ratify readFile: Just an import from ByteString
> ,hGetContents, writeFile, hPut, length -- ratify hGetContents: importing from ByteString
> - ,take, concat, drop, isPrefixOf)
> + ,take, concat, drop, isPrefixOf, singleton, append)
> import qualified Data.ByteString.Char8 as BC (unpack, pack)
>
> import Darcs.Lock ( withTemp, withOpenTemp, tempdir_loc, removeFileMayNotExist )
> hunk ./src/Darcs/External.hs 84
> import Printer ( Doc, Printers, putDocLnWith, hPutDoc, hPutDocLn, hPutDocWith, ($$), (<+>), renderPS,
> simplePrinters,
> text, empty, packedString, vcat, renderString )
> +import Darcs.Email ( formatHeader )
> #include "impossible.h"
>
> sendmail_path :: IO String
> hunk ./src/Darcs/External.hs 416
> -> Doc -- ^ body
> -> IO ()
> generateEmail h f t s cc body = do
> - hPutDocLn h $
> - text "To:" <+> text t
> - $$ text "From:" <+> text f
> - $$ text "Subject:" <+> text s
> - $$ formated_cc
> - $$ text "X-Mail-Originator: Darcs Version Control System"
> - $$ text ("X-Darcs-Version: " ++ darcs_version)
> - $$ body
> - where formated_cc = if cc == ""
> - then empty
> - else text "Cc:" <+> text cc
> + putHeader "To" t
> + putHeader "From" f
> + putHeader "Subject" s
> + when (not (null cc)) (putHeader "Cc" cc)
> + putHeader "X-Mail-Originator" "Darcs Version Control System"
> + hPutDocLn h body
> + where putHeader field value
> + = B.hPut h (B.append (formatHeader field value) (B.singleton 10))
>
> have_sendmail :: IO Bool
> have_sendmail = (sendmail_path >> return True) `catch` (\_ -> return False)
> [Add tests for email header formatting
> Reinier Lamers <tux_rocker at reinier.de>**20090305013224
> Ignore-this: ad3cf5cecdd6bc63432289dc0a22424a
> ] hunk ./src/unit.lhs 53
> import System.IO.Unsafe ( unsafePerformIO )
> import ByteStringUtils
> import qualified Data.ByteString.Char8 as BC ( unpack, pack )
> -import qualified Data.ByteString as B ( empty, concat )
> +import qualified Data.ByteString as B ( empty, concat, length, unpack, foldr,
> + cons, ByteString, null, filter, head )
> +import Data.Char ( isPrint )
> import Darcs.Patch
> import Darcs.Patch.Test
> import Darcs.Patch.Unit ( run_patch_unit_tests )
> hunk ./src/unit.lhs 71
> import Control.Monad.ST
> import Darcs.Ordered
> import Darcs.Sealed ( Sealed(Sealed), unsafeUnseal )
> +import Darcs.Email ( make_email, read_email, formatHeader )
>
> hunk ./src/unit.lhs 73
> -import Darcs.Email ( make_email, read_email )
> #include "impossible.h"
> \end{code}
>
> hunk ./src/unit.lhs 103
> BC.unpack (read_email (renderPS
> $ make_email "reponame" [] (Just (text "contents\n"))
> (text $ unlines s) (Just "filename")))
> + putStr "Checking email header line length... "
> + quickCheck email_header_no_long_lines
> + putStr "Checking email for illegal characters... "
> + quickCheck email_header_ascii_chars
> + putStr "Checking for spaces at beginning of folded email header lines... "
> + quickCheck email_header_lines_start
> + putStr "Checking that there are no empty lines in email headers... "
> + quickCheck email_header_no_empty_lines
> --putStr $ test_patch
> --exitWith ExitSuccess
> case run_tests returnval of
> hunk ./src/unit.lhs 238
> = (thetest p1 p2)++(pair_unit_tester thetest ps)
> \end{code}
>
> +\chapter{Email format tests}
> +
> +These tests check whether the emails generated by darcs meet a few criteria.
> +We check for line length and non-ASCII characters. We apparently do not have to
> +check for CR-LF newlines because that's handled by sendmail.
> +
> +\begin{code}
> +
> +-- Check that formatHeader never creates lines longer than 78 characters
> +-- (excluding the carriage return and line feed)
> +email_header_no_long_lines :: String -> String -> Bool
> +email_header_no_long_lines field value =
> + not $ any (>78) $ map B.length $ bs_lines $ formatHeader cleanField value
> + where cleanField = clean_field_string field
> +
> +bs_lines :: B.ByteString -> [B.ByteString]
> +bs_lines = finalizeFold . B.foldr splitAtLines (B.empty, [])
> + where splitAtLines 10 (thisLine, prevLines) = (B.empty, thisLine:prevLines)
> + splitAtLines c (thisLine, prevLines) = (B.cons c thisLine, prevLines)
> + finalizeFold (lastLine, otherLines) = lastLine : otherLines
> +
> +-- Check that an email header does not contain non-ASCII characters
> +-- formatHeader doesn't escape field names, there is no such thing as non-ascii
> +-- field names afaik
> +email_header_ascii_chars :: String -> String -> Bool
> +email_header_ascii_chars field value
> + = not (any (>127) (B.unpack (formatHeader cleanField value)))
> + where cleanField = clean_field_string field
> +
> +-- Check that header the second and later lines of a header start with a space
> +email_header_lines_start :: String -> String -> Bool
> +email_header_lines_start field value =
> + all (\l -> B.null l || B.head l == 32) (tail headerLines)
> + where headerLines = bs_lines (formatHeader cleanField value)
> + cleanField = clean_field_string field
> +
> +-- Checks that there are no lines in email headers with only whitespace
> +email_header_no_empty_lines :: String -> String -> Bool
> +email_header_no_empty_lines field value =
> + all (not . B.null . B.filter (not . (`elem` [10, 32, 9]))) headerLines
> + where headerLines = bs_lines (formatHeader cleanField value)
> + cleanField = clean_field_string field
> +
> +clean_field_string :: String -> String
> +clean_field_string = filter (\c -> isPrint c && c < '\x80' && c /= ':')
> +
> +{-
> +-- an arbitrary instance for pretty printer documents
> +-- perhaps move this to a separate test library file?
> +instance Arbitrary Doc where
> + arbitrary = let recur :: (Arbitrary a) => (a -> Doc) -> Gen Doc
> + recur f = do arbChunk <- f `fmap` arbitrary
> + arbDoc <- arbitrary
> + combiner <- oneof [return (<>), return ($$)]
> + return (combiner arbChunk arbDoc)
> + in frequency [(1, return empty)
> + ,(4, oneof [recur packedString
> + ,recur text
> + ,recur invisibleText
> + ,recur hiddenText
> + ,recur userchunk
> + ,recur blueText
> + ,recur redText
> + ,recur greenText
> + ,recur magentaText
> + ,recur cyanText
> + ])]
> + shrink _ = []
> +-}
> +
> +\end{code}
> +
> \chapter{LCS}
>
> Here are a few quick tests of the shiftBoundaries function.
> addfile ./tests/emailformat.sh
> hunk ./tests/emailformat.sh 1
> +#!/usr/bin/env bash
> +
> +set -ev
> +# TODO: is this really enough to make all commands interpret the given strings
> +# as latin1?
> +export LANG="en_US.ISO-8859-1"
> +
> +rm -rf temp1
> +rm -rf temp2
> +mkdir temp1
> +mkdir temp2
> +cd temp1
> +
> +seventysevenaddy="<aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa at bbbbbbbbbb.cccccccccc.abrasoft.com>"
> +
> +/home/reinier/Sources/darcs.net/dist/build/darcs/darcs init
> +
> +echo "Have you seen the sm?rrebr?d of Ren? ?av?sant?" > non_ascii_file
> +/home/reinier/Sources/darcs.net/dist/build/darcs/darcs add non_ascii_file
> +/home/reinier/Sources/darcs.net/dist/build/darcs/darcs record -am "non-ascii file add" -A test
> +
> +cd ../temp2
> +/home/reinier/Sources/darcs.net/dist/build/darcs/darcs init
> +cd ../temp1
> +
> +# long email adress: check that email adresses of <= 77 chars don't get split up
> +/home/reinier/Sources/darcs.net/dist/build/darcs/darcs send --from="Kj?lt ?berstr?m $seventysevenaddy" \
> + --subject "Un patch pour le r?positorie" \
> + --to="Un gar?on fran?ais <garcon at francais.fr>" \
> + --sendmail-command='cp /dev/stdin mail_as_file %<' \
> + -a ../temp2
> +
> +cat mail_as_file
> +# The long mail address should be in there as a whole
> +grep $seventysevenaddy mail_as_file
> +
> +# Check that there are no non-ASCII characters in the mail
> +ghc -e 'getContents >>= return . not . any (> Data.Char.chr 127)' < mail_as_file | grep '^True$'
> +
> +
> +cd ..
> +rm -rf temp1
> +rm -rf temp2
> +
> [Kill unused imports in External.hs
> Reinier Lamers <tux_rocker at reinier.de>**20090305015247
> Ignore-this: 6eab59cf3c0c1a04712bd0282caba72f
> ] hunk ./src/Darcs/External.hs 72
>
> import Darcs.Lock ( withTemp, withOpenTemp, tempdir_loc, removeFileMayNotExist )
> import CommandLine ( parseCmd, addUrlencoded )
> -import ThisVersion ( darcs_version )
> #if defined(HAVE_LIBWWW) || defined(HAVE_LIBCURL) || defined(HAVE_HTTP)
> import URL ( copyUrl, copyUrlFirst, waitUrl )
> #endif
> hunk ./src/Darcs/External.hs 80
> import Exec ( exec, Redirect(..), withoutNonBlock )
> import Darcs.URL ( is_file, is_url, is_ssh )
> import Darcs.Utils ( catchall )
> -import Printer ( Doc, Printers, putDocLnWith, hPutDoc, hPutDocLn, hPutDocWith, ($$), (<+>), renderPS,
> +import Printer ( Doc, Printers, putDocLnWith, hPutDoc, hPutDocLn, hPutDocWith, ($$), renderPS,
> simplePrinters,
> text, empty, packedString, vcat, renderString )
> import Darcs.Email ( formatHeader )
>
> Context:
>
> [Use ghc --make for hspwd intsead of runghc.
> Petr Rockai <me at mornfall.net>**20090304182040
> Ignore-this: 30683ae3feb28165be1c8604e1a7bb33
>
> For some reason, runghc hspwd.hs segfaults on the nooxie buildslave (running
> Nexenta x86_64 with ghc 6.10.1).
> ]
> [Add a simple donations page.
> Eric Kow <kowey at darcs.net>**20090303214114
> Ignore-this: b7f2100c67ec1934c387290f8df8384c
> ]
> [Accept issue1337: darcs changes shows unrelated patches.
> Trent W. Buck <trentbuck at gmail.com>**20090303003848
> Ignore-this: 711356eb63bbc1a72f214b5f76199553
> ]
> [remove escape of latex special chars in ShowRepo help text
> Tommy Pettersson <ptp at lysator.liu.se>**20090302011145
> Ignore-this: a95061b2f9e7617202528a75f9873beb
> ]
> [put back latex-unfriendly example in SetPref help text
> Tommy Pettersson <ptp at lysator.liu.se>**20090302011047
> Ignore-this: 67711e3851547eda9c94be15ac50c7a4
> ]
> [change to conforming quoting in Record help text
> Tommy Pettersson <ptp at lysator.liu.se>**20090302011007
> Ignore-this: e7387e0f498251abcfb4c630d60611f4
> ]
> [put back latex-unfriendly markers in MarkConflicts help text
> Tommy Pettersson <ptp at lysator.liu.se>**20090302010908
> Ignore-this: deb902ee57073540318c8ff5894e8f91
> ]
> [remove latex escapes from Dist help text
> Tommy Pettersson <ptp at lysator.liu.se>**20090302010809
> Ignore-this: b2823e6b46e01c6396b4bfd71a8ea284
> ]
> [remove latex formatting from AmendRecord help text
> Tommy Pettersson <ptp at lysator.liu.se>**20090302010737
> Ignore-this: 398f3d83e976d7346eda50c51a420a4a
> ]
> [escape latex special chars from command help text in manual
> Tommy Pettersson <ptp at lysator.liu.se>**20090302010403
> Ignore-this: 8c5edf5481981ba4ce52dc8364984157
> This is an ugly hack. It doesn't cope with "formatted ascii text", but it
> is an improvement until the help texts can be formatted with reST or
> something similar.
> ]
> [put each command usage in new paragraph in manual
> Tommy Pettersson <ptp at lysator.liu.se>**20090302010210
> Ignore-this: badb1b750850b52c7611e7fd14b124f5
> ]
> [fix error on homepage.
> David Roundy <droundy at darcs.net>**20090228171403
> Ignore-this: fe3009d341e976bf2fc4caaa2f95e6604a25bc27
> ]
> [Add an executable to darcs.cabal to build unit tests
> Reinier Lamers <tux_rocker at reinier.de>**20090228123756
> Ignore-this: 1a7851ac63c0b7c3728cc39dc68634f
> ]
> [Sunset the external-bytestring flag (it goes out after 2009-07).
> Eric Kow <kowey at darcs.net>**20090221143824
> Ignore-this: c77361850cc00b3cf4c53fd160d2ff7d
> ]
> [Simplify flag names to just refer to hackage names.
> Eric Kow <kowey at darcs.net>**20090221143626
> Ignore-this: cacef1b5d92923d5011b97e9afad51e6
> ]
> [Cabal: require utf8-string by default.
> Eric Kow <kowey at darcs.net>**20090217153111
> Ignore-this: e9f37c379b46a403ccd9f6359aa8d92e
> The user can go back to the internal utf8-string binding with cabal configure -f-utf8-string
> ]
> [Remove unused import.
> Trent W. Buck <trentbuck at gmail.com>**20090225035946
> Ignore-this: d2a12457ca82d1aa2c72f5f7c1759a0f
> Cleans up after this patch:
>
> Fri Feb 20 23:43:22 EST 2009 Christian Kellermann <Christian.Kellermann at nefkom.net>
> * show patch names on push/pull only when using 'l'
> ]
> [Avoid "unused import" warning.
> Trent W. Buck <trentbuck at gmail.com>**20090223071349]
> [Fix FTBFS on Windows.
> Trent W. Buck <trentbuck at gmail.com>**20090223070906]
> [Restore 'or later' in doc warning about GHC 6.4 and control characters.
> Eric Kow <kowey at darcs.net>**20090221150133
> Ignore-this: 33523246b21116821fec97e672c6ed0
>
> The 'or later' was removed in the following changelog patch:
> Sun Dec 4 15:13:12 GMT 2005 Tommy Pettersson <ptp at lysator.liu.se>
> * add changelog entries
>
> I believe the removal was accidental.
> ]
> [Note GHC 6.6 as the new build requirement.
> Eric Kow <kowey at darcs.net>**20090221145431
> Ignore-this: 1c6a25fb6908487ba0ac6dc937f8e6bf
> ]
> [Explain #ifdef HAVE_HTTP in check for _darcs/prefs/post.
> Eric Kow <kowey at darcs.net>**20090221141553
> Ignore-this: 1e75f1230c4bfc79f3c7a83f364ed003
> ]
> [show patch names on push/pull only when using 'l'
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20090220124322
> Ignore-this: ac72d63dd8880257d851f99c7b8682ff
> ]
> [Remove "unused import/definition" warnings with -fzlib.
> Trent W. Buck <trentbuck at gmail.com>**20090220073544
> Ignore-this: 55400327516c0a2b3fcd95f911bd187a
> ]
> [Only import things if they are needed.
> Trent W. Buck <trentbuck at gmail.com>**20090220033734
> Ignore-this: ab0558b58e4ccf6cd4deba1e66ba2df
> ]
> [Typo: have_HTTP should be HAVE_HTTP.
> Trent W. Buck <trentbuck at gmail.com>**20090220033456
> Ignore-this: a9f418e6fe39d705e994b96e90d5711f
> ]
> [Add a sunset notice to our UTF8 module
> Eric Kow <kowey at darcs.net>**20090204165922
> Ignore-this: e29bed6a8fa818419eee49ea17e9caa6
> ]
> [Replace Autoconf.hs with consistent use of CPP.
> Trent W. Buck <trentbuck at gmail.com>**20090219064516
> Ignore-this: 2ff5eedd03d98cc0544260305a0c9ea0
>
> It's annoying how recording a patch causes a bunch of unrelated
> modules like SHA1 to be recompiled, simply because they use *other*
> variables exported by Autoconf.
>
> Since everything is now available via processor definitions, and these
> definitions are already used in several places, let's just use them
> everywhere and remove Autoconf entirely.
> ]
> [Replace our (///) function with filepath's (</>) in Darcs.Resolution
> Eric Kow <kowey at darcs.net>**20090218104812
> Ignore-this: 152445b2470967ccdd7664150495fa3f
> ]
> [Remove unused Slurpy parameter from with_selected_*.
> Petr Rockai <me at mornfall.net>**20090214065119
> Ignore-this: fd563444400705972b8be84e3946f966
> ]
> [resolve issue1361: specify required includes for curl in cabal file
> Reinier Lamers <tux_rocker at reinier.de>**20090215123415
> Ignore-this: 2581d04c7534d750575dd4732911fb8f
> ]
> [Explain why readFile is in the haskell policy test.
> Eric Kow <kowey at darcs.net>**20090213165322
> Ignore-this: 1a796f69b6bdcf32c7a98bffd46d73f2
> ]
> [add suggested fix to readFile policy warning
> Simon Michael <simon at joyful.com>**20090212183255
> Ignore-this: f8430012bbc4113a5e6b17c22409b59f
> ]
> [Work around weird haddock error.
> Eric Kow <kowey at darcs.net>**20090212201348
> Ignore-this: 5cca0eef7b7490490bb2163804cee30
> ]
> [haddock typo
> Simon Michael <simon at joyful.com>**20090212193131]
> [Cabal: Fix haddock generation.
> Petr Rockai <me at mornfall.net>**20090212191024
> Ignore-this: 564aff636fba5684b7e37410f14859d7
>
> Haddock parses the sources, but does not pass the -D options, and without
> these, ThisVersion.hs is not compilable. Adding fallback definitions fixes
> that...
> ]
> [Fix test failure by ratifying the offending readFile.
> Petr Rockai <me at mornfall.net>**20090212193035
> Ignore-this: 347a2b873062a30e7dcea0471619078f
> ]
> [Ratify readFile in list_authors
> Eric Kow <kowey at darcs.net>**20090212194225
> Ignore-this: 1b7c130f1be5980dd1925451f080edad
> ]
> [Export read_pending from Darcs.Repository.Internal.
> Petr Rockai <me at mornfall.net>**20090212151601
> Ignore-this: ec52212b33309fa92b273a9b5f69b9d1
> ]
> [Resolve issue1347: Check for unsafeMMapFile if mmap use enabled.
> Dave Love <fx at gnu.org>**20090211164509
> Ignore-this: a6f2807ea7e6d25ce1b2228936170720
> ]
> [doc: Fix a typo and some trailing whitespace.
> Eric Kow <kowey at darcs.net>**20090210202059
> Ignore-this: 261c2ce84c1f9c28128789efe55909a8
> ]
> [MS Windows specific docs
> kari at hoijarvi.org**20090207164149
> Ignore-this: beae9c64645056a474e74a3b395967
> ]
> [document .authorspellings in show authors --help
> Simon Michael <simon at joyful.com>**20090208004517
> Ignore-this: 37cca0a913105b1d2f767f9c2f729bd5
> ]
> [add help to authorspellings file
> Simon Michael <simon at joyful.com>**20090208003225
> Ignore-this: 5d404d6958cb66ae38ebb2fae29bae2c
> ]
> [small authorspellings fix
> Simon Michael <simon at joyful.com>**20090208002825
> Ignore-this: 1ac99c082d857dfabcce2275b7bc93e4
> ]
> [add list_authors-style canonicalizing to the show authors command
> Simon Michael <simon at joyful.com>**20090207232835
> Ignore-this: deac150ed2e2de58442e8fd398c9b14e
> ]
> [add .authorspellings file appropriate for our repo
> Simon Michael <simon at joyful.com>**20090207235751
> This .authorspellings file is equivalent to the old hard-coded
> spellings in list_authors.hs. With this in place, darcs show authors
> gives the same output as list_authors.
> ]
> [canonical authors may be defined in an .authorspellings file
> Simon Michael <simon at joyful.com>**20090207221321
> Example:
>
> Joe Blogg <a at b.c>
> -- authors containing d at e.f or d at g.h or matching just "sue" are Sue Bragg
> Sue Bragg <d at e.f>, d at g.h, ^sue$
>
> ]
> [configuring author spelling variations was complicated, now easier
> Simon Michael <simon at joyful.com>**20090207204248]
> [Update tests/network/changes.sh (we don't use $DARCS for ages now).
> Petr Rockai <me at mornfall.net>**20090206061737
> Ignore-this: 22da10c3a4233e61e337de8f1bffad43
> ]
> [Update shell_harness to work with new Distribution.ShellHarness.
> Eric Kow <kowey at darcs.net>**20090205184707
> Ignore-this: 345ec618b597a2b454e0a137d750bff2
> ]
> [Cabal: In test, use the darcs binary in the build directory.
> Petr Rockai <me at mornfall.net>**20090205120452
> Ignore-this: a335d9c1dfc54d33ca87816e2a9ccde8
> ]
> [Interestingly, witnesses also need send_email.c on win32.
> Petr Rockai <me at mornfall.net>**20090205110142
> Ignore-this: a8c4d4add08b1b54040eb8f4c4f256e5
> ]
> [Look for diff & sendmail at runtime, not compile time.
> Petr Rockai <me at mornfall.net>**20090204091320
> Ignore-this: 37900b4856a324cd423b57b7f933d701
> ]
> [One more witnesses build fix (-lz).
> Petr Rockai <me at mornfall.net>**20090204170848
> Ignore-this: 95fd79f9685632429da47de0c9e856d
> ]
> [Remove a redundant clause from the Cabal file."
> Judah Jacobson <judah.jacobson at gmail.com>**20090203165258
> Ignore-this: baa557fd2d2a9993daa53b9da525909f
> ]
> [Tell Cabal about send_email.c on Windows.
> Judah Jacobson <judah.jacobson at gmail.com>**20090203165206
> Ignore-this: cf720fe0a9ed812a348726e84a72b7a
> ]
> [Don't use the bytestring-mmap package on Windows.
> Judah Jacobson <judah.jacobson at gmail.com>**20090203164824
> Ignore-this: 360f890524bfe0f5d4dac2f17af3ed6a
> ]
> [Handle empty files in mmapFilePS. Also cater for FD shortage.
> Petr Rockai <me at mornfall.net>**20090204172953
> Ignore-this: a7cad4f4aa1aed12b7f121ea4c5aa591
> ]
> [doc: Correct path to darcs cache on Windows
> Eric Kow <kowey at darcs.net>**20090131211156
> Ignore-this: 235c6883a132fd41dbe958224134cac
> ]
> [System.Posix is also needed by witnesses on win32.
> Petr Rockai <me at mornfall.net>**20090203140001
> Ignore-this: 7c331bb358cc5e4a56b602443486b76c
> ]
> [Cabal: Do not make absence of a diff tool fatal.
> Petr Rockai <me at mornfall.net>**20090203155656
> Ignore-this: 89c3337030556b9ca4a945d82283d356
> ]
> [Pass -DWIN32 when compiling witnesses, on win32.
> Petr Rockai <me at mornfall.net>**20090203132055
> Ignore-this: 7054bba42feb211424a4762ab7106897
> ]
> [Outsource the (optional) mmap support to bytestring-mmap.
> Petr Rockai <me at mornfall.net>**20090128173825
> Ignore-this: b497434fc44b93c41252f83464f08db2
> ]
> [Relax regex and parsec dependencies in darcs.cabal.
> Petr Rockai <me at mornfall.net>**20090128151230
> Ignore-this: b8e46f9551c0dac608ba3584ccb725bc
> ]
> [Cabal: Look around for diff and sendmail properly.
> Petr Rockai <me at mornfall.net>**20090128141151
> Ignore-this: fd299a492c38fca04c791884226e63d9
> ]
> [Update push-formerly-pl.sh test for issue1333
> Eric Kow <kowey at darcs.net>**20090128145030
> Ignore-this: a4d765ab6b212e4bbedb14093a680054
> ]
> [Canonize Don Stewart, Petr Rockai, Benedikt Schmidt and Spencer Janssen
> Eric Kow <kowey at darcs.net>**20090128142742
> Ignore-this: 94e76427b82465a7ddfea79b39b54c33
> ]
> [Resolve issue1333: Improve "cannot push to current repository" warning.
> Petr Rockai <me at mornfall.net>**20090128094353
> Ignore-this: 1cc9fe3631f323a9a66639f5a1cee8ce
> ]
> [autoconf: Fix definition of SENDMAIL macro when sendmail is not found
> Eric Kow <kowey at darcs.net>**20090127155329
> Ignore-this: 9799e7838d1a1843f562ad14c08aa337
> ]
> [autoconf: Define BIGENDIAN instead of setting it.
> Eric Kow <kowey at darcs.net>**20090127140114
> Ignore-this: 65855789f62b42c4cc84b14f714ff086
> The new Autoconf.hs just checks if BIGENDIAN is defined, not its value.
> ]
> [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
> ]
> [Drop autogeneration of Autoconf.hs, use CPP instead.
> Petr Rockai <me at mornfall.net>**20090125175413
> Ignore-this: 5ba936527bad6d85bedf125b01f884d5
> ]
> [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
> ]
> [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
> ]
> [Flip the repo test over to Cabal.
> Petr Rockai <me at mornfall.net>**20090124223836
> Ignore-this: fc99853532cadcc9a9a77a2e26e2b077
> ]
> [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").
> ]
> [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 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".
> ]
> [(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]
> [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
> ]
> [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]
> [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
> ]
> [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
> ]
> [Resolve issue1302: set closed bugs to resolved (not resolved-in-unstable).
> Trent W. Buck <trentbuck at gmail.com>**20090105001351]
> [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.
> ]
> [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".
> ]
> [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]
> [Check GADT witnesses when doing Cabal-based builds.
> Petr Rockai <me at mornfall.net>**20081228111229]
> [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]
> [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.
> ]
> [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]
> [Remove now-unused replacePristine.
> Petr Rockai <me at mornfall.net>**20081210065138]
> [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.
> ]
> [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]
> [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.
> ]
> [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
> ]
> [Fix a missed "show" in generateContextModule in Setup.lhs.
> Petr Rockai <me at mornfall.net>**20090105075055]
> [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]
> [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]
> [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.
> ]
> [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.
> ]
> [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]
> [Add a rudimentary test for repair of a corrupt repository.
> Petr Rockai <me at mornfall.net>**20081223084036]
> [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]
> [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.
> ]
> [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
> ]
> [Do not use replacePristine in copyFullRepository.
> Petr Rockai <me at mornfall.net>**20081210065120]
> [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 obsolete (unused) checkPristineAgainstCwd and checkPristine.
> Petr Rockai <me at mornfall.net>**20081210062937]
> [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
> ]
> [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
> ]
> [use ShellHarness in Setup.lhs
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112183809
> Ignore-this: 5322065b2d5d5595c01d22ca7ff527f
> ]
> [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
> ]
> [move shell_harness to Distribution/ShellHarness.hs
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112183642
> Ignore-this: 1ae7f4587a9542a595e78e6523c8fbb0
> ]
> [remove bash shell_harness
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081113194438
> Ignore-this: 3621d4992e6cf5fbe8a1a8e1340a64a0
> ]
> [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
> ]
> [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.
> ]
> [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.
> ]
> [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.
> ]
> [Fix shell_harness so it uses --ignore-times
> Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112105646
> Ignore-this: 4b07a9727f723ad917ec6145728c21e2
> ]
> [Silence haskell_policy complaining about Setup.lhs.
> Petr Rockai <me at mornfall.net>**20081111222951]
> [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.
> ]
> [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
> ]
> [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.
> ]
> [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]
> [Make --match 'date "after year"' work into the future.
> Petr Rockai <me at mornfall.net>**20081109211305]
> [Add a test for matching 'date "after year"' working for future patches.
> Petr Rockai <me at mornfall.net>**20081109203045]
> [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.
> ]
> [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.
> ]
> [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
> ]
> [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]
> [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?
> ]
> [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]
> [TAG stable 2008-11-17 (with 2.1.2)
> Eric Kow <kowey at darcs.net>**20081117104434]
> Patch bundle hash:
> 03b5a29de6e5bdfb79cb6bbe79af6471d0c788cf
> _______________________________________________
> darcs-users mailing list
> darcs-users at darcs.net
> http://lists.osuosl.org/mailman/listinfo/darcs-users
--
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20090305/53264953/attachment-0001.pgp>
More information about the darcs-users
mailing list