[prev in list] [next in list] [prev in thread] [next in thread] 

List:       darcs-conflicts
Subject:    [darcs-conflicts] darcs patch: modify Conflictor to match [A;
From:       David Roundy <droundy () abridgegame ! org>
Date:       2005-05-08 11:55:32
Message-ID: E1DUkNg-00040a-Fz () localhost
[Download RAW message or body]

This =


Sun May  8 07:41:31 EDT 2005  David Roundy <droundy@abridgegame.org>
  * modify Conflictor to match [A;B,C] notation, which also makes it a bit =
more efficient.

Sun May  8 07:54:04 EDT 2005  David Roundy <droundy@abridgegame.org>
  * replace eq_patchsequence with same_patches, and make same_patches faste=
r.
  We had two functions in PatchCommute that did the same thing...


[Attachment #3 (text/x-darcs-patch)]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


New patches:

[modify Conflictor to match [A;B,C] notation, which also makes it a bit more efficient.
David Roundy <droundy@abridgegame.org>**20050508114131] {
hunk ./PatchApply.lhs 101
- -apply_to_slurpy (Conflictor False a [_]) s =
+apply_to_slurpy (Conflictor False a [] _) s =
hunk ./PatchApply.lhs 103
- -apply_to_slurpy (Conflictor True a [_]) s =
+apply_to_slurpy (Conflictor True a [] _) s =
hunk ./PatchApply.lhs 105
- -apply_to_slurpy (Conflictor _ _ _) s = Just s
+apply_to_slurpy (Conflictor _ _ _ _) s = Just s
hunk ./PatchApply.lhs 142
- -apply (Conflictor False a [_]) = apply (invert $ join_patches a)
- -apply (Conflictor True a [_]) = apply (join_patches a)
- -apply (Conflictor _ _ _) = return ()
+apply (Conflictor False a [] _) = apply (invert $ join_patches a)
+apply (Conflictor True a [] _) = apply (join_patches a)
+apply (Conflictor _ _ _ _) = return ()
hunk ./PatchApply.lhs 325
- -markup_file n (Conflictor False a [_]) (f,mk) =
+markup_file n (Conflictor False a [] _) (f,mk) =
hunk ./PatchApply.lhs 327
- -markup_file n (Conflictor True a [_]) (f,mk) =
+markup_file n (Conflictor True a [] _) (f,mk) =
hunk ./PatchApply.lhs 329
- -markup_file _ (Conflictor _ _ _) x = x
+markup_file _ (Conflictor _ _ _ _) x = x
hunk ./PatchApply.lhs 419
- -patchChanges (Conflictor False a [_]) = concatMap (patchChanges . invert) a
- -patchChanges (Conflictor True a [_]) = concatMap (patchChanges) a
- -patchChanges (Conflictor _ _ _) = []
+patchChanges (Conflictor False a [] _) = concatMap (patchChanges . invert) a
+patchChanges (Conflictor True a [] _) = concatMap (patchChanges) a
+patchChanges (Conflictor _ _ _ _) = []
hunk ./PatchApply.lhs 437
- -       applyToPopTree (Conflictor False a [_]) tr =
+       applyToPopTree (Conflictor False a [] _) tr =
hunk ./PatchApply.lhs 439
- -       applyToPopTree (Conflictor True a [_]) tr =
+       applyToPopTree (Conflictor True a [] _) tr =
hunk ./PatchApply.lhs 441
- -       applyToPopTree (Conflictor _ _ _) tr = tr
+       applyToPopTree (Conflictor _ _ _ _) tr = tr
hunk ./PatchCommute.lhs 332
- -simple_unforce (Conflictor False [a] [b], p)
- -    | a `eq_patches` p = Succeeded (Conflictor False [b] [a], b)
- -simple_unforce (Conflictor True [a] [ib], Conflictor False [ib'] [a'])
+simple_unforce (Conflictor False [a] [] b, p)
+    | a `eq_patches` p = Succeeded (Conflictor False [b] [] a, b)
+simple_unforce (Conflictor True [a] [] ib, Conflictor False [ib'] [] a')
hunk ./PatchCommute.lhs 339
- -simple_force (a, b) = Succeeded (Conflictor True [a] [invert b],
- -                                 Conflictor False [invert b] [a])
+simple_force (a, b) = Succeeded (Conflictor True [a] [] (invert b),
+                                 Conflictor False [invert b] [] a)
hunk ./PatchCommute.lhs 344
- -repeated_force (Conflictor False a [b], p) | isnt_conflictor p =
- -    Succeeded (Conflictor True [b] aip, Conflictor False aip [b])
+repeated_force (Conflictor False a [] b, p) | isnt_conflictor p =
+    Succeeded (Conflictor True [b] a (invert p), Conflictor False aip [] b)
hunk ./PatchCommute.lhs 352
- -repeated_unforce (Conflictor False ap@(_:_:_) [b], p)
+repeated_unforce (Conflictor False ap@(_:_:_) [] b, p)
hunk ./PatchCommute.lhs 356
- -        ((_:ia):_) -> Succeeded
- -                      (Conflictor False [b] ap,
- -                       Conflictor False (map invert $ reverse ia) [b])
+        ((_:ia):_) -> Succeeded (Conflictor False [b] a p,
+                                 Conflictor False a [] b)
+                      where a = map invert $ reverse ia
hunk ./PatchCommute.lhs 360
- -repeated_unforce (Conflictor True [b] aip@(_:_:_),
- -                  Conflictor False aip' [b'])
- -    | b' `eq_patches` b && aip' `same_length` aip =
+repeated_unforce (Conflictor True [b] a@(_:_) ip,
+                  Conflictor False aip@(_:_) [] b')
+    | b' `eq_patches` b && tail aip `same_length` a =
hunk ./PatchCommute.lhs 364
- -             reversed_list_head_permutations $ reverse aip' of
+             reversed_list_head_permutations $ reverse aip of
hunk ./PatchCommute.lhs 366
- -        ((_:a):_) | map invert (reverse a) `eq_patchsequence` init aip ->
- -                      Succeeded (Conflictor False
- -                                 (map invert $ reverse a) [b'], invert ip)
- -                  | otherwise -> Unknown
+        ((_:ra):_) | reverse ra `eq_patchsequence` a ->
+                     Succeeded (Conflictor False a [] b', invert ip)
+                   | otherwise -> Unknown
hunk ./PatchCommute.lhs 370
- -    where ip = last aip
- -          [] `same_length` [] = True
- -          (_:x) `same_length` (_:y) = x `same_length` y
- -          _ `same_length` _ = False
hunk ./PatchCommute.lhs 372
- -repeated_unforce (Conflictor False [b'] ax, Conflictor False a [b])
- -    | b' `eq_patches` b && length ax == length a + 1 =
- -        case filter (eq_patchsequence (reverse a) . tail) $
- -             reversed_list_head_permutations $ reverse ax of
- -        [] -> Unknown
- -        (ax'@(ix:_):_) -> Succeeded (Conflictor False
- -                                     (map invert $ reverse ax') [b], invert ix)
- -        _ -> impossible
+repeated_unforce (Conflictor False [b'] a' x, Conflictor False a [] b)
+    | b' `eq_patches` b && a' `eq_patchsequence` a =
+        Succeeded (Conflictor False (a ++ [x]) [] b, x)
hunk ./PatchCommute.lhs 378
- -isnt_conflictor (Conflictor _ _ _) = False
+isnt_conflictor (Conflictor _ _ _ _) = False
hunk ./PatchCommute.lhs 383
- -commute_multiway (Conflictor False a [b], Conflictor True a' [c])
+commute_multiway (Conflictor False a [] b, Conflictor True a' [] c)
hunk ./PatchCommute.lhs 385
- -    Succeeded (Conflictor True ba [c], Conflictor False ca [b])
+    Succeeded (Conflictor True ba [] c, Conflictor False ca [] b)
hunk ./PatchCommute.lhs 388
- -commute_multiway (Conflictor True ba [c], Conflictor False ca [b])
+commute_multiway (Conflictor True ba [] c, Conflictor False ca [] b)
hunk ./PatchCommute.lhs 399
- -              then Succeeded (Conflictor False a [b], Conflictor True a [c])
+              then Succeeded (Conflictor False a [] b, Conflictor True a [] c)
hunk ./PatchCommute.lhs 403
- -commute_multiway (Conflictor False ap@(_:_:_) [b], p@(Conflictor False _ [px]))
+commute_multiway (Conflictor False ap@(_:_:_) [] b,
+                  p@(Conflictor False _ [] px))
hunk ./PatchCommute.lhs 409
- -                      (Conflictor False (a ++ [b']) [px],
- -                       Conflictor False a [b])
+                      (Conflictor False (a ++ [b']) [] px,
+                       Conflictor False a [] b)
hunk ./PatchCommute.lhs 414
- -commute_multiway (Conflictor True [b] aip@(_:_:_),
- -                  Conflictor False aip' [b'])
- -    | b' `eq_patches` b && aip' `same_length` aip =
+commute_multiway (Conflictor True [b] a@(_:_) ip,
+                  Conflictor False aip@(_:_) [] b')
+    | b' `eq_patches` b && tail aip `same_length` a =
hunk ./PatchCommute.lhs 418
- -             reversed_list_head_permutations $ reverse aip' of
+             reversed_list_head_permutations $ reverse aip of
hunk ./PatchCommute.lhs 420
- -        ((_:a):_) | reverse a `eq_patchsequence` init aip ->
- -                      Succeeded (Conflictor False (reverse a) [b'], invert ip)
+        ((_:ra):_) | reverse ra `eq_patchsequence` a ->
+                      Succeeded (Conflictor False a [] b', invert ip)
hunk ./PatchCommute.lhs 424
- -    where ip = last aip
- -          [] `same_length` [] = True
- -          (_:x) `same_length` (_:y) = x `same_length` y
- -          _ `same_length` _ = False
hunk ./PatchCommute.lhs 426
- -commute_multiway (Conflictor False [b'] ax, Conflictor False a [b])
- -    | b' `eq_patches` b && length ax == length a + 1 =
- -        case filter (eq_patchsequence (reverse a) . tail) $
- -             reversed_list_head_permutations $ reverse ax of
- -        [] -> Unknown
- -        (ax'@(ix:_):_) -> Succeeded (Conflictor False
- -                                     (map invert $ reverse ax') [b], invert ix)
- -        _ -> impossible
+commute_multiway (Conflictor False [b'] a' x, Conflictor False a [] b)
+    | b' `eq_patches` b && a' `eq_patchsequence` a =
+        Succeeded (Conflictor False (a++[x]) [] b, x)
hunk ./PatchCommute.lhs 431
+same_length :: [a] -> [a] -> Bool
+[] `same_length` [] = True
+(_:x) `same_length` (_:y) = x `same_length` y
+_ `same_length` _ = False
+
hunk ./PatchCommute.lhs 440
- -fancy_repeated' (Conflictor inv xy abc@(_:_:_:_), Conflictor False a x@[_]) =
+fancy_repeated' (Conflictor inv xy ab@(_:_:_) c, Conflictor False a [] x) =
hunk ./PatchCommute.lhs 442
- -  bc <- match_the_first_patches a abc
- -  y <- match_the_first_patches x xy
- -  (_,y') <- commute_no_merger (join_patches y, join_patches x)
+  b <- match_the_first_patches a ab
+  y <- match_the_first_patches [x] xy
+  (_,y') <- commute_no_merger (join_patches y, x)
hunk ./PatchCommute.lhs 446
- -  return (Conflictor False a x, Conflictor inv (flatten y'') bc)
+  return (Conflictor False a [] x, Conflictor inv (flatten y'') b c)
hunk ./PatchCommute.lhs 449
- -fancy_repeated'' (Conflictor False a x@[_], Conflictor inv y'' bc@(_:_:_)) =
+fancy_repeated'' (Conflictor False a [] x, Conflictor inv y'' b@(_:_) c) =
hunk ./PatchCommute.lhs 452
- -  (_,y) <- commute_no_merger (y', invert $ join_patches x)
- -  return (Conflictor inv (x++flatten y) (a++bc), Conflictor False a x)
+  (_,y) <- commute_no_merger (y', invert x)
+  return (Conflictor inv (x:flatten y) (a++b) c, Conflictor False a [] x)
hunk ./PatchCommute.lhs 479
- -helper_force_commute (Conflictor False a [b], p) =
- -    (Conflictor True [b] aip, Conflictor False aip [b])
- -        where aip = a ++ [invert p]
+helper_force_commute (Conflictor False a [] b, p) =
+    (Conflictor True [b] a ip, Conflictor False (a++[ip]) [] b)
+    where ip = invert p
hunk ./PatchCommute.lhs 483
- -helper_force_commute (p1@(Conflictor True _ _), p) =
- -    (Conflictor True [p1] ip, Conflictor False ip [p1])
- -        where ip = [invert p]
+helper_force_commute (p1@(Conflictor True _ _ _), p) =
+    (Conflictor True [p1] [] ip, Conflictor False [ip] [] p1)
+        where ip = invert p
hunk ./PatchCommute.lhs 494
- -is_filepatch_merger (Conflictor _ a b) = do
+is_filepatch_merger (Conflictor _ a _ b) = do
hunk ./PatchCommute.lhs 496
- -     f2 <- is_filepatch_merger $ join_patches b
+     f2 <- is_filepatch_merger b
hunk ./PatchCommute.lhs 503
- -simple_commute_conflict (Conflictor False a [b], p) = toPerhaps $
+simple_commute_conflict (Conflictor False a [] b, p) = toPerhaps $
hunk ./PatchCommute.lhs 509
- -       Just (invert ip', Conflictor False (flatten ja') [b'])
- -simple_commute_conflict (p', Conflictor False a' [b']) = toPerhaps $
+       Just (invert ip', Conflictor False (flatten ja') [] b')
+simple_commute_conflict (p', Conflictor False a' [] b') = toPerhaps $
hunk ./PatchCommute.lhs 515
- -       Just (Conflictor False (flatten ja) [b], invert ip)
+       Just (Conflictor False (flatten ja) [] b, invert ip)
hunk ./PatchCommute.lhs 519
- -harder_commute_conflict (Conflictor False a b, p) = toPerhaps $
+harder_commute_conflict (Conflictor False a b@(_:_) c, p) = toPerhaps $
hunk ./PatchCommute.lhs 522
- -       (_, jb') <- commute_no_merger (join_patches b, p)
+       (p', jb') <- commute_no_merger (join_patches b, p)
hunk ./PatchCommute.lhs 524
- -       Just (p, Conflictor False (flatten ja') (flatten jb'))
- -harder_commute_conflict (p, Conflictor False a b) = toPerhaps $
+       (_, c') <- commute_no_merger (c, p')
+       commute_no_merger (c', invert p)
+       Just (p, Conflictor False (flatten ja') (flatten jb') c')
+harder_commute_conflict (p, Conflictor False a b@(_:_) c) = toPerhaps $
hunk ./PatchCommute.lhs 530
- -       (_, jb') <- commute_no_merger (join_patches b, invert p)
+       (ip', jb') <- commute_no_merger (join_patches b, invert p)
hunk ./PatchCommute.lhs 532
- -       Just (Conflictor False (flatten ja') (flatten jb'), p)
+       (_, c') <- commute_no_merger (c, ip')
+       commute_no_merger (c', p)
+       Just (Conflictor False (flatten ja') (flatten jb') c', p)
hunk ./PatchCommute.lhs 1164
- -submerge_in_dir dir (Conflictor inv a b) = Conflictor inv (sub a) (sub b)
+submerge_in_dir dir (Conflictor inv a b c) =
+    Conflictor inv (sub a) (sub b) (submerge_in_dir dir c)
hunk ./PatchCommute.lhs 1485
- -merger_equivalent (Conflictor False a [_]) =
+merger_equivalent (Conflictor False a [] _) =
hunk ./PatchCommute.lhs 1487
- -merger_equivalent (Conflictor True a [_]) =
+merger_equivalent (Conflictor True a [] _) =
hunk ./PatchCommute.lhs 1489
- -merger_equivalent (Conflictor _ _ _) = null_patch
+merger_equivalent (Conflictor _ _ _ _) = null_patch
hunk ./PatchCommute.lhs 1540
- -eq_patches_base _ (Conflictor i a b) (Conflictor i' a' b') =
- -    i == i' && a `same_patches` a' && b `same_last_eq` b'
+eq_patches_base _ (Conflictor i a b c) (Conflictor i' a' b' c') =
+    i == i' && a `same_patches` a' && b `same_patches` b' && c `eq_patches` c'
hunk ./PatchCommute.lhs 1584
- -compare_patches (Conflictor True a b) (Conflictor True a' b')
+compare_patches (Conflictor True a b c) (Conflictor True a' b' c')
hunk ./PatchCommute.lhs 1590
+      case compare_patches c c' of
+      LT -> LT
+      GT -> GT
+      EQ ->
hunk ./PatchCommute.lhs 1602
- -compare_patches c1@(Conflictor False _ _) c2@(Conflictor False _ _) =
+compare_patches c1@(Conflictor False _ _ _) c2@(Conflictor False _ _ _) =
hunk ./PatchCommute.lhs 1604
- -compare_patches (Conflictor True _ _) (Conflictor False _ _) = LT
- -compare_patches (Conflictor False _ _) (Conflictor True _ _) = GT
- -compare_patches (Conflictor _ _ _) _ = GT
- -compare_patches _ (Conflictor _ _ _) = LT
+compare_patches (Conflictor True _ _ _) (Conflictor False _ _ _) = LT
+compare_patches (Conflictor False _ _ _) (Conflictor True _ _ _) = GT
+compare_patches (Conflictor _ _ _ _) _ = GT
+compare_patches _ (Conflictor _ _ _ _) = LT
hunk ./PatchCommute.lhs 1625
- -same_patches a b | length a /= length b = False
+same_patches a b | not (a `same_length` b) = False
hunk ./PatchCommute.lhs 1632
- -
- -same_last_eq :: [Patch] -> [Patch] -> Bool
- -same_last_eq [] [] = bug "Can't take same_last_eq of empty lists."
- -same_last_eq a b = last a `eq_patches` last b && init a `same_patches` init b
hunk ./PatchCore.lhs 45
- -           | Conflictor Bool [Patch] [Patch]
+           | Conflictor Bool [Patch] [Patch] Patch
hunk ./PatchCore.lhs 235
- -invert (Conflictor inv a b) = Conflictor (not inv) a b
+invert (Conflictor inv a b c) = Conflictor (not inv) a b c
hunk ./PatchRead.lhs 231
- -       return $ Conflictor False a b
+       return $ Conflictor False a (init b) (last b)
hunk ./PatchRead.lhs 238
- -       return $ Conflictor True a b
+       return $ Conflictor True a (init b) (last b)
hunk ./PatchShow.lhs 59
- -showPatch (Conflictor inv a b) = showConflictor inv a b
+showPatch (Conflictor inv a b c) = showConflictor inv a b c
hunk ./PatchShow.lhs 251
- -showConflictor :: Bool -> [Patch] -> [Patch] -> Doc
- -showConflictor inv a b = redText startconfl
- -                         $$ vcat (map showPatch b)
- -                         $$ redText "with"
- -                         $$ vcat (map showPatch a)
- -                         $$ redText endconfl
+showConflictor :: Bool -> [Patch] -> [Patch] -> Patch -> Doc
+showConflictor inv a b c = redText startconfl
+                           $$ vcat (map showPatch (b++[c]))
+                           $$ redText "with"
+                           $$ vcat (map showPatch a)
+                           $$ redText endconfl
}

[replace eq_patchsequence with same_patches, and make same_patches faster.
David Roundy <droundy@abridgegame.org>**20050508115404
 We had two functions in PatchCommute that did the same thing...
] {
hunk ./PatchCommute.lhs 366
- -        ((_:ra):_) | reverse ra `eq_patchsequence` a ->
+        ((_:ra):_) | reverse ra `same_patches` a ->
hunk ./PatchCommute.lhs 373
- -    | b' `eq_patches` b && a' `eq_patchsequence` a =
+    | b' `eq_patches` b && a' `same_patches` a =
hunk ./PatchCommute.lhs 420
- -        ((_:ra):_) | reverse ra `eq_patchsequence` a ->
+        ((_:ra):_) | reverse ra `same_patches` a ->
hunk ./PatchCommute.lhs 427
- -    | b' `eq_patches` b && a' `eq_patchsequence` a =
+    | b' `eq_patches` b && a' `same_patches` a =
hunk ./PatchCommute.lhs 536
- -
- -eq_patchsequence :: [Patch] -> [Patch] -> Bool
- -eq_patchsequence a b
- -    | length a /= length b = False
- -    | otherwise = e a b
- -    where e (x:xs) y =
- -              case filter (eq_patches x . head) $ head_permutations y of
- -              ((_:ys):_) -> e xs ys
- -              _ -> False
- -          e [] [] = True
- -          e _ _ = impossible
hunk ./PatchCommute.lhs 1615
- -same_patches [] [] = True
- -same_patches cs (bb:bs) =
- -    case filter ((eq_patches bb) .head) $ head_permutations cs of
- -    ((_:cs'):_) -> same_patches cs' bs
- -    _ -> False
- -same_patches _ _ = impossible
+same_patches xs ys = sp xs ys
+    where sp cs (bb:bs) =
+              case filter ((eq_patches bb) .head) $ head_permutations cs of
+              ((_:cs'):_) -> sp cs' bs
+              _ -> False
+          sp [] [] = True
+          sp _ _ = impossible
}

Context:

[Improve questions asked while reverting
Erik Schnetter <schnetter@aei.mpg.de>**20050507081237] 
[Tweak selection code so 'a' has performance closer to --all
Ian Lynagh <igloo@earth.li>**20050506210026] 
[If we get to the end of the patches, we may as well calculate their length
Ian Lynagh <igloo@earth.li>**20050506020408] 
[Calculate number of patches with 'c'
Ian Lynagh <igloo@earth.li>**20050506015948] 
[Pass in number of patches (when easy) to select changes
Ian Lynagh <igloo@earth.li>**20050506014747] 
[Avoid extra patch selection pass in the simple (no restriction) case
Ian Lynagh <igloo@earth.li>**20050506010752] 
[Merge changes
Ian Lynagh <igloo@earth.li>**20050506004840] 
[Apply patch choice selection optimisation to other cases
Ian Lynagh <igloo@earth.li>**20050423023203] 
[Unsafe pull_firsts_middles optimisation
Ian Lynagh <igloo@earth.li>**20050412233738] 
[Override LC_ALL rather than LANG
Ian Lynagh <igloo@earth.li>**20050506010451] 
[use modules in configure test programms, fixes compilation with GHC-6.5
Benedikt Schmidt <beschmi@cloaked.de>**20050504133354] 
[fix test printer.pl for ascii art escape quoting highlighting
Tommy Pettersson <ptp@lysator.liu.se>**20050503164241] 
[make escape quotings in non-color mode stand out with ascii art
Tommy Pettersson <ptp@lysator.liu.se>**20050503125900] 
[bugfix, --tags didn't work in unpull and unrecord [RT#370]
Tommy Pettersson <ptp@lysator.liu.se>**20050503064130
 Patches are inverted during the unpull/unrecord selection, so the matcher
 would see 'UNDO:' as prefix to all names (except real undo patches that
 would have the 'UNDO:' removed).  Tags are identified by the prefix
 TAG, but their inverted form have the prefix 'UNDO: TAG' which is not
 recognized as a tag by the tag matcher.
 
 The fix is to (re)invert patches before the matcher is applied to them.
] 
[add new multiway commute algorithm.
David Roundy <droundy@abridgegame.org>**20050506123757
 This algorithm should work for simple three-way conflicting merges.  It
 now needs to be generalized to work in more complicated scenarios
 (e.g. four-way conflicts, multiway conflicts involving more than one patch
 in each conflicting sequence, etc).
] 
[simplify last_patch_can_be.
David Roundy <droundy@abridgegame.org>**20050505124235] 
[fix wrong uses of reversed_list_head_permutations (hopefully...).
David Roundy <droundy@abridgegame.org>**20050505113833] 
[a few unfinished cleanups in PatchCommute.
David Roundy <droundy@abridgegame.org>**20050505112829
 Just trying to get everything recorded before I fix the bugs I know exist
 because I forgot that all_head_patches worked on reversed lists.
] 
[rename head_permutations_normal_order to head_permutations.
David Roundy <droundy@abridgegame.org>**20050505112538
 This is the "normal" one that takes a list in ordinary order.
] 
[rename all_head_permutations to remind that it accepts a backwards-order list.
David Roundy <droundy@abridgegame.org>**20050505112201] 
[Updated my (Marnix Klooster's) canonical e-mail address.
Marnix Klooster <marnix.klooster@gmail.com>**20050502132900] 
[fix impossible case that was possible after all in PatchApply.
David Roundy <droundy@abridgegame.org>**20050502114355
 I was able to trigger this case in a darcs revert.  I don't think this
 modification will slow it down.
] 
[Unify presentation of path names
schnetter@aei.mpg.de**20050430163852
 Introduce a function formatPath in DarcsUtils that formats a path name
 nicely for presenting it to the user.  It puts quotes around the
 string, so that the user knows where the path name begins and ends,
 and escapces backslashes and quote characters.
] 
[handle empty path for ssh urls RT#205
Benedikt Schmidt <beschmi@cloaked.de>**20050430225359
 and remove duplicate / because the filename is always added
 to the directory with ++"/_darcs/filename"
] 
[attempted workaround for old Perl versions that don't understand UTF very well.
Mark Stosberg <mark@summersault.com>**20050430163606] 
[refactor
Mark Stosberg <mark@summersault.com>**20050430163230] 
[work around backslash problem in test scripts for better portability
Tommy Pettersson <ptp@lysator.liu.se>**20050428104835] 
[improve error message when unpull can't commute past pending
Tommy Pettersson <ptp@lysator.liu.se>**20050429210726
 The idea is to hint the user both to what the problem is and how to
 fix it.
] 
[improve error message when sftp fails RT#205
Benedikt Schmidt <beschmi@cloaked.de>**20050428235843
 explain that sftp doesn't expand ~ and don't show complete
 list of files
] 
[Make error message for moving a file to a non-added dir more clear
Thomas Zander <zander@kde.org>**20050428214347] 
[Fix offset bug in win32/System/Posix.hs
Josef Svenningsson <josef.svenningsson@gmail.com>**20050423164053] 
[add support for displaying patches with pager
Benedikt Schmidt <beschmi@cloaked.de>**20050429132148] 
[Remove AntiMemo
Ian Lynagh <igloo@earth.li>**20050427130333] 
[add -a option to unrevert
jani@iv.ro**20050425131337] 
[Fix typo
Ian Lynagh <igloo@earth.li>**20050428000517] 
[Merged exact match from stable and resolved conflicts
John Goerzen <jgoerzen@complete.org>**20050425183607] 
[Added new match type "exact"
John Goerzen <jgoerzen@complete.org>**20050425154735] 
[Updated documentation for matches to include new exact type
John Goerzen <jgoerzen@complete.org>**20050425154650] 
[Added documentation for existing author match
John Goerzen <jgoerzen@complete.org>**20050425154636] 
[updated wiki url format in error message
shae@ScannedInAvian.com**20050426233817] 
[Merge changes
Ian Lynagh <igloo@earth.li>**20050426231601] 
[Merge changes
Ian Lynagh <igloo@earth.li>**20050426230057] 
[typo fix
shae@ScannedInAvian.com**20050425192351] 
[change scannedinavian.org to darcs.net for the wiki move
shae@ScannedInAvian.com**20050425194044] 
[Switch version state back to unstable
Ian Lynagh <igloo@earth.li>**20050426225417] 
[TAG 1.0.3rc1
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050426002554] 
[bump version number to 1.0.3rc1 and update ChangeLog
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050426002535] 
[adjust version suffix for the stable repository
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050420121711] 
[canonize some contributors
Benedikt Schmidt <beschmi@cloaked.de>**20050426015933] 
[fix problem when editing long comments with nvi
Benedikt Schmidt <beschmi@cloaked.de>**20050426004750
 set stdin to blocking mode before calling the editor
 stdin needs to be evaluated before doing that
] 
[Describe "stats" option for list_authors
schnetter@aei.mpg.de**20050425231711] 
[optimize ColourPrinter, use constant Both-printables
Tommy Pettersson <ptp@lysator.liu.se>**20050426121219] 
[add functionality for DARCS_DONT_ESCAPE_TRAILING_CR in ColourPrinter
Tommy Pettersson <ptp@lysator.liu.se>**20050426121148] 
[document DARCS_DONT_ESCAPE_TRAILING_CR
Tommy Pettersson <ptp@lysator.liu.se>**20050411154138] 
[optimize ColourPrinter escape quoting
Tommy Pettersson <ptp@lysator.liu.se>**20050426115218] 
[optimize userchunkPrinter in ColourPrinter on fast packed strings
Tommy Pettersson <ptp@lysator.liu.se>**20050426114605] 
[add spanEndPS (and findFromEndUntilPS) to FastPackedString
Tommy Pettersson <ptp@lysator.liu.se>**20050410142338] 
[bugfix, don't skip rest of char escape tests in space-escape mode
Tommy Pettersson <ptp@lysator.liu.se>**20050409124637
 This worked because only spaces are escaped with poSpace set, but if
 that changes no non-spaces would have been esacped when poSpace is set.
] 
[Only go through file once when applying hunks
Ian Lynagh <igloo@earth.li>**20050424191033] 
[Avoid multiple file reads when applying hunks to a file
Ian Lynagh <igloo@earth.li>**20050418224517] 
[Avoid unnecessary lines/unlines of files when applying patches
Ian Lynagh <igloo@earth.li>**20050418200353] 
[update ChangeLog (colorization and escaping, --sendmail-command)
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050424204421] 
[simplify and extend fancy conflict code.
David Roundy <droundy@abridgegame.org>**20050424172129
 There are definitely still bugs in the fancy conflict code, but it now
 passes the test case which is included in unit.  So I'm recording the
 current state before I risk breaking it trying to fix some of the remaining
 bugs.
] 
[switch to new_elegant_merge for darcs-conflicts branch.
David Roundy <droundy@abridgegame.org>**20050424172101] 
[don't include binary patches in unit tests, since the check on such patches is buggy.
David Roundy <droundy@abridgegame.org>**20050424172003] 
[implement fancy repeated commute, and update testing to test this function.
David Roundy <droundy@abridgegame.org>**20050423182043] 
[fix bug where send --dry-run would sometimes prompt for an email address.
David Roundy <droundy@abridgegame.org>**20050423112043
 I also took this opportunity to clean up the code just a tad.  wants_output
 had no business being in the IO monad...
] 
[Correct ln -s call after building docs
Ian Lynagh <igloo@earth.li>**20050422205904] 
[Merge changes
Ian Lynagh <igloo@earth.li>**20050422205225] 
[preproc.hs: note that the result is automatically generated
Florian Weimer <fw@deneb.enyo.de>**20050408164946
 
 The note is inserted directly in front of the copyright message, which
 might look like a contradiction, but I don't think this is actually a
 problem.
] 
[Send.lhs: add seperator between email address and message
Florian Weimer <fw@deneb.enyo.de>**20050408160624
 
 Without the separator, the message is hard to read because it's not
 completely obvious where the email address begins.  (This is also
 helpful if darcs is ever localized.)
] 
[Send.lhs: clarify the pre-send message which contains the email address
Florian Weimer <fw@deneb.enyo.de>**20050408155141] 
[configure.ac: $HTLATEX does not really support -d, so use cd instead.
Florian Weimer <fw@deneb.enyo.de>**20050408153450
 
 In some versions of tex4ht, htlatex does not pass the -d argument to all
 the tex4ht programs it invokes.  This means that the files are created
 in the current directory, which has the unfortunate consequence of
 overwriting darcs.css.
] 
[add documentation for author match type in manual
Tommy Pettersson <ptp@lysator.liu.se>**20050418144257] 
[Avoid stack overflow on large binary patches.
peter@zarquon.se**20050417085200] 
[fix bug introduced in send where it always wanted a --to address.
David Roundy <droundy@abridgegame.org>**20050422122526] 
[resolve conflict with Ian.
David Roundy <droundy@abridgegame.org>**20050421125418] 
[in send --dry-run, state to whom we're sending.
David Roundy <droundy@abridgegame.org>**20050421110244] 
[Fix a readPatchPS that slipped through
Ian Lynagh <igloo@earth.li>**20050421021415] 
[Make sure we get to the end of files when reading them lazily
Ian Lynagh <igloo@earth.li>**20050417203702] 
[Add an import list
Ian Lynagh <igloo@earth.li>**20050417160435] 
[Improve laziness of get
Ian Lynagh <igloo@earth.li>**20050417160237] 
[Fix [PackedString]'s readInt
Ian Lynagh <igloo@earth.li>**20050417160006
 This is really covering up a bug in readIntPS where it'll run off the
 end of the PackedString if it's all digits. This can't happen in
 well-formed patches in a single PackedString, but should be fixed
 nevertheless.
] 
[readPatchFileLazily is really gzReadPatchFileLazily
Ian Lynagh <igloo@earth.li>**20050417153051] 
[Small tidy-up
Ian Lynagh <igloo@earth.li>**20050417130858] 
[Stringalike [PackedString]
Ian Lynagh <igloo@earth.li>**20050417023321] 
[Tidy up readPatchFileLazily
Ian Lynagh <igloo@earth.li>**20050416190856] 
[Remove inappropriate PS suffices
Ian Lynagh <igloo@earth.li>**20050416184739] 
[Don't put SCCs in Record or SelectChanges
Ian Lynagh <igloo@earth.li>**20050416160628] 
[Read the patch back as a string when recording to get laziness
Ian Lynagh <igloo@earth.li>**20050413034632] 
[Generalise patch reading. (functions will want renaming if this sticks)
Ian Lynagh <igloo@earth.li>**20050413034600] 
[Stringalike class
Ian Lynagh <igloo@earth.li>**20050413034412] 
[Implement gzReadFile
Ian Lynagh <igloo@earth.li>**20050413034302] 
[fix compile problem in darcs-conflicts.
David Roundy <droundy@abridgegame.org>**20050420122723] 
[Replace my_memrchr() with strrchr().
Ralph Corderoy <ralph@inputplus.co.uk>**20050417220534
 Given it's only ever called on a string, not an arbitrary lump of
 memory, my_memrchr() can be replaced with strrchr() which is in
 <string.h>.
] 
[use "C" rather than "c" for locale name (in tests/printer.pl)
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050417160250] 
[fix tests/printer.pl - in utf8 locales Perl was writing files in utf8
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050417160217] 
[Correct argument help for "darcs trackdown"
Erik Schnetter <schnetter@aei.mpg.de>**20050417145334] 
[TAG darcs unstable 2005-04-19
Ian Lynagh <igloo@earth.li>**20050419184928] 
[improve subcommute tests, simplifying and extending.
David Roundy <droundy@abridgegame.org>**20050419125213] 
[make test by default *compile* unit, and fix compile of unit.
David Roundy <droundy@abridgegame.org>**20050418123745] 
[increase frequency of conflicts in quickCheck tests.
David Roundy <droundy@abridgegame.org>**20050409193555] 
[TAG darcs-unstable before branching on conflicts stuff.
David Roundy <droundy@abridgegame.org>**20050419125815] 
Patch bundle hash:
608d801fd81a81f275b7215914e3e86a823c4f38
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCff4sQ6uZI9PVvOwRAkB0AKDPBkIrT0kpev4cJm5sw8o/8b42wgCgge2J
JPdMT6Y4zXWt8Z5rLU9tvwY=
=XZae
-----END PGP SIGNATURE-----


_______________________________________________
darcs-conflicts mailing list
darcs-conflicts@darcs.net
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-conflicts

.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic