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

Reply via email to