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