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

List:       darcs-conflicts
Subject:    [darcs-conflicts] darcs patch: implement first stab at
From:       David Roundy <droundy () abridgegame ! org>
Date:       2005-05-16 12:41:09
Message-ID: E1DXeuD-0004uM-4X () localhost
[Download RAW message or body]

Mon May 16 08:38:19 EDT 2005  David Roundy <droundy@abridgegame.org>
  * implement first stab at conflictor-conflictor commutation.
  This is the first attempt using the [Xs,As;Bs,C] formulation of
  conflictors, and only handles the very simplest three-way conflicts.  My
  hope is that this can be readily extended to more complicated conflicts
  simply by generalizing to the situation where we *don't* have two empty
  lists in our conflictor.

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

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


New patches:

[implement first stab at conflictor-conflictor commutation.
David Roundy <droundy@abridgegame.org>**20050516123819
 This is the first attempt using the [Xs,As;Bs,C] formulation of
 conflictors, and only handles the very simplest three-way conflicts.  My
 hope is that this can be readily extended to more complicated conflicts
 simply by generalizing to the situation where we *don't* have two empty
 lists in our conflictor.
] {
hunk ./PatchCommute.lhs 276
- -              --fancy_repeated                                (p2, p1),
hunk ./PatchCommute.lhs 307
- -                            --clever_commute commute_multiway x,
+                            clever_commute conflictor_conflictor_commute x,
hunk ./PatchCommute.lhs 322
- -               --clever_commute commute_multiway z,
+               clever_commute conflictor_conflictor_commute z,
hunk ./PatchCommute.lhs 407
- --- -- Handle commutation of multiway conflicts... (requires clever_commute)
- --- commute_multiway :: (Patch,Patch) -> Perhaps (Patch,Patch)
- --- commute_multiway (Conflictor False a [] b, Conflictor True a' [] c)
- ---     | a `same_patches` a' =
- ---     Succeeded (Conflictor True ba [] c, Conflictor False ca [] b)
- ---         where ba = a ++ [merge_patch_after_patches b a]
- ---               ca = a ++ [merge_patch_after_patches c a]
- --- commute_multiway (Conflictor True ba [] c, Conflictor False ca [] b)
- ---     | length ba == length ca &&
- ---       first_patch_can_be b ba && first_patch_can_be c ca =
- ---       case filter (eq_patches c . head) $ head_permutations ca of
- ---       ((_:a_post_c):_) ->
- ---           case filter (eq_patches b . head) $ head_permutations ba of
- ---           ((_:a_post_b):_) ->
- ---               let a=flatten $ snd $ force_commute (join_patches a_post_c,c)
- ---                   a'=flatten $ snd $ force_commute (join_patches a_post_b,b)
- ---                     in 
- ---               if same_patches a a'
- ---               then Succeeded (Conflictor False a [] b, Conflictor True a [] c)
- ---               else Unknown
- ---           _ -> impossible
- ---       _ -> impossible
- --- commute_multiway (Conflictor False ap@(_:_:_) [] b,
- ---                   p@(Conflictor False _ [] px))
- ---     | last_patch_can_be p ap = -- FIXME: inefficient
- ---         case filter (eq_patches p . head) $
- ---              reversed_list_head_permutations $ reverse ap of
- ---         ((_:ra):_) -> Succeeded
- ---                       (Conflictor False (a ++ [b']) [] px,
- ---                        Conflictor False a [] b)
- ---                       where a = reverse ra
- ---                             b' = merge_patch_after_patches b a
- ---         _ -> impossible
- --- commute_multiway (Conflictor True [b] a@(_:_) ip,
- ---                   Conflictor False aip@(_:_) [] b')
- ---     | b' `eq_patches` b && tail aip `same_length` a =
- ---         case filter (eq_patches ip . head) $
- ---              reversed_list_head_permutations $ reverse aip of
- ---         [] -> Unknown
- ---         ((_:ra):_) | reverse ra `same_patches` a ->
- ---                       Succeeded (Conflictor False a [] b', invert ip)
- ---                   | otherwise -> Unknown
- ---         _ -> impossible
- --- -- The following pattern is needed for commuting with patch and its
- --- -- inverse.
- --- commute_multiway (Conflictor False [b'] a' x, Conflictor False a [] b)
- ---     | b' `eq_patches` b && a' `same_patches` a =
- ---         Succeeded (Conflictor False (a++[x]) [] b, x)
- --- commute_multiway _ = Unknown
+conflictor_conflictor_commute :: CommuteFunction
+conflictor_conflictor_commute (Conflictor False a [] [] d,
+                               Conflictor True a_ [] [] f)
+ | a `same_patches` a_ =
+     Succeeded (Conflictor True [] (a++[Conflictor False a [] [] d]) [] f,
+                Conflictor False [] (a++[Conflictor False a [] [] f]) [] d)
+conflictor_conflictor_commute (Conflictor True [] a_d [] f,
+                               Conflictor False [] a_f [] d)
+    | a_d `same_length` a_f =
+    case filter matches_d $ reversed_list_head_permutations $ reverse a_d of
+    [] -> Unknown
+    ((Conflictor False a [] [] _:_):_) ->
+        case filter (matches_f_and a) $
+             reversed_list_head_permutations $ reverse a_f of
+        [] -> Unknown
+        (_:_) -> Succeeded (Conflictor False a [] [] d,
+                            Conflictor True a [] [] f)
+    _ -> impossible
+    where matches_d (Conflictor False aa [] [] d_:raa) =
+              d_ `eq_patches` d && aa `same_patches` reverse raa
+          matches_d _ = False
+          matches_f_and :: [Patch] -> [Patch] -> Bool
+          matches_f_and aa (Conflictor False aa_ [] [] f_:raa_) =
+              f_ `eq_patches` f && aa_ `same_patches` aa &&
+              aa `same_patches` reverse raa_
+          matches_f_and _ _ = False
+conflictor_conflictor_commute (Conflictor False [] a_f@(_:_) [] d,
+                               cf@(Conflictor False a [] [] f))
+    | a `same_length` tail a_f && last_patch_can_be cf a_f =
+        case filter (eq_patches cf . head) $
+             reversed_list_head_permutations $ reverse a_f of
+        ((_:ra):_) | reverse ra `same_patches` a ->
+                       Succeeded (Conflictor False [] (a++[cd]) [] f, cd)
+                           where cd = Conflictor False a [] [] d
+        _ -> impossible
+conflictor_conflictor_commute _ = Unknown
hunk ./PatchCommute.lhs 449
- --- fancy_repeated, fancy_repeated', fancy_repeated'' :: CommuteFunction
- --- fancy_repeated x = clever_commute fancy_repeated' x `mplus`
- ---                    clever_commute fancy_repeated'' x
- -
- --- fancy_repeated' (Conflictor inv xy ab@(_:_:_) c, Conflictor False a [] x) =
- ---   maybe_to_perhaps $ do
- ---   b <- match_the_first_patches a ab
- ---   y <- match_the_first_patches [x] xy
- ---   (_,y') <- commute_no_merger (join_patches y, x)
- ---   (_,y'') <- commute_no_merger (y', invert $ join_patches a)
- ---   return (Conflictor False a [] x, Conflictor inv (flatten y'') b c)
- --- fancy_repeated' _ = Unknown
- -
- --- fancy_repeated'' (Conflictor False a [] x, Conflictor inv y'' b@(_:_) c) =
- ---   maybe_to_perhaps $ do
- ---   (_,y') <- commute_no_merger (join_patches y'', join_patches a)
- ---   (_,y) <- commute_no_merger (y', invert x)
- ---   return (Conflictor inv (x:flatten y) (a++b) c, Conflictor False a [] x)
- --- fancy_repeated'' _ = Unknown
- -
hunk ./PatchCommute.lhs 670
- -    -- ("multiway conflicts", clever_commute commute_multiway),
- -    -- ("fancy conflicts", fancy_repeated),
+     ("conflictor^2", clever_commute conflictor_conflictor_commute),
hunk ./unit.lhs 83
- -    ["rmfile ./hello"]
+    ["conflict",
+     "addfile ./test",
+     "with",
+     "adddir ./test",
+     "also",
+     "done_conflict"]
hunk ./unit.lhs 91
- -testnum = 5
+testnum = 6
}

Context:

[implement repeated_(un)?force.
David Roundy <droundy@abridgegame.org>**20050514123705
 God willing, all we need after this is the commutation of conflictors with
 other conflictors.
] 
[remove commented-out harder_commute_conflict.
David Roundy <droundy@abridgegame.org>**20050514111514] 
[remove unneeded workaround tip for nvi from manual
Tommy Pettersson <ptp@lysator.liu.se>**20050512190248
 The problem was fixed in the patch:
 Tue Apr 26 02:47:50 CEST 2005  Benedikt Schmidt <beschmi@cloaked.de>
   * fix problem when editing long comments with nvi
] 
[Cope with older GHCs that don't have createDirectoryIfMissing
Ian Lynagh <igloo@earth.li>**20050513232827] 
[Remove slurpy writing from Match
Ian Lynagh <igloo@earth.li>**20050513001914] 
[Functions to copy partial pristines and directory trees
Ian Lynagh <igloo@earth.li>**20050512234741] 
[Provide createPristineFromWorking rather than writePristine
Ian Lynagh <igloo@earth.li>**20050512211422] 
[Remove now-unused mmap_slurp_all_but_darcs
Ian Lynagh <igloo@earth.li>**20050512200516] 
[Remove more slurpy stuff from Get
Ian Lynagh <igloo@earth.li>**20050512200453] 
[Implement cloneTreeExcept
Ian Lynagh <igloo@earth.li>**20050512195156] 
[Remove some slurpy writing from Get
Ian Lynagh <igloo@earth.li>**20050512194727] 
[Use withRecorded in Dist
Ian Lynagh <igloo@earth.li>**20050512015113] 
[Rejig createPristineDirectoryTree for easier reuse
Ian Lynagh <igloo@earth.li>**20050511182848] 
[cloneTree now wants an existing directory as dest, rather than non-existing
Ian Lynagh <igloo@earth.li>**20050511182055] 
[Use withRecorded in TrackDown
Ian Lynagh <igloo@earth.li>**20050511175827] 
[Use withRecorded in Repository
Ian Lynagh <igloo@earth.li>**20050511175814] 
[Don't read tempdir_loc if we don't need it
Ian Lynagh <igloo@earth.li>**20050510211725] 
[Remove the = in a flag to make old ghc's happy
Ian Lynagh <igloo@earth.li>**20050513141859] 
[convert to four-argument conflictor (compiles but far from test-passing).
David Roundy <droundy@abridgegame.org>**20050514110750
 This is a major change in the representation and meaning of conflictors.
 It implements the notation I introduced on darcs-conflicts in a reply to
 Ian, which looks like [Xs,As;Bs,C], being equivalent in effect to inv(Xs).
 I'm optimistic that this will greatly simplify the commutation.
 
 So far, I've only implemented the creation of such patches
 (simple_(un)?force), and their commutation with commuting non-conflictors.
] 
[Remove a FIXME comment that has been fixed
Ian Lynagh <igloo@earth.li>**20050513011105] 
[some new ChangeLog entries
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512210508] 
[make_changelog.hs: use renderStyle instead of show, etc
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512210424] 
[make_changelog.hs: use fsep to word-wrap ChangeLog entries
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512201026] 
[resolve conflict with unstable unit testing stuff.
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512095945] 
[make_changelog.hs: make stylistic changes suggested by Ian Lynagh
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512093732] 
[make_changelog.hs: use match_parser in entry for better error messages
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512093718] 
[make_changelog.hs: use formatCalendarTime to show tag dates
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512085640] 
[export match_parser from PatchMatch
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512083548] 
[automatically generate ChangeLog if we're in a darcs repository.
David Roundy <droundy@abridgegame.org>**20050511112615] 
[bugfix - make ChangeLog creation really atomic
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050511213435] 
[make_changelog: don't warn about unmatched entries when there are none
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050511205602] 
[fix failure to compile make_changelog with ghc 6.4
David Roundy <droundy@abridgegame.org>**20050511112227
 (multiple imports of liftM etc).
] 
[make ChangeLog generation atomic
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050511204254] 
[Created file for ChangeLog entries added by myself
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050511144029] 
[convert ChangeLog entries since 1.0.2 to a ChangeLog entry database format
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050511104044] 
[auto-generate ChangeLog
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050511104006
 ChangeLog is generated from a database of ChangeLog entries and current
 repo history. Each ChangeLog entry consists of a description and a set
 of PatchMatch matchers. The entry goes into the ChangeLog as soon as all
 the matchers are satisfied.
] 
[add make_changelog, a tool to auto-generate ChangeLog
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050511100512] 
[write about dependencies, branches, conflicts and merging in best_practices
Tommy Pettersson <ptp@lysator.liu.se>**20050511151349] 
[Implement withRecorded
Ian Lynagh <igloo@earth.li>**20050511174853] 
[Use withRecorded in Test
Ian Lynagh <igloo@earth.li>**20050511013028] 
[Be more sensible with exceptions from getSymbolicLinkStatus
Ian Lynagh <igloo@earth.li>**20050511002356] 
[Replace test_slurpy with test_patch
Ian Lynagh <igloo@earth.li>**20050510225229] 
[Remove slurp_write_dirty and slurp_write_and_read_dirty
Ian Lynagh <igloo@earth.li>**20050509221350] 
[Eliminate slurp_write_and_read_dirty from Match
Ian Lynagh <igloo@earth.li>**20050509220731] 
[Eliminate slurp_write_dirty from Apply
Ian Lynagh <igloo@earth.li>**20050509215506] 
[Eliminate slurp_write_dirty from Resolve
Ian Lynagh <igloo@earth.li>**20050509215033] 
[Eliminate slurp_write_dirty from Pull
Ian Lynagh <igloo@earth.li>**20050509214359] 
[Remove write_dirty_Pristine
Ian Lynagh <igloo@earth.li>**20050509211958] 
[Eliminate write_dirty_Pristine from Unrecord
Ian Lynagh <igloo@earth.li>**20050509211418] 
[Eliminate write_dirty_Pristine from Rollback
Ian Lynagh <igloo@earth.li>**20050509210924] 
[Eliminate write_dirty_Pristine from Pull
Ian Lynagh <igloo@earth.li>**20050509210454] 
[Eliminate slurp_write_dirty from Revert
Ian Lynagh <igloo@earth.li>**20050509205619] 
[Eliminate slurp_write_dirty from Unrevert
Ian Lynagh <igloo@earth.li>**20050509205051] 
[Eliminate slurp_write_dirty from Unrecord
Ian Lynagh <igloo@earth.li>**20050509203955] 
[Eliminate slurp_write_dirty from Replace
Ian Lynagh <igloo@earth.li>**20050509195038] 
[Eliminate write_dirty_Pristine from AmendRecord
Ian Lynagh <igloo@earth.li>**20050508160258] 
[Eliminate slurp_write_dirty from Trackdown
Ian Lynagh <igloo@earth.li>**20050508151427] 
[Eliminate write_dirty_Pristine from Apply
Ian Lynagh <igloo@earth.li>**20050508150729] 
[Eliminate slurp_write_dirty from Get
Ian Lynagh <igloo@earth.li>**20050508145207] 
[Remove doubled space
Ian Lynagh <igloo@earth.li>**20050508125407] 
[allow my-home-relative ssh paths
zooko@zooko.com**20050429185858] 
[fix the test for unset variable
zooko@zooko.com**20050429185756] 
[remove my local path
zooko@zooko.com**20050429185749] 
[make sure darcs binary dir is on path, move EDITME variables to the top
zooko@zooko.com**20050429170755] 
[prefix putty binary dir to path
zooko@zooko.com**20050429164900] 
[fix cygwin-wrapper.bash to not convert ssh "remote location" arguments
zooko@zooko.com**20050429164007] 
[TAG darcs unstable 2005-05-09
Ian Lynagh <igloo@earth.li>**20050509222002] 
[fix bug in three-way merge and commute of mergers.
David Roundy <droundy@abridgegame.org>**20050507133829
 Alas, this does *not* appear to fix the problem with darcs-stable and
 darcs-unstable and merger patch reorderings which has shown up recently.
] 
[fix bug in repeated_unforce.
David Roundy <droundy@abridgegame.org>**20050508125607
 I'm not sure whether this bug dates from my all_head_permutations changes,
 or from the Conflictor constructor changes.
] 
[switch testnum to fancy so our test commute will pass in unit.
David Roundy <droundy@abridgegame.org>**20050508120803] 
[update PatchTest to work with new Conflictor constructor.
David Roundy <droundy@abridgegame.org>**20050508120026] 
[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...
] 
[modify Conflictor to match [A;B,C] notation, which also makes it a bit more efficient.
David Roundy <droundy@abridgegame.org>**20050508114131] 
[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:
8431f06419cdda2b42e0659dc5d9bce4f40b407f
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCiJThQ6uZI9PVvOwRAsnvAJ0b6p2ZanvJNbqbuDV4HcY9dEOeYACg8NWv
sPuysWMl+Td5A+YSntEX4fY=
=ZXwX
-----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