Thu Jan 10 13:58:59 PST 2008 John Meacham <[EMAIL PROTECTED]>
* add optional support for using the pure haskell Network.HTTP http
implementation
New patches:
[add optional support for using the pure haskell Network.HTTP http implementation
John Meacham <[EMAIL PROTECTED]>**20080110215859] {
addfile ./src/HTTP.hs
hunk ./GNUmakefile 48
- Curl.hs Libwww.hs DateMatcher.lhs \
+ Curl.hs Libwww.hs HTTP.hs DateMatcher.lhs \
hunk ./GNUmakefile 141
+
+ifeq ($(HAVE_HTTP),True)
+GHCFLAGS += -DHAVE_HTTP
+endif
hunk ./autoconf.mk.in 26
+HAVE_HTTP := @HAVE_HTTP@
hunk ./configure.ac 122
+
+dnl Look for native http library
+
+AC_ARG_ENABLE(http,AS_HELP_STRING([--enable-http],[attempt to use Network.HTTP if it exists]),[
+GHC_CHECK_MODULE(Network.HTTP( urlEncode ), HTTP, urlEncode undefined, [HAVE_HTTP=True],[HAVE_HTTP=False])
+],[HAVE_HTTP=False])
+
+AC_SUBST(HAVE_HTTP)
hunk ./src/Autoconf.lhs.in 7
-module Autoconf ( darcsconfdir, datadir, libexecdir, have_libcurl, have_libwww, use_color,
- use_mmap, darcs_version, sendmail_path, have_sendmail,
+module Autoconf ( darcsconfdir, datadir, libexecdir, have_libcurl, have_libwww, have_HTTP,
+ use_color, use_mmap, darcs_version, sendmail_path, have_sendmail,
hunk ./src/Autoconf.lhs.in 35
+{-# INLINE have_HTTP #-}
+have_HTTP :: Bool
+have_HTTP = @HAVE_HTTP@
+
hunk ./src/Darcs/External.hs 53
-import Autoconf ( have_libcurl, have_libwww, have_sendmail, have_mapi, sendmail_path, darcs_version )
+import Autoconf ( have_libcurl, have_libwww, have_HTTP, have_sendmail, have_mapi, sendmail_path, darcs_version )
hunk ./src/Darcs/External.hs 56
+import qualified HTTP ( copyUrl, exists )
hunk ./src/Darcs/External.hs 200
- then Curl.copyUrl u v cache
- else copyRemoteCmd u v
+ then Curl.copyUrl u v cache
+ else if HTTP.exists
+ then HTTP.copyUrl u v cache
+ else copyRemoteCmd u v
hunk ./src/Darcs/External.hs 268
- else if have_libcurl
+ else if (have_libcurl || have_HTTP)
hunk ./src/HTTP.hs 1
+module HTTP(copyUrl,Cachable(..),exists) where
+
+import Curl(Cachable(..))
+#ifdef HAVE_HTTP
+import Network.HTTP
+import Network.URI
+
+exists :: Bool
+exists = True
+
+copyUrl :: String -> String -> Cachable -> IO ()
+copyUrl url file _cache = case parseURI url of
+ Nothing -> fail $ "Invalid URI: " ++ url
+ Just uri -> do
+ let request = Request {
+ rqURI = uri,
+ rqMethod = GET,
+ rqHeaders = [],
+ rqBody = ""
+ }
+ resp <- simpleHTTP request
+ case resp of
+ Right [EMAIL PROTECTED] { rspCode = (2,0,0) } -> writeFile file (rspBody res)
+ Right Response { rspCode = (x,y,z) } -> fail $ "HTTP " ++ show x ++ show y ++ show z ++ " error getting " ++ show uri
+ Left err -> fail $ show err
+
+#else
+
+exists :: Bool
+exists = False
+
+copyUrl :: String -> String -> Cachable -> IO ()
+copyUrl _ _ _ = fail "Network.HTTP does not exist"
+
+#endif
+
+
}
Context:
[issue567: regression test for moving a file to the same location as itself
Mark Stosberg <[EMAIL PROTECTED]>**20080109032346]
[restore behavior where we display conflicts in --summary mode.
David Roundy <[EMAIL PROTECTED]>**20080110004605]
[regression test for issue406
Mark Stosberg <[EMAIL PROTECTED]>**20080109044500]
[fix latex bug in docs.
David Roundy <[EMAIL PROTECTED]>**20080108211102]
[fix latex bug in docs.
David Roundy <[EMAIL PROTECTED]>**20080108205912]
[fix bug in show_tags.sh cleanup.
David Roundy <[EMAIL PROTECTED]>**20080108204430]
[doc,typo: some s/darcs commit/darcs record/
[EMAIL PROTECTED]
[test: Add a test for darcs show tags.
[EMAIL PROTECTED]
[document the three repo format flags for "darcs init"
Mark Stosberg <[EMAIL PROTECTED]>**20080108041024]
[improve the one-paragraph docs for "darcs init"
Mark Stosberg <[EMAIL PROTECTED]>**20080108040941]
[Quit defining inventory format options recursively. Provide user-oriented descriptions.
Mark Stosberg <[EMAIL PROTECTED]>**20080108035256]
[update partial.sh to show off improved darcs-2/partial functionality
Mark Stosberg <[EMAIL PROTECTED]>**20080108024712]
[typo and bug fix in partial.sh.
Mark Stosberg <[EMAIL PROTECTED]>**20080108022808
It turned out the call to "darcs optimize" was silently failing to create a checkpoint
because there was no tag. This caused the remaining tests for --partial to run against
a full repo, not a partial one.
]
[issue55: document that darcs handles some types of binary files automatically.
Mark Stosberg <[EMAIL PROTECTED]>**20080108010043]
[correct apparent typo in test.
Mark Stosberg <[EMAIL PROTECTED]>**20080108005710
The fix made more sense than the former behavior of comparing a file to itself.
]
[issue395: eliminate patches with a single character name from shell scripts in the test suite.
Mark Stosberg <[EMAIL PROTECTED]>**20080106051821]
[prevent warning in test script and remove mysterious exit(1) call.
Mark Stosberg <[EMAIL PROTECTED]>**20080106052622]
[issue526: improve Perl test suite.
Mark Stosberg <[EMAIL PROTECTED]>**20080106045548
- better compatibility when path to darcs includes a space
- better portability by eliminating some system calls
- general style improvements
]
[minor white-space and code style improvements
Mark Stosberg <[EMAIL PROTECTED]>**20080105183641]
[typo fix on GNUmakefile comment
Mark Stosberg <[EMAIL PROTECTED]>**20080105183027]
[refactor: improve style and portability of pull.pl test script.
Mark Stosberg <[EMAIL PROTECTED]>**20080105181751
Many direct system calls were eliminated. No functional changes.
]
[issue347 - document that single quotes should be used in .darcs/defaults
Mark Stosberg <[EMAIL PROTECTED]>**20080101164428]
[add feature requested in issue576.
David Roundy <[EMAIL PROTECTED]>**20080105150125]
[fix bug in issue576.
David Roundy <[EMAIL PROTECTED]>**20080105144929]
[add test that triggers bug in issue576.
David Roundy <[EMAIL PROTECTED]>**20080105144812]
[Make sure we test the 'darcs' we just built and not one in a global path.
Mark Stosberg <[EMAIL PROTECTED]>**20080102002235
This done by using "$DARCS" instead of 'darcs'.
However, in my case the updated test FAILS unexplainably with 2.0.0pre3,
by failing to detect that a file has changed.
If I follow along in a shell and run the same commands with Darcs 2,
the problem does not appear.
]
[add configure support for libwww.
David Roundy <[EMAIL PROTECTED]>**20080104201255]
[make bug message more explicit.
David Roundy <[EMAIL PROTECTED]>**20080104004253]
[Initial implementation of HTTP pipelining using libwww.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20071222144902]
[make indent slightly more concise using lines and unlines.
David Roundy <[EMAIL PROTECTED]>**20080104003953]
[refactor: replace recursive indent with more concise find-and-replace syntax
Mark Stosberg <[EMAIL PROTECTED]>**20080101200447]
[simplify (and debug) pending handling.
David Roundy <[EMAIL PROTECTED]>**20071227133618
Note that this change could lead to performance regressions, but I believe
that these regressions would be strongly bounded (never worse than a
whatsnew), and this simplification makes the code much easier to safely
modify.
]
[make updating of pending on pull much more efficient.
David Roundy <[EMAIL PROTECTED]>**20071224131059]
[simplify a bit of code.
David Roundy <[EMAIL PROTECTED]>**20071224131023]
[fix type-witness bug in HopefullyPrivate.
David Roundy <[EMAIL PROTECTED]>**20071223141149]
[simplify Get
David Roundy <[EMAIL PROTECTED]>**20071223025108]
[simplify tentativelyAddPatch by removing unused return value.
David Roundy <[EMAIL PROTECTED]>**20071223024400]
[simplify away np2prims and nps2prims.
David Roundy <[EMAIL PROTECTED]>**20071223022145]
[try to avoid rewriting patches that we've just read.
David Roundy <[EMAIL PROTECTED]>**20071222190029]
[generalize CommandsAux utility functions.
David Roundy <[EMAIL PROTECTED]>**20071222162952]
[add new instances for PatchInfoAnd.
David Roundy <[EMAIL PROTECTED]>**20071222144439]
[change tentativelyAddPatch to accept a PatchInfoAnd p.
David Roundy <[EMAIL PROTECTED]>**20071222140517]
[internal prepration for optimization saving patch writing.
David Roundy <[EMAIL PROTECTED]>**20071222134834]
[add changelog entry.
David Roundy <[EMAIL PROTECTED]>**20071219162646]
[add fixme indicating where the code could be simplified.
David Roundy <[EMAIL PROTECTED]>**20071221135649]
[make reading of hashed inventories lazier.
David Roundy <[EMAIL PROTECTED]>**20071221133453]
[resolve conflicts in mv_and_remove_tests.sh.
David Roundy <[EMAIL PROTECTED]>**20071219144638]
[Fix !(...|...) in mv_and_remove_tests.sh.
Dave Love <[EMAIL PROTECTED]>**20071218001826
Assume the original construct should have been `! ... | ...' and
replace with a portable version of that.
]
[[issue571] Redo last HAVE_TERMIO_H fix.
Dave Love <[EMAIL PROTECTED]>**20071218140508
Not the most direct fix, but simpler.
]
[Fix configure test for gadt type witnesses.
Dave Love <[EMAIL PROTECTED]>**20071218120139]
[use --ignore-times in all tests.
David Roundy <[EMAIL PROTECTED]>**20071217225159
This is because the hashed repository is a bit pickier, in that
it no longer checks file lengths when the file modification times
match.
]
[enable modification time checking on hashed repositories.
David Roundy <[EMAIL PROTECTED]>**20071217220237]
[Pass two args to `cmp' in tests, following POSIX.
Dave Love <[EMAIL PROTECTED]>**20071216180503
Fixes some failures on Solaris.
]
[resolve silly conflict with myself.
David Roundy <[EMAIL PROTECTED]>**20071217200855]
[clean up SelectChanges (eliminating Bools)
David Roundy <[EMAIL PROTECTED]>**20071217191809]
[make a few more files compile with type witnesses.
David Roundy <[EMAIL PROTECTED]>**20071217183234]
[fix bug in revert (in writing the unrevert file).
David Roundy <[EMAIL PROTECTED]>**20071216215225]
[make a few more files compile with type witnesses.
David Roundy <[EMAIL PROTECTED]>**20071217164815]
[remove tabs.
David Roundy <[EMAIL PROTECTED]>**20071216224617]
[bump version number preemptively to 2.0.0pre3.
David Roundy <[EMAIL PROTECTED]>**20071216222823]
[fix doc bug in show contents.
David Roundy <[EMAIL PROTECTED]>**20071216214002]
[TAG 2.0.0pre2
David Roundy <[EMAIL PROTECTED]>**20071216201647]
Patch bundle hash:
34801dc63f6d7849e6048a8483fb7ea3b9e0f591
_______________________________________________
darcs-devel mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-devel