Fri Sep 26 00:58:01 BST 2008  Eric Kow <[EMAIL PROTECTED]>
  * Resolve issue1102: Ignore future 'junk' fields in patch logs.
  
  This patch provides some forward-compatibility with a feature that is
  planned for a future release of darcs.
  
  On 2008-09-17 David submitted the following patch
    resolve issue27: add junk to patch identifiers.
  which will not be included the darcs 2.1.0 feature-freeze.  The patch
  in question adds some extra 'junk' to the patch log in order to minimise
  the risk of a patch-id collision.
  
  This patch was obtained by unrecording David's patch and reverting the
  parts that generate the junk, leaving behind only the parts that hide
  the junk from view.

Fri Sep 26 00:59:36 BST 2008  Eric Kow <[EMAIL PROTECTED]>
  * Fix conflict between issue27 and issue1102 patches.

New patches:

[Resolve issue1102: Ignore future 'junk' fields in patch logs.
Eric Kow <[EMAIL PROTECTED]>**20080925235801
 
 This patch provides some forward-compatibility with a feature that is
 planned for a future release of darcs.
 
 On 2008-09-17 David submitted the following patch
   resolve issue27: add junk to patch identifiers.
 which will not be included the darcs 2.1.0 feature-freeze.  The patch
 in question adds some extra 'junk' to the patch log in order to minimise
 the risk of a patch-id collision.
 
 This patch was obtained by unrecording David's patch and reverting the
 parts that generate the junk, leaving behind only the parts that hide
 the junk from view.
] conflictor [
hunk ./src/Darcs/Patch/Info.lhs 28
+import System.Random ( randomRIO )
+import Numeric ( showHex )
+import Data.List ( isPrefixOf )
+
]
:
hunk ./src/Darcs/Patch/Info.lhs 28
+
+import Data.List ( isPrefixOf )
+
conflictor [
hunk ./src/Darcs/Patch/Info.lhs 57
-    PatchInfo { _pi_date = packString date
-              , _pi_name = packString name
-              , _pi_author = packString author
-              , _pi_log = map packString log
-              , is_inverted = False }
+    add_junk $ PatchInfo { _pi_date = packString date
+                         , _pi_name = packString name
+                         , _pi_author = packString author
+                         , _pi_log = map packString log
+                         , is_inverted = False }
+
+add_junk :: PatchInfo -> IO PatchInfo
+add_junk pinf =
+    do x <- randomRIO (0,2^(128 ::Integer) :: Integer)
+       return $ pinf { _pi_log = packString (head ignored++showHex x ""):
+                                 ignore_junk (_pi_log pinf) }
+
+ignored :: [String] -- this is a [String] so we can change the junk header.
+ignored = ["Ignore-this: "]
+
+ignore_junk :: [PackedString] -> [PackedString]
+ignore_junk = filter isnt_ignored
+    where isnt_ignored x = doesnt_start_with (unpackPS x) ignored
+          doesnt_start_with x ys = not $ any (`isPrefixOf` x) ys
+
]
:
hunk ./src/Darcs/Patch/Info.lhs 62
+
+ignored :: [String] -- this is a [String] so we can change the junk header.
+ignored = ["Ignore-this: "]
+
+ignore_junk :: [PackedString] -> [PackedString]
+ignore_junk = filter isnt_ignored
+    where isnt_ignored x = doesnt_start_with (unpackPS x) ignored
+          doesnt_start_with x ys = not $ any (`isPrefixOf` x) ys
+
duplicate
hunk ./src/Darcs/Patch/Info.lhs 84
- $$ vcat (map ((text "  " <>) . packedString) (ignore_junk $ _pi_log pi))
+ $$ vcat (map ((text "  " <>) . packedString) (_pi_log pi))
:
hunk ./src/Darcs/Patch/Info.lhs 84
- $$ vcat (map ((text "  " <>) . packedString) (_pi_log pi))
+ $$ vcat (map ((text "  " <>) . packedString) (ignore_junk $ _pi_log pi))
[Fix conflict between issue27 and issue1102 patches.
Eric Kow <[EMAIL PROTECTED]>**20080925235936] hunk ./src/Darcs/Patch/Info.lhs 28
                           showPatchInfo,
                         ) where
 import Text.Html hiding (name, text)
+
+import System.Random ( randomRIO )
+import Numeric ( showHex )
+import Data.List ( isPrefixOf )
+
 import FastPackedString
 import Printer ( renderString, Doc, packedString,
                  empty, ($$), (<>), (<+>), vcat, text, blueText, prefix )
hunk ./src/Darcs/Patch/Info.lhs 62
 
 patchinfo :: String -> String -> String -> [String] -> IO PatchInfo
 patchinfo date name author log =
-    PatchInfo { _pi_date = packString date
-              , _pi_name = packString name
-              , _pi_author = packString author
-              , _pi_log = map packString log
-              , is_inverted = False }
+    add_junk $ PatchInfo { _pi_date = packString date
+                         , _pi_name = packString name
+                         , _pi_author = packString author
+                         , _pi_log = map packString log
+                         , is_inverted = False }
+
+add_junk :: PatchInfo -> IO PatchInfo
+add_junk pinf =
+    do x <- randomRIO (0,2^(128 ::Integer) :: Integer)
+       return $ pinf { _pi_log = packString (head ignored++showHex x ""):
+                                 ignore_junk (_pi_log pinf) }
+
+ignored :: [String] -- this is a [String] so we can change the junk header.
+ignored = ["Ignore-this: "]
+
+ignore_junk :: [PackedString] -> [PackedString]
+ignore_junk = filter isnt_ignored
+    where isnt_ignored x = doesnt_start_with (unpackPS x) ignored
+          doesnt_start_with x ys = not $ any (`isPrefixOf` x) ys
+
 \end{code}
 
 \section{Patch info formatting}

Context:

[TAG 2.1.0pre2
Eric Kow <[EMAIL PROTECTED]>**20080925081049
 Ignore-this: 99b608f2401e8f14358e121e9b95e211
] 
[Bump version number to 2.1.0pre2.
Eric Kow <[EMAIL PROTECTED]>**20080925081019
 Ignore-this: 9d1aa701ce0b8cfc87007216207166fe
 It was initially planned that the upcoming release be called 2.0.3, but
 since we are initializing darcs-2 format repositories by default, we are
 bumping the version number higher.
] 
[ChangeLog entries for 2.1.0pre2
Eric Kow <[EMAIL PROTECTED]>**20080925080141
 Ignore-this: 1b1e57d425f8528e00e03e7b4a23ad78
] 
[ChangeLog entries: more stuff to ignore
Eric Kow <[EMAIL PROTECTED]>**20080925080129
 Ignore-this: 45362ed8bbabdacf222928cba6756aa4
] 
[resolve issue805: make darcs-2 format the default for new repositories.
David Roundy <[EMAIL PROTECTED]>**20080924141158
 Ignore-this: e7952cb0cdc3124ffa50b0775822000e
] 
[make flagsToPristine obey repository format.
David Roundy <[EMAIL PROTECTED]>**20080924135319
 Ignore-this: 6038a7d05126af9e446406022ca608a0
 This reduces the number of places we set the default repository format
 (hopefully to one?).
] 
[More readable length comparison.
Eric Kow <[EMAIL PROTECTED]>**20080924142304] 
[Haddock some primitive patch functions.
Eric Kow <[EMAIL PROTECTED]>**20080924142157] 
[move issue27 test to bugs directory, since it fails.
David Roundy <[EMAIL PROTECTED]>**20080923215936
 Ignore-this: 4556b273a9f8728de8ac855aae8442d0
] 
[Add test for issue27.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080918135923] 
[give more useful failure message in HTTP for proxy errors.
David Roundy <[EMAIL PROTECTED]>**20080923153400
 Ignore-this: 3d6d204da399175eedf68bedfed8e504
] 
[HTTP: detect proxy server (failing if we want one)
Eric Kow <[EMAIL PROTECTED]>**20080923123539
 The HTTP package has proxy server support, but putting it to use seems
 to be complicated.  Since fetchUrl seems to be used only in optional
 situations, it seems safe to just return an error message (as opposed
 to waiting around for a timeout).
] 
[fix filepath code to work with FilePath package that preceded filepath.
[EMAIL PROTECTED]
 Ignore-this: 6aa0d8b357b0f966403ebe5965dcdec4
] 
[fix type witness bug in createRepository.
David Roundy <[EMAIL PROTECTED]>**20080922234321
 Ignore-this: 2c50393ca25740ce3e210dd24fe8d8fa
] 
[simplify fix for issue1041.
David Roundy <[EMAIL PROTECTED]>**20080922233019
 Ignore-this: a3002e9bba5271790c62ac634e08f472
 It turns out that the simple solution works once a bug in the
 conflict-doppleganger test was fixed!
] 
[translate conflict-doppleganger test to bash.
David Roundy <[EMAIL PROTECTED]>**20080922232839
 Ignore-this: de2a050022dea4251cdc2cc5e8b55c8c
] 
[remove test_unit from disttest to speed things up.
David Roundy <[EMAIL PROTECTED]>**20080922225355
 Ignore-this: b3b21bcd3fa72c8d602b5bd0e601021a
 The unit test is only affected by very rarely-modified code, and it's
 overkill to run it absolutely every single time we push code
 (particularly as it sometimes takes exponentially long to generate its
 test cases).
] 
[resolve issue1041: add test for issue1041.
David Roundy <[EMAIL PROTECTED]>**20080922183320
 Ignore-this: 5a6330158d16a24d45f58268c0edb823
 Note that this issue was actually resolved by Vlad Dogaru.  I just
 wrote the test.
] 
[Get: if URL is invalid, direcotry is not created (#1041)
Vlad Dogaru <[EMAIL PROTECTED]>**20080922171705] 
[Add a test case for issue1078
Eric Kow <[EMAIL PROTECTED]>**20080923081757
 Ignore-this: 33f7f1f63c7b707ff148531f8229ceb0
] 
[Translate mark-conflicts test into shell.
Eric Kow <[EMAIL PROTECTED]>**20080922224858
 It was failing because it expects init to be completely silent.  Since we
 were going to tweak it anyway, we might as well simplify the script.
] 
[Stop calling the darcs-2 format experimental.
Eric Kow <[EMAIL PROTECTED]>**20080922221024] 
[Move repository creation to Darcs.Repository.
Eric Kow <[EMAIL PROTECTED]>**20080922215913
 This is just to avoid importing the DarcsRepo and HashedRepo code in higher
 level code.
] 
[Resolve conflict between replace patches in Darcs.Arguments
Eric Kow <[EMAIL PROTECTED]>**20080922202647] 
[Resolve issue53: check for windows filename validity in darcs add/mv.
Eric Kow <[EMAIL PROTECTED]>**20080922172004] 
[Use --reserved-ok to allow a file with ':' in it in tests.
Eric Kow <[EMAIL PROTECTED]>**20080922171519
 It's likely that this test will just fail under Windows and
 we will have to disable it.
] 
[Add test for issue53.
Eric Kow <[EMAIL PROTECTED]>**20080922152256] 
[Add --reserved-ok flag for darcs add and mv.
Eric Kow <[EMAIL PROTECTED]>**20080922141532
 This is just the flag, not the actual effect.
] 
[Check for filepath package in configure.
Eric Kow <[EMAIL PROTECTED]>**20080922140520] 
[Replace --without-docs with less ambiguous --without-manual (issue1082).
Trent W. Buck <[EMAIL PROTECTED]>**20080922002602
 It's confusing for ./configure --without-docs to complain about missing haddock.
] 
[Documentation for --allow-unrelated-repos.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080922121122
 Ignore-this: d2630826313c8aeb00acb6853030c22d
] 
[Rename --ignore-unrelated-repos to --allow-unrelated-repos.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080922120727
 Ignore-this: a5990f1741c867316a948e6721118651
] 
[fix  bug I introduced into issue1039 test.
David Roundy <[EMAIL PROTECTED]>**20080921213043
 Ignore-this: 5b3c6476abae6bb050be014555d05bbe
] 
[Fix hang after a user input error (for example, EOF).
Judah Jacobson <[EMAIL PROTECTED]>**20080918163017] 
[replace consRLSealed with a more  general mapFlipped.
David Roundy <[EMAIL PROTECTED]>**20080921185241
 Ignore-this: c28f73f165254582cba6a14ba6ce93
] 
[make issue1039 fix allow small dissimilar  repositories.
David Roundy <[EMAIL PROTECTED]>**20080921184515
 Ignore-this: 918a09df18ef48c649c1bfaa866d6176
] 
[revert refactor that breaks type witnesses.
David Roundy <[EMAIL PROTECTED]>**20080921182331
 Ignore-this: dd692cffc1a238d6726448bacfe9cacc
] 
[Add '--ignore-unrelated-repos' option to disable unrelated repositories check.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919152631] 
[Resolve issue1039: detect seemingly unrelated repositories when doing push, pull and send.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919144553] 
[Refactor in pull_cmd.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919135349
 Ignore-this: e26a489a7a53aeaba544ae5ad0006700
] 
[Test for issue1039.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919153011] 
[manual: add an example of record --pipe prompts similar to tag --pipe docs
Simon Michael <[EMAIL PROTECTED]>**20080918205353] 
[user manual corrections regarding what record and tag --pipe prompt for
Simon Michael <[EMAIL PROTECTED]>**20080918204500] 
[clarify the short help for --pipe
Simon Michael <[EMAIL PROTECTED]>**20080918193717] 
[Spaces in Darcs.Arguments.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919150440] 
[Spaces in Darcs.Commands.Send.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919150139] 
[Spaces in Darcs.Commands.Pull.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919145812] 
[Spaces in Darcs.Commands.Push.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919145553] 
[Print "We have the following patches to send:" only when we really have somthing to send.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080919114229] 
[Use gmakeisms for prettier output.
Trent W. Buck <[EMAIL PROTECTED]>**20080919071358] 
[fix changes.pl test (translating to bash)
David Roundy <[EMAIL PROTECTED]>**20080917182432
 Ignore-this: 5f8bc7e1f9eadc073402a935142281c4
 This test made assumptions such as that darcs wouldn't ever add a long
 comment to its internal representation of changes, which are now
 broken.
] 
[hokey fix to allow unit tests to generate random input.
David Roundy <[EMAIL PROTECTED]>**20080917170913
 Ignore-this: 31e847e82eef741f4c6cc857fd79a245
 A nicer fix would be to move namepatch and patchinfo into some sort of
 random-number monad rather than leaving them in IO and using
 unsafePerformIO in the example-generation scripts.
] 
[resolve issue27: add junk to patch identifiers.
David Roundy <[EMAIL PROTECTED]>**20080917154657
 Ignore-this: b91ab6f6e05e0fda25488fa51653b741
] 
[TAG 2.0.3pre1
Eric Kow <[EMAIL PROTECTED]>**20080918023645] 
Patch bundle hash:
2fdbe2c0758ebef3bb285c2ba5a5055947db0db6
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to