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

List:       darcs-conflicts
Subject:    [darcs-conflicts] darcs patch: make new_elegant_merge return Patch
From:       David Roundy <droundy () abridgegame ! org>
Date:       2005-05-20 10:59:46
Message-ID: E1DZ5EI-0007B9-KN () localhost
[Download RAW message or body]

Fri May 20 06:57:30 EDT 2005  David Roundy <droundy@abridgegame.org>
  * make new_elegant_merge return Patch rather than Maybe Patch.

Fri May 20 06:58:25 EDT 2005  David Roundy <droundy@abridgegame.org>
  * add another conflictor_conflictor commute algorithm.
  I'm hoping that these two algorithms can be unified once I really
  understand them.

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

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


New patches:

[make new_elegant_merge return Patch rather than Maybe Patch.
David Roundy <droundy@abridgegame.org>**20050520105730] {
hunk ./PatchCommute.lhs 742
- -elegant_merge = new_elegant_merge
+elegant_merge = Just . new_elegant_merge
hunk ./PatchCommute.lhs 744
- -new_elegant_merge :: (Patch, Patch) -> Maybe Patch
+new_elegant_merge :: (Patch, Patch) -> Patch
hunk ./PatchCommute.lhs 749
- -                        then Just p1'
+                        then p1'
}

[add another conflictor_conflictor commute algorithm.
David Roundy <droundy@abridgegame.org>**20050520105825
 I'm hoping that these two algorithms can be unified once I really
 understand them.
] {
hunk ./PatchCommute.lhs 308
+                            clever_commute conflictor_conflictor_commute2 x,
hunk ./PatchCommute.lhs 324
+               clever_commute conflictor_conflictor_commute2 z,
hunk ./PatchCommute.lhs 409
+-- *+* is a sort of merging "union" operator.
+(*+*) :: [Patch] -> [Patch] -> [Patch]
+[] *+* b = b
+a *+* [] = a
+x *+* y = case sameheads x y of
+          Just (p,tx,ty) -> p : (tx *+* ty)
+          Nothing -> y ++ x'
+    where x' = flatten $ new_elegant_merge (join_patches x, join_patches y)
+          sameheads :: [Patch] -> [Patch] -> Maybe (Patch,[Patch],[Patch])
+          sameheads [a] [b] | a `eq_patches` b = Just (a,[],[])
+                            | otherwise = Nothing
+          sameheads _ [] = Nothing
+          sameheads [] _ = Nothing
+          sameheads a b = msum $ map (headsmatch a) $ head_permutations b
+          headsmatch :: [Patch] -> [Patch] -> Maybe (Patch,[Patch],[Patch])
+          headsmatch q p =
+              case filter (eq_patches (head p) . head) $ head_permutations q of
+              ((_:q'):_) -> Just (head p, tail p, q')
+              _ -> Nothing
+
+-- *-* is a "removal from context operator.  It's up to the user to ensure
+-- that the first patch is a superset of the second.
+(*-*) :: [Patch] -> [Patch] -> [Patch]
+a *-* b = case match_the_first_patches b a of
+          Just xmy -> flatten $ snd $ fromJust $
+                      commute (join_patches xmy, join_patches b)
+          Nothing -> bug "Improper use of the *-* operator!"
+
+conflictor_conflictor_commute2 :: CommuteFunction
+conflictor_conflictor_commute2 (Conflictor False [] x y z,
+                                Conflictor True [] b c d)
+    | first_patches_can_be y b && first_patches_can_be c x &&
+      not (first_patches_can_be yz b || first_patches_can_be cd x)
+          = Succeeded (Conflictor True [] bz c d,
+                       Conflictor False [] xd y z)
+    where yz = y ++ [z]
+          cd = c ++ [d]
+          bz = b *+* yz
+          xd = x *+* cd
+conflictor_conflictor_commute2 (Conflictor True [] bz c d,
+                                Conflictor False [] xd y z)
+    | first_patches_can_be cd xd && first_patches_can_be yz bz =
+        Succeeded (Conflictor False [] x y z,
+                   Conflictor True [] b c d)
+    where yz = y ++ [z]
+          cd = c ++ [d]
+          x = (xd *-* cd) *+* c
+          b = (bz *-* yz) *+* y
+conflictor_conflictor_commute2 (Conflictor False [] xd y z,
+                                Conflictor False [] b c d)
+    | first_patches_can_be cd xd =
+        Succeeded (Conflictor False [] bz c d,
+                   Conflictor False [] x y z)
+    where yz = y ++ [z]
+          cd = c ++ [d]
+          x = (xd *-* cd) *+* c
+          bz = b *+* yz
+conflictor_conflictor_commute2 _ = Unknown
+
hunk ./PatchCommute.lhs 523
+first_patches_can_be :: [Patch] -> [Patch] -> Bool
+first_patches_can_be xs ys = isJust $ match_the_first_patches xs ys
+
hunk ./PatchCommute.lhs 734
+     ("conflictor_2^2", clever_commute conflictor_conflictor_commute2),
hunk ./unit.lhs 75
- -     "move ./hello ./test",
+     "hunk ./foo 1",
+     "+A",
+     "hunk ./foo 1",
+     "-A",
+     "+B",
hunk ./unit.lhs 81
- -     "adddir ./test",
hunk ./unit.lhs 82
+     "hunk ./foo 1",
+     "+D",
hunk ./unit.lhs 89
- -     "addfile ./test",
+     "hunk ./foo 1",
+     "+C",
hunk ./unit.lhs 92
- -     "adddir ./test",
hunk ./unit.lhs 93
+     "hunk ./foo 1",
+     "+A",
+     "conflict",
+     "hunk ./foo 1",
+     "+D",
+     "with",
+     "hunk ./foo 1",
+     "+A",
+     "also",
+     "done_conflict",
}

Context:

[remove dirty flag and IO method from Slurpy.
David Roundy <droundy@abridgegame.org>**20050515103942
 These are no longer needed, since we have removed slurp_write and friends.
] 
[Merge changes
Ian Lynagh <igloo@earth.li>**20050515164404] 
[explain in replace help that replace is a special patch [RT#317]
Tommy Pettersson <ptp@lysator.liu.se>**20050512113444] 
[Remove dead code related to and including slurp_write
Ian Lynagh <igloo@earth.li>**20050513191928] 
[Remove slurpy writing from Resolution
Ian Lynagh <igloo@earth.li>**20050513191455] 
[Remove slurpy writing from Diff
Ian Lynagh <igloo@earth.li>**20050513184702] 
[Implement clonePaths
Ian Lynagh <igloo@earth.li>**20050513183651] 
[When reverting, make sure the patch is forced before we try to use skipped
Ian Lynagh <igloo@earth.li>**20050514135444] 
[add test for interactive revert [RT#387]
Tommy Pettersson <ptp@lysator.liu.se>**20050513075618] 
[improve description of commute tests.
David Roundy <droundy@abridgegame.org>**20050516124131] 
[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.
] 
[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] 
[resolve conflict with unstable unit testing stuff.
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050512095945] 
[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] 
[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] 
[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] 
[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.
] 
[Fix offset bug in win32/System/Posix.hs
Josef Svenningsson <josef.svenningsson@gmail.com>**20050423164053] 
[Remove AntiMemo
Ian Lynagh <igloo@earth.li>**20050427130333] 
[Merge changes
Ian Lynagh <igloo@earth.li>**20050426231601] 
[Switch version state back to unstable
Ian Lynagh <igloo@earth.li>**20050426225417] 
[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] 
[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] 
[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] 
[Merge changes
Ian Lynagh <igloo@earth.li>**20050422205225] 
[resolve conflict with Ian.
David Roundy <droundy@abridgegame.org>**20050421125418] 
[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] 
[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] 
[Remove tab
Ian Lynagh <igloo@earth.li>**20050419022849] 
[Extend the win32 Posix emulation
Josef Svenningsson <josef.svenningsson@gmail.com>**20050418171423
 Unfortunately win32 doesn't know anything about symbolic links so
 this patch simply ignores all symbol link stuff.
] 
[Avoid nested list appends when diffing
Ian Lynagh <igloo@earth.li>**20050416180306] 
[Avoid submerge_in_dir when diffing
Ian Lynagh <igloo@earth.li>**20050416170419] 
[More tweaking
Ian Lynagh <igloo@earth.li>**20050416160651] 
[More tweaks
Ian Lynagh <igloo@earth.li>**20050416025802] 
[Keep filenames reversed until we need them
Ian Lynagh <igloo@earth.li>**20050416011742] 
[Use getSymbolicLinkStatus more
Ian Lynagh <igloo@earth.li>**20050416002512] 
[Use getSymbolicLinkStatus to save on stat calls
Ian Lynagh <igloo@earth.li>**20050415235648] 
[Tweak SlurpDirectory
Ian Lynagh <igloo@earth.li>**20050415231336] 
[Tweak Diff.lhs
Ian Lynagh <igloo@earth.li>**20050415231250] 
[Rename get_first_middle__last_choice to separate_first_middle_from_last
Ian Lynagh <igloo@earth.li>**20050412214602] 
[Remove unnecessary code and withSignalsBlocked
Ian Lynagh <igloo@earth.li>**20050412005145] 
[Add verbose message for timestamp syncing
Ian Lynagh <igloo@earth.li>**20050411225806] 
[Remove verbose message that got copied elsewhere
Ian Lynagh <igloo@earth.li>**20050411225741] 
[Create and use applyPristine for recording patches
Ian Lynagh <igloo@earth.li>**20050411224757] 
[Avoid code duplication
Ian Lynagh <igloo@earth.li>**20050411212931] 
[Change a can't happen error to an impossible
Ian Lynagh <igloo@earth.li>**20050411212735] 
[Don't hold patch in memory when recording
Ian Lynagh <igloo@earth.li>**20050411025804] 
[Move the apply_to_slurpy deeper
Ian Lynagh <igloo@earth.li>**20050411013748] 
[get_first_middle__last_choice
Ian Lynagh <igloo@earth.li>**20050411013701] 
[The "David Is Lame" patch! (fixing bug in is_null_patch conflict resolution.)
David Roundy <droundy@abridgegame.org>**20050410135358
 I didn't bother to compile.  Now that I've switched to 'smoke testing'
 rather than testing on send, everyone gets to see the stupid things I
 do... Doh!
] 
[resolve conflict with stable on is_null_patch fix.
David Roundy <droundy@abridgegame.org>**20050410131116] 
[don't bother running unit for "normal" make test, and add slowtest target.
David Roundy <droundy@abridgegame.org>**20050409200128] 
[turns out we don't want "multiple" conflictors...
David Roundy <droundy@abridgegame.org>**20050409200107] 
[fix newlines in stringify.
David Roundy <droundy@abridgegame.org>**20050409154243] 
[No need to use C for Context
Ian Lynagh <igloo@earth.li>**20050409145935] 
[fix bug in is_null_patch that lead to false positive when resolving.
David Roundy <droundy@abridgegame.org>**20050409145947] 
[preproc.hs: Calculate the_commands from command_control_list
Florian Weimer <fw@deneb.enyo.de>**20050408143221
 
 This patch fixes a fallout from the command grouping patch which breaks
 building from scratch.
] 
[add warning to the docs for --reorder.
David Roundy <droundy@abridgegame.org>**20050409141855] 
[add trivial test for 'optimize --reorder-patches'
Mark Stosberg <mark@summersault.com>**20050408160306] 
[Guess at what the docs for --reorder-patches should be.
Mark Stosberg <mark@summersault.com>**20050408160103
 
 I would like help improving these to mention specific benefits for this command,
 and notes any drawbacks on running it as well. 
] 
[remove debug trace from lcs
Benedikt Schmidt <beschmi@cloaked.de>**20050408174913] 
[read patches lazily in Repair.
David Roundy <droundy@abridgegame.org>**20050409125642] 
[read patches lazily in Get.
David Roundy <droundy@abridgegame.org>**20050409125557] 
[make check read patches lazily.
David Roundy <droundy@abridgegame.org>**20050409124213
 This change (and the plan is to make more commands read patches lazily)
 reduces memory usage on a linux kernel repository with just one huge patch
 by close to a factor of two, from over 700m to less than 400m.
] 
[make apply_patches avoid using slurpy at all.
David Roundy <droundy@abridgegame.org>**20050409122312] 
[simplify read_repo_private code.
David Roundy <droundy@abridgegame.org>**20050409111931] 
[finish off implementation of apply.
David Roundy <droundy@abridgegame.org>**20050409104929] 
[eliminate pthreads dependency, writing gzipped files with gzWriteFilePSs.
David Roundy <droundy@abridgegame.org>**20050409000949] 
[resolve conflicts in darcs.lhs.
David Roundy <droundy@abridgegame.org>**20050408120053] 
[command grouping in darcs --help
peter@syncad.com**20050407211626
 This implements the grouping as it was originally proposed. Nobody realy
  indicated which gouping is better ... so I left the one I think is better.
] 
[resolve conflict in PatchShow's import from Printer
Tommy Pettersson <ptp@lysator.liu.se>**20050407235424] 
[add --reorder-patches option to optimize.
David Roundy <droundy@abridgegame.org>**20050408110344
 This is a pretty primitive --reorder implementation, which only tries to
 move all patches not included in the last tag to after that tag.  A smarter
 (but requiring more coding) solution would be to try to order all patches
 not included in the default (or sibling) repository such that they occur
 last.  I wouldn't be too hard, but would be just a bit more work, so I went
 with the simple method.
] 
[fix put.pl test to work with new put code.
David Roundy <droundy@abridgegame.org>**20050408104455] 
[resolve conflicts in Put.
David Roundy <droundy@abridgegame.org>**20050407132558] 
[No interactive patch selection in put (and other fixes)
Josef Svenningsson <josef.svenningsson@gmail.com>**20050406180405] 
[Fix spelling error
Josef Svenningsson <josef.svenningsson@gmail.com>**20050403220400] 
[rename Map module, add missing insertWith function
Benedikt Schmidt <beschmi@cloaked.de>**20050406210939] 
[add compatibility module between Data.Map and Data.FiniteMap, taken from Yi
Benedikt Schmidt <beschmi@cloaked.de>**20050406002216] 
[add hashPS to FastPackedString
Benedikt Schmidt <beschmi@cloaked.de>**20050405234517] 
[resolve conflict in unit.
David Roundy <droundy@abridgegame.org>**20050406120505] 
[replace Hunt/Szymanski diff algorithm with one by Myers
Benedikt Schmidt <beschmi@cloaked.de>**20050406005000] 
[make unit work with new ColourPrinters.
David Roundy <droundy@abridgegame.org>**20050406115006] 
[initial test for optimize
Mark Stosberg <mark@summersault.com>**20050403023609] 
[add --modernize-patches option to optimize.
David Roundy <droundy@abridgegame.org>**20050402201902] 
[get rid of tab in RemoteApply.
David Roundy <droundy@abridgegame.org>**20050401123126] 
[get rid of tabs in Put.lhs.
David Roundy <droundy@abridgegame.org>**20050401123114] 
[resolve conflict in Patch.
David Roundy <droundy@abridgegame.org>**20050401112959] 
[be a bit quicker in unit.
David Roundy <droundy@abridgegame.org>**20050330142629] 
[RT#225 - get rid of some warnings in the put.pl test
Mark Stosberg <mark@summersault.com>**20050320204357] 
[RT#225 - some first tests for 'put', including TODO tests for setting the default REPO
Mark Stosberg <mark@summersault.com>**20050320195440] 
[RT#225 - a better "do nothing" message for put.
Mark Stosberg <mark@summersault.com>**20050320175622
 
 No need to get sassy and tell the user what they want.
] 
[RT#225 - provide a more helpful message when 'put' fails
Mark Stosberg <mark@summersault.com>**20050320165530] 
[remove incorrect commute rule from simple_unforce.
David Roundy <droundy@abridgegame.org>**20050316134058] 
[give more detail in test_commute.
David Roundy <droundy@abridgegame.org>**20050316132849] 
[add missing newline to 'put'
Mark Stosberg <mark@summersault.com>**20050315011639] 
[make Patch export really_eq_patches.
David Roundy <droundy@abridgegame.org>**20050314135346] 
[change Conflictor data type to support multiple (as opposed to repeated) conflicts.
David Roundy <droundy@abridgegame.org>**20050313200940] 
[fix ghc 6.4 issue in SlurpDirectory.
David Roundy <droundy@abridgegame.org>**20050312130245] 
[resolve conflict in SlurpDirectory.
David Roundy <droundy@abridgegame.org>**20050311134239] 
[A new command: put
Josef Svenningsson <josef.svenningsson@gmail.com>**20050305153255] 
[Stylistic changes to Slurpy-pruning code (David's suggestions).
Kannan Goundan <kannan@cakoose.com>**20050306213842] 
[resolve conflict with symlink error message fix.
David Roundy <droundy@abridgegame.org>**20050305164054] 
[When creating replicas to run "diff" on, only copy what's necessary.
kannan@cakoose.com**20050303042827] 
[Added functions to selectively prune a Slurpy tree.
kannan@cakoose.com**20050303042606] 
[improve tests on commutation.
David Roundy <droundy@abridgegame.org>**20050302125743] 
[give more info when new_elegant_merge fails.
David Roundy <droundy@abridgegame.org>**20050302125717] 
[use commute_no_merger in simple_commute_conflict.
David Roundy <droundy@abridgegame.org>**20050302125640] 
[fix bugs and simplify code in conflictor commutation.
David Roundy <droundy@abridgegame.org>**20050302125452] 
[be more stubborn when running quickCheck tests patiently.
David Roundy <droundy@abridgegame.org>**20050224134503] 
[fix bug in new confictor commute code.
David Roundy <droundy@abridgegame.org>**20050219192453] 
[implement some of the conflictor commutation in a more testable manner.
David Roundy <droundy@abridgegame.org>**20050219164032
 This is the start to verifying individually that all the portions of the
 conflictor commutation are correct, since they form these little sets
 (which are checed in the unit test).
] 
[add a couple more commutation tests.
David Roundy <droundy@abridgegame.org>**20050214134235] 
[fix darcs-unstable to work with ghc 6.4.
David Roundy <droundy@abridgegame.org>**20050212162509] 
[extend subcommute tests.
David Roundy <droundy@abridgegame.org>**20050209135706] 
[add subcommutation tests.
David Roundy <droundy@abridgegame.org>**20050208135139] 
[fix commuteFP.
David Roundy <droundy@abridgegame.org>**20050208134536] 
[use DarcsIO classes for apply_to_filepaths.
David Roundy <droundy@abridgegame.org>**20050206142024] 
[new DarcsIO framework (as yet unused).
David Roundy <droundy@abridgegame.org>**20050205163008
 This new framework is intended to unify the current apply_to_slurpy and
 (hopefully) patch_check codes.  It also will allow us to apply a patch
 directly to a filesystem, without first slurping the directory.  This
 should allow (for example) faster gets.
 
 The code isn't yet complete.  Both PatchApply.apply and the instance of
 WriteableDirectory in SlurpDirectory are incomplete, but hopefully you can
 get an idea of where this is going.
 
 We may be able to replace many places where slurpies are used with code
 written in the ReadableDirectory monad.
] 
[use slurp_recordeds in Record.lhs.
David Roundy <droundy@abridgegame.org>**20050201125158] 
[add slurp_recordeds, which does multiple slurps simultaneously and efficiently.
David Roundy <droundy@abridgegame.org>**20050129114939] 
[start making commutation more modular...
David Roundy <droundy@abridgegame.org>**20050119132816
 This is the first step in making the commutation code easier to test piece
 by piece.  The change is the introductio of a Perhaps type, which indicates
 whether the commutation succeeded, failed, or if the algorithm doesn't know
 how to do the commutation.  This way each sub-commute function should
 create a group on sets of patches where the result isn't unknown (I may be
 getting my terminology here mixed up as to what is a group).
 
 In any case, the idea is that if A and B commute to A' and B', then A' and
 B' must commute back of course to A and B, and invert B and invert A had
 better commute to invert A' and invert B', etc, forming a closed set of
 patches (a group?).  And all these operations must be achieved with the
 same subcommute function, which means we can test that subcommute function
 in isolation from the rest of the algorithm.
 
 So you can expect some new QuickCheck tests to be coming up, which will
 operate on individual (hopefully, ideally) "primitive" commute functions,
 which will be as small as is possible while still consistent with the above
 properties.
] 
[fix bug in simple_commute_conflict.
David Roundy <droundy@abridgegame.org>**20050116144700] 
[implement backwards force_commuting.
David Roundy <droundy@abridgegame.org>**20050114125130] 
[fix bug in commuting secondary conflictors.
David Roundy <droundy@abridgegame.org>**20050111122439] 
[remove tests that ought to fail for conflictors.
David Roundy <droundy@abridgegame.org>**20050110134914] 
[fix check_patch on Conflictors.
David Roundy <droundy@abridgegame.org>**20050110134856] 
[fix commute bug in Conflictors.
David Roundy <droundy@abridgegame.org>**20050110134755] 
[Be less lazy at the end of lists
Ian Lynagh <igloo@earth.li>**20050109174414] 
[remove debug traces from PatchCommute.
David Roundy <droundy@abridgegame.org>**20050109142321] 
[fix bug in Conflictor commutation.
David Roundy <droundy@abridgegame.org>**20050109141251] 
[fix bug in Conflictor commutation of recursive conflicts.
David Roundy <droundy@abridgegame.org>**20050109131414] 
[conflictor code does need Control.Monad.when.
David Roundy <droundy@abridgegame.org>**20050108172544] 
[Infrastructure for lazy patch parsing
Ian Lynagh <igloo@earth.li>**20050104233618] 
[add Conflictor patch type.
David Roundy <droundy@abridgegame.org>**20050102154349] 
[TAG 1.0.3rc2
Tomasz Zielonka <tomasz.zielonka@gmail.com>**20050515085617] 
Patch bundle hash:
1334e55ef333bd7512c5fa0e677be3d7cce9e347
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCjcMcQ6uZI9PVvOwRAjQcAKDGctZIojMVpW9szu08cmoFSu3j0QCgtgoX
JtNdd4lRVJPG38+dgZbedZE=
=GD5q
-----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