This amends my previous patch bundle. So this *might* fix some of issue183 and issue1519 but I'm not entirely sure. It'd be good if some people could test it to see if this makes darcs changes behave in a more reasonable way for them.
WARNING: This may be broken because instead of being careful and thinking about the consequences of this code or doing such things as writing regression tests, I just went the unprofessional route and wrote code. Mon Aug 17 23:57:35 BST 2009 Eric Kow <[email protected]> * Refactor changes --summary core code. This uses some custom types representing summarised changes on a higher level and also moves the XML and 'line' based rendering of summaries into separate blocks of code. Mon Aug 17 23:58:14 BST 2009 Eric Kow <[email protected]> * Resolve issue183: Do not sort changes --summary output. This adds move patches to our high-level representation of summary output. Tue Aug 18 00:04:14 BST 2009 Eric Kow <[email protected]> * A tiny bit more separation of concerns in changes --summary core. Mon Aug 17 16:37:51 BST 2009 Eric Kow <[email protected]> * Camel-case some Darcs.Patch.Viewing functions.
New patches: [Refactor changes --summary core code. Eric Kow <[email protected]>**20090817225735 Ignore-this: 1078c3bf42fa5e2acef6e6a31c81c42b This uses some custom types representing summarised changes on a higher level and also moves the XML and 'line' based rendering of summaries into separate blocks of code. ] hunk ./src/Darcs/Patch/Viewing.hs 146 | otherwise = z : (strReplace x y zs) -- end yuck duplicated code. +-- | High-level representation of a piece of patch summary +data SummChunk = SummChunk FileName SummDetail ConflictState + deriving (Ord, Eq) + +data SummDetail = SummAddDir + | SummRmDir + | SummFile SummOp Int Int Int + | SummNone + deriving (Ord, Eq) + +data SummOp = SummAdd | SummRm | SummMod deriving (Ord, Eq) + gen_summary :: Bool -> [IsConflictedPrim] -> Doc gen_summary use_xml p = vcat themoves hunk ./src/Darcs/Patch/Viewing.hs 163 $$ vcat themods where themods = map summ $ combine $ sort $ concatMap s2 p - s2 :: IsConflictedPrim -> [(FileName, Int, Int, Int, Bool, ConflictState)] - s2 (IsC c x) = map (append56 c) $ s x - s :: Prim C(x y) -> [(FileName, Int, Int, Int, Bool)] - s (FP f (Hunk _ o n)) = [(f, length o, length n, 0, False)] - s (FP f (Binary _ _)) = [(f, 0, 0, 0, False)] - s (FP f AddFile) = [(f, -1, 0, 0, False)] - s (FP f RmFile) = [(f, 0, -1, 0, False)] - s (FP f (TokReplace _ _ _)) = [(f, 0, 0, 1, False)] - s (DP d AddDir) = [(d, -1, 0, 0, True)] - s (DP d RmDir) = [(d, 0, -1, 0, True)] + s2 :: IsConflictedPrim -> [SummChunk] + s2 (IsC c x) = map (\(f,d) -> SummChunk f d c) $ s x + s :: Prim C(x y) -> [(FileName,SummDetail)] + s (FP f (Hunk _ o n)) = [(f,SummFile SummMod (length o) (length n) 0)] + s (FP f (Binary _ _)) = [(f,SummNone)] + s (FP f AddFile) = [(f,SummFile SummAdd 0 0 0)] + s (FP f RmFile) = [(f,SummFile SummRm 0 0 0)] + s (FP f (TokReplace _ _ _)) = [(f,SummFile SummMod 0 0 1)] + s (DP d AddDir) = [(d,SummAddDir)] + s (DP d RmDir) = [(d,SummRmDir)] s (Split xs) = concat $ mapFL s xs hunk ./src/Darcs/Patch/Viewing.hs 174 - s (Move _ _) = [(fp2fn "", 0, 0, 0, False)] - s (ChangePref _ _ _) = [(fp2fn "", 0, 0, 0, False)] - s Identity = [(fp2fn "", 0, 0, 0, False)] - append56 f (a,b,c,d,e) = (a,b,c,d,e,f) - (-1) .+ _ = -1 - _ .+ (-1) = -1 - a .+ b = a + b - combine ((f,a,b,r,isd,c):(f',a',b',r',_,c'):ss) - -- Don't combine AddFile and RmFile: (maybe an old revision of) darcs - -- allows a single patch to add and remove the same file, see issue 185 - | f == f' && (a /= -1 || b' /= -1) && (a' /= -1 || b /= -1) = - combine ((f,a.+a',b.+b',r+r',isd,combineConflitStates c c'):ss) - combine ((f,a,b,r,isd,c):ss) = (f,a,b,r,isd,c) : combine ss + s (Move _ _) = [(fp2fn "",SummNone)] + s (ChangePref _ _ _) = [(fp2fn "",SummNone)] + s Identity = [(fp2fn "",SummNone)] + combine (x1@(SummChunk f1 d1 c1) : x2@(SummChunk f2 d2 c2) : ss) + | f1 == f2 = case combineDetail d1 d2 of + Nothing -> x1 : combine (x2:ss) + Just d3 -> combine $ SummChunk f1 d3 (combineConflitStates c1 c2) : ss + combine (x:ss) = x : combine ss combine [] = [] hunk ./src/Darcs/Patch/Viewing.hs 183 + -- + combineDetail (SummFile o1 r1 a1 x1) (SummFile o2 r2 a2 x2) = + do o3 <- combineOp o1 o2 + return $ SummFile o3 (r1 + r2) (a1 + a2) (x1 + x2) + combineDetail _ _ = Nothing + -- combineConflitStates Conflicted _ = Conflicted combineConflitStates _ Conflicted = Conflicted combineConflitStates Duplicated _ = Duplicated hunk ./src/Darcs/Patch/Viewing.hs 194 combineConflitStates _ Duplicated = Duplicated combineConflitStates Okay Okay = Okay + -- Don't combine AddFile and RmFile: (maybe an old revision of) darcs + -- allows a single patch to add and remove the same file, see issue 185 + combineOp SummAdd SummRm = Nothing + combineOp SummRm SummAdd = Nothing + combineOp SummAdd _ = Just SummAdd + combineOp _ SummAdd = Just SummAdd + combineOp SummRm _ = Just SummRm + combineOp _ SummRm = Just SummRm + combineOp SummMod SummMod = Just SummMod + summ = if use_xml then summChunkToXML else summChunkToLine hunk ./src/Darcs/Patch/Viewing.hs 205 - summ (f,_,-1,_,False,Okay) - = if use_xml then text "<remove_file>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</remove_file>" - else text "R" <+> text (fn2fp f) - summ (f,_,-1,_,False,Conflicted) - = if use_xml then text "<remove_file conflict='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</remove_file>" - else text "R!" <+> text (fn2fp f) - summ (f,_,-1,_,False,Duplicated) - = if use_xml then text "<remove_file duplicate='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</remove_file>" - else text "R" <+> text (fn2fp f) <+> text "(duplicate)" - summ (f,-1,_,_,False,Okay) - = if use_xml then text "<add_file>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</add_file>" - else text "A" <+> text (fn2fp f) - summ (f,-1,_,_,False,Conflicted) - = if use_xml then text "<add_file conflict='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</add_file>" - else text "A!" <+> text (fn2fp f) - summ (f,-1,_,_,False,Duplicated) - = if use_xml then text "<add_file duplicate='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</add_file>" - else text "A" <+> text (fn2fp f) <+> text "(duplicate)" - summ (f,0,0,0,False,Okay) | f == fp2fn "" = empty - summ (f,0,0,0,False,Conflicted) | f == fp2fn "" - = if use_xml then empty -- don't know what to do here... - else text "!" <+> text (fn2fp f) - summ (f,0,0,0,False,Duplicated) | f == fp2fn "" - = if use_xml then empty -- don't know what to do here... - else text (fn2fp f) <+> text "(duplicate)" - summ (f,a,b,r,False,Okay) - = if use_xml then text "<modify_file>" - $$ escapeXML (drop_dotslash $ fn2fp f) - <> xrm a <> xad b <> xrp r - $$ text "</modify_file>" - else text "M" <+> text (fn2fp f) - <+> rm a <+> ad b <+> rp r - summ (f,a,b,r,False,Conflicted) - = if use_xml then text "<modify_file conflict='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - <> xrm a <> xad b <> xrp r - $$ text "</modify_file>" - else text "M!" <+> text (fn2fp f) - <+> rm a <+> ad b <+> rp r - summ (f,a,b,r,False,Duplicated) - = if use_xml then text "<modify_file duplicate='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - <> xrm a <> xad b <> xrp r - $$ text "</modify_file>" - else text "M" <+> text (fn2fp f) - <+> rm a <+> ad b <+> rp r <+> text "(duplicate)" - summ (f,_,-1,_,True,Okay) - = if use_xml then text "<remove_directory>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</remove_directory>" - else text "R" <+> text (fn2fp f) <> text "/" - summ (f,_,-1,_,True,Conflicted) - = if use_xml then text "<remove_directory conflict='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</remove_directory>" - else text "R!" <+> text (fn2fp f) <> text "/" - summ (f,_,-1,_,True,Duplicated) - = if use_xml then text "<remove_directory duplicate='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</remove_directory>" - else text "R" <+> text (fn2fp f) <> text "/ (duplicate)" - summ (f,-1,_,_,True,Okay) - = if use_xml then text "<add_directory>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</add_directory>" - else text "A" <+> text (fn2fp f) <> text "/" - summ (f,-1,_,_,True,Conflicted) - = if use_xml then text "<add_directory conflict='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</add_directory>" - else text "A!" <+> text (fn2fp f) <> text "/" - summ (f,-1,_,_,True,Duplicated) - = if use_xml then text "<add_directory duplicate='true'>" - $$ escapeXML (drop_dotslash $ fn2fp f) - $$ text "</add_directory>" - else text "A!" <+> text (fn2fp f) <> text "/ (duplicate)" - summ _ = empty - ad 0 = empty - ad a = plus <> text (show a) - xad 0 = empty - xad a = text "<added_lines num='" <> text (show a) <> text "'/>" - rm 0 = empty - rm a = minus <> text (show a) - xrm 0 = empty - xrm a = text "<removed_lines num='" <> text (show a) <> text "'/>" - rp 0 = empty - rp a = text "r" <> text (show a) - xrp 0 = empty - xrp a = text "<replaced_tokens num='" <> text (show a) <> text "'/>" - drop_dotslash ('.':'/':str) = drop_dotslash str - drop_dotslash str = str themoves :: [Doc] themoves = map showmoves p showmoves :: IsConflictedPrim -> Doc hunk ./src/Darcs/Patch/Viewing.hs 217 <> text " -> " <> text (fn2fp b) showmoves _ = empty +summChunkToXML :: SummChunk -> Doc +summChunkToXML (SummChunk f chunk c) = + case chunk of + SummRmDir -> xconf c "remove_directory" (xfn f) + SummAddDir -> xconf c "add_directory" (xfn f) + SummFile SummRm _ _ _ -> xconf c "remove_file" (xfn f) + SummFile SummAdd _ _ _ -> xconf c "add_file" (xfn f) + SummFile SummMod r a x -> xconf c "modify_file" $ xfn f <> xrm r <> xad a <> xrp x + SummNone -> empty + where + xconf Okay t x = text ('<':t++">") $$ x $$ text ("</"++t++">") + xconf Conflicted t x = text ('<':t++" conflict='true'>") $$ x $$ text ("</"++t++">") + xconf Duplicated t x = text ('<':t++" duplicate='true'>") $$ x $$ text ("</"++t++">") + xfn = escapeXML . drop_dotslash .fn2fp + -- + xad 0 = empty + xad a = text "<added_lines num='" <> text (show a) <> text "'/>" + xrm 0 = empty + xrm a = text "<removed_lines num='" <> text (show a) <> text "'/>" + xrp 0 = empty + xrp a = text "<replaced_tokens num='" <> text (show a) <> text "'/>" + +summChunkToLine :: SummChunk -> Doc +summChunkToLine (SummChunk f chunk c) = + case chunk of + SummRmDir -> lconf c "R" $ text (fn2fp f) <> text "/" + SummAddDir -> lconf c "A" $ text (fn2fp f) <> text "/" + SummFile SummRm _ _ _ -> lconf c "R" $ text (fn2fp f) + SummFile SummAdd _ _ _ -> lconf c "A" $ text (fn2fp f) + SummFile SummMod r a x -> lconf c "M" $ text (fn2fp f) <+> rm r <+> ad a <+> rp x + SummNone -> case c of + Okay -> empty + _ -> lconf c "" empty + where + lconf Okay t x = text t <+> x + lconf Conflicted t x = text (t ++ "!") <+> x + lconf Duplicated t x = text t <+> x <+> text "duplicate" + -- + ad 0 = empty + ad a = plus <> text (show a) + rm 0 = empty + rm a = minus <> text (show a) + rp 0 = empty + rp a = text "r" <> text (show a) + +drop_dotslash :: FilePath -> FilePath +drop_dotslash ('.':'/':str) = drop_dotslash str +drop_dotslash str = str + instance (Conflict p, ShowPatch p) => ShowPatch (Named p) where showPatch (NamedP n [] p) = showPatchInfo n <> showPatch p showPatch (NamedP n d p) = showNamedPrefix n d <+> showPatch p [Resolve issue183: Do not sort changes --summary output. Eric Kow <[email protected]>**20090817225814 Ignore-this: 2749e08a69592f49bb7e2400ae89e8a6 This adds move patches to our high-level representation of summary output. ] hunk ./src/Darcs/Patch/Viewing.hs 153 data SummDetail = SummAddDir | SummRmDir | SummFile SummOp Int Int Int + | SummMv FileName | SummNone deriving (Ord, Eq) hunk ./src/Darcs/Patch/Viewing.hs 161 gen_summary :: Bool -> [IsConflictedPrim] -> Doc gen_summary use_xml p - = vcat themoves - $$ vcat themods - where themods = map summ $ combine $ sort $ concatMap s2 p + = vcat themods + where themods = map summ $ combine $ concatMap s2 p s2 :: IsConflictedPrim -> [SummChunk] s2 (IsC c x) = map (\(f,d) -> SummChunk f d c) $ s x s :: Prim C(x y) -> [(FileName,SummDetail)] hunk ./src/Darcs/Patch/Viewing.hs 174 s (DP d AddDir) = [(d,SummAddDir)] s (DP d RmDir) = [(d,SummRmDir)] s (Split xs) = concat $ mapFL s xs - s (Move _ _) = [(fp2fn "",SummNone)] + s (Move f1 f2) = [(f1,SummMv f2)] s (ChangePref _ _ _) = [(fp2fn "",SummNone)] s Identity = [(fp2fn "",SummNone)] combine (x1@(SummChunk f1 d1 c1) : x2@(SummChunk f2 d2 c2) : ss) hunk ./src/Darcs/Patch/Viewing.hs 205 combineOp SummMod SummMod = Just SummMod summ = if use_xml then summChunkToXML else summChunkToLine - themoves :: [Doc] - themoves = map showmoves p - showmoves :: IsConflictedPrim -> Doc - showmoves (IsC _ (Move a b)) - = if use_xml - then text "<move from=\"" - <> escapeXML (drop_dotslash $ fn2fp a) <> text "\" to=\"" - <> escapeXML (drop_dotslash $ fn2fp b) <> text"\"/>" - else text " " <> text (fn2fp a) - <> text " -> " <> text (fn2fp b) - showmoves _ = empty - summChunkToXML :: SummChunk -> Doc summChunkToXML (SummChunk f chunk c) = case chunk of hunk ./src/Darcs/Patch/Viewing.hs 213 SummFile SummRm _ _ _ -> xconf c "remove_file" (xfn f) SummFile SummAdd _ _ _ -> xconf c "add_file" (xfn f) SummFile SummMod r a x -> xconf c "modify_file" $ xfn f <> xrm r <> xad a <> xrp x + SummMv f2 -> text "<move from=\"" <> xfn f + <> text "\" to=\"" <> xfn f2 <> text"\"/>" SummNone -> empty where xconf Okay t x = text ('<':t++">") $$ x $$ text ("</"++t++">") hunk ./src/Darcs/Patch/Viewing.hs 237 SummFile SummRm _ _ _ -> lconf c "R" $ text (fn2fp f) SummFile SummAdd _ _ _ -> lconf c "A" $ text (fn2fp f) SummFile SummMod r a x -> lconf c "M" $ text (fn2fp f) <+> rm r <+> ad a <+> rp x + SummMv f2 -> text " " <> text (fn2fp f) + <> text " -> " <> text (fn2fp f2) SummNone -> case c of Okay -> empty _ -> lconf c "" empty [A tiny bit more separation of concerns in changes --summary core. Eric Kow <[email protected]>**20090817230414 Ignore-this: b9f5e9625862d19c356667dc2ce6710d ] hunk ./src/Darcs/Patch/Viewing.hs 59 blueText "(" $$ showContextSeries s (mapFL_FL PP ps) <> blueText ")" showContextPatch _ p = showPatch p - summary = gen_summary False . (:[]) . IsC Okay + summary = vcat . map summChunkToXML . gen_summary . (:[]) . IsC Okay thing _ = "change" summarize :: (Conflict e, Effect e) => e C(x y) -> Doc hunk ./src/Darcs/Patch/Viewing.hs 63 -summarize = gen_summary False . conflictedEffect +summarize = vcat . map summChunkToLine . gen_summary . conflictedEffect instance ShowPatch Patch where showPatch = showPatch_ hunk ./src/Darcs/Patch/Viewing.hs 131 xml_summary :: (Effect p, Patchy p, Conflict p) => Named p C(x y) -> Doc xml_summary p = text "<summary>" - $$ gen_summary True (conflictedEffect $ patchcontents p) + $$ (vcat . map summChunkToXML . gen_summary . conflictedEffect . patchcontents $ p) $$ text "</summary>" -- Yuck duplicated code below... hunk ./src/Darcs/Patch/Viewing.hs 159 data SummOp = SummAdd | SummRm | SummMod deriving (Ord, Eq) -gen_summary :: Bool -> [IsConflictedPrim] -> Doc -gen_summary use_xml p - = vcat themods - where themods = map summ $ combine $ concatMap s2 p - s2 :: IsConflictedPrim -> [SummChunk] +gen_summary :: [IsConflictedPrim] -> [SummChunk] +gen_summary p + = combine $ concatMap s2 p + where s2 :: IsConflictedPrim -> [SummChunk] s2 (IsC c x) = map (\(f,d) -> SummChunk f d c) $ s x s :: Prim C(x y) -> [(FileName,SummDetail)] s (FP f (Hunk _ o n)) = [(f,SummFile SummMod (length o) (length n) 0)] hunk ./src/Darcs/Patch/Viewing.hs 202 combineOp SummRm _ = Just SummRm combineOp _ SummRm = Just SummRm combineOp SummMod SummMod = Just SummMod - summ = if use_xml then summChunkToXML else summChunkToLine summChunkToXML :: SummChunk -> Doc summChunkToXML (SummChunk f chunk c) = [Camel-case some Darcs.Patch.Viewing functions. Eric Kow <[email protected]>**20090817153751 Ignore-this: b3b03f3408f1097e5b476a35215ecec6 ] replace ./src/Darcs/Patch/Viewing.hs [A-Za-z_0-9] drop_dotslash dropDotSlash replace ./src/Darcs/Patch/Viewing.hs [A-Za-z_0-9] gen_summary genSummary Context: [Accept issue1472: "darcs record ./foo" shouldn't open ./bar. Trent W. Buck <[email protected]>**20090815084306 Ignore-this: 23d5392008872369ba9b509b75aeb5bc This bug was present in Darcs 2.0, but gone by 2.3. Thus, this patch simply adds a regression test. ] [Remove tabs from src/Exec.hs Reinier Lamers <[email protected]>**20090809163015 Ignore-this: 30952fddf0ae0f60b3af442e90411ca7 ] [Remove optimize --checkpoint cruft. Eric Kow <[email protected]>**20090811143734 Ignore-this: c36c818704171289ff388cdd539626d5 ] [darcs.cabal turn on -fwarn-tabs per dupree [email protected]**20090807013047 Ignore-this: c7961b5512d2f8392f3484c81ca197e0 ] [Add script that tricks cabal into installing our build-depends only. Petr Rockai <[email protected]>**20090805152653 Ignore-this: 6a70f5ff464d26a944b81967606e7af0 ] [Avoid unescaped hyphens and backslashes in manpage. Trent W. Buck <[email protected]>**20090803063335 Ignore-this: 4db2b484b68590f754d36f4751e93962 Fixes these bugs: W: darcs: manpage-has-errors-from-man darcs.1.gz: 297: a tab character is not allowed in an escape name I: darcs: hyphen-used-as-minus-sign darcs.1.gz (87 times) http://lintian.debian.org/tags/manpage-has-errors-from-man.html http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html ] [Typo: s/comand/command/. Trent W. Buck <[email protected]>**20090803042007 Ignore-this: fcbe6f2cbcb3743872b0431b11dea10c Thanks to http://lintian.debian.org/tags/spelling-error-in-binary.html. ] [Update hpc.README to use Cabal. Petr Rockai <[email protected]>**20090730190304 Ignore-this: 7f63751a7daa418ffdca2ca6d20af1b1 ] [Add a flag for enabling HPC for the darcs library. Petr Rockai <[email protected]>**20090730185959 Ignore-this: e0246133e84e8547e223f61b67a28066 ] [Combine the HPC tix files after each test in ShellHarness. Petr Rockai <[email protected]>**20090730185951 Ignore-this: 577a6e1614aa8c5ff6f25d9df6f81554 This is done when HPCTIXDIR is set, so presumably we are generating coverage report. We need to do this, because otherwise, a full testsuite run produces over a gigabyte of tixfiles, even though the combined tix is less than 200K. ] [Require haskell zlib, dropping the legacy internal zlib binding. Petr Rockai <[email protected]>**20090722091325 Ignore-this: 348c1fd005fe19900e4a9706567b4ee0 ] [Fix link to autoconf tarball. Eric Kow <[email protected]>**20090723135420 Ignore-this: cfe87256fbd5af286a00fbb84ca443d0 ] [Update web page for 2.3.0 release. Eric Kow <[email protected]>**20090723134705 Ignore-this: dfa04b99e5c0170448d635bf0e496a66 ] [Resolve conflict between autoconf removal and version number updates. Eric Kow <[email protected]>**20090723133543 Ignore-this: efcf724bf0230243cee1e88502428ccd ] [Makefile: fix dependency on no longer existing distclean target. Eric Kow <[email protected]>**20090722093438 Ignore-this: d0f8da797e26b0c42a2da76eddd4ed31 ] [Make utf8-string mandatory. Eric Kow <[email protected]>**20090721194433 Ignore-this: cd8a94b3e4e41bb938e82dffbcb27e2d ] [Remove UTF8 module completely. Eric Kow <[email protected]>**20090721194220 Ignore-this: f4ec3fe853ecbc928a8d3e3c3b9aa07c The utf8-string package has been the default for a while. Now we're wholly dependent on it. ] [Add support for skipping tests (exit 200). Petr Rockai <[email protected]>**20090720095346 Ignore-this: 133cb02e8cca03a4678068450cb150a9 ] [Remove the --checkpoint option from the UI. Petr Rockai <[email protected]>**20090720093634 Ignore-this: 2fb627cd1e64bbe264fda6e19f0b085b ] [Remove the support for writing out new checkpoints. Petr Rockai <[email protected]>**20090720091809 Ignore-this: 87eb23fe7604ed0abe5c38daafb87a7e ] [Remove unused determine_release_state.pl. Eric Kow <[email protected]>**20090721205227 Ignore-this: 15331bbb258fbdeb6bd4887c8dabb8ed ] [Remove ununsed test/shell_harness.hs. Eric Kow <[email protected]>**20090721192027 Ignore-this: 7efbe97744c698beecd4f17a09868467 ] [Remove autoconf support and cut GNUmakefile to only build manual and tags. Petr Rockai <[email protected]>**20090717160355 Ignore-this: 8a45c095c566172076adbe6e44b37827 ] [Slightly refactor the run function in ShellHarness. Petr Rockai <[email protected]>**20090714134205 Ignore-this: 92c7f05b9c4d6973e95706f23ea27dfc ] [Slightly refactor test machinery in Setup.lhs. Petr Rockai <[email protected]>**20090714134119 Ignore-this: 32206a331658d407d9c0fb3b48405db6 ] [Use tee in pending_has_conflicts.sh for easier debugging. Petr Rockai <[email protected]>**20090713180404 Ignore-this: 7b96b7f7df6358ddb0466cfe58803f71 ] [Roll back the getSymbolicLinkStatus workaround, since it constitutes a fd leak. Petr Rockai <[email protected]>**20090710143149 Ignore-this: cd2aa7e13cc902852a7c5d0855d55538 rolling back: Sun Jun 21 17:39:42 CEST 2009 Petr Rockai <[email protected]> * Avoid getSymbolicLinkStatus in mmap implementation, works around GHC 6.8.2 bug. ] [Note darcs 2.3 pre-release and darcs 2.2 stable versions in website. Eric Kow <[email protected]>**20090716133323 Ignore-this: bbe9c36213a07890816b8599f2f29aee ] [Remove website automation from Makefile. Eric Kow <[email protected]>**20090716133230 Ignore-this: f0cdb9afaa9d314321b345a08e2784bf ] [Rename index.html.in to index.html, forgoing website automation. Eric Kow <[email protected]>**20090716133023 Ignore-this: a4c62db2d3ca341e95262cd05328473f The website automation allowed us to avoid duplication of information (ie. version numbers), but we're in the process of changing our build and release system, which breaks the site. For now, we go for simplicity and robustness, perhaps restoring the automation in the future when things have settled down somewhat. ] [Remove bytestring flag from darcs.cabal. Eric Kow <[email protected]>**20090714165021 Ignore-this: 4325773231f9679054c7d045657bdae0 Now that we're requiring GHC 6.8 or above, we always use the external bytestring package. ] [Move email unit tests to Darcs.Test module space Reinier Lamers <[email protected]>**20090629203409 Ignore-this: 3187d24822e7a125a46e0a273956d792 ] [Teach cabal about new Darcs.Test modules Reinier Lamers <[email protected]>**20090629193208 Ignore-this: c27c8398fd637e100259fdf1f4d42e0a ] [Move unit tests to Darcs.Test module space Reinier Lamers <[email protected]>**20090629192934 Ignore-this: e88d9ecb7ca8f0b5679fba2cd2813ff0 ] [Bound size of trees generated in Darcs.Patch.QuickCheck Reinier Lamers <[email protected]>**20090628134952 Ignore-this: c499b850ad5ca15d4bada56b69ee98f3 This keeps the 'Checking that tree flattenings are consistent' test from occasionally taking hours and hours to complete. The maximum depth of 5 was found by experiment. ] [Add some comments in Darcs.Patch.QuickCheck Reinier Lamers <[email protected]>**20090628134908 Ignore-this: c66a386865832e75427f99febfb91a91 ] [Avoid getSymbolicLinkStatus in mmap implementation, works around GHC 6.8.2 bug. Petr Rockai <[email protected]>**20090621153942 Ignore-this: 91092453d97c87edfc4e46b11e4ae208 ] [TAG 2.3.0 Petr Rockai <[email protected]>**20090723115125 Ignore-this: e326d4ddff92c578e8fe8a3c23d00193 ] Patch bundle hash: 25663ad28178b79e835288589454e073ae24134d
_______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
