Wed Aug 13 05:13:42 MSD 2008 Dmitry Kurochkin <[EMAIL PROTECTED]>
* Enable pipelining by default, add --disable-pipelining option (issue838).
Wed Aug 13 11:42:18 MSD 2008 Dmitry Kurochkin <[EMAIL PROTECTED]>
* Minor change to URL module.
Wed Aug 13 12:12:18 MSD 2008 Dmitry Kurochkin <[EMAIL PROTECTED]>
* Fix URL module bug with pipelining enabled.
New patches:
[Enable pipelining by default, add --disable-pipelining option (issue838).
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080813011342] hunk ./configure.ac 507
- # Check if we want pipelining enabled...
- AC_ARG_WITH(curl_pipelining,
- AS_HELP_STRING([--with-curl-pipelining],[use curl pipelining (requires libcurl >= 7.18.0)]))
-
- if test "$with_curl_pipelining" == "yes"; then
- AC_MSG_CHECKING([for libcurl pipelining])
- let vernum=0x0`$CURL_CONFIG --vernum`
- let minver=0x071200
- if test $vernum -ge $minver; then
- CPPFLAGS="$CPPFLAGS -DCURL_PIPELINING"
- CURL_PIPELINING=True
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- AC_MSG_WARN([Requires libcurl version >= 7.18.0])
- fi
+ # Check if curl supports enabled...
+ AC_MSG_CHECKING([for libcurl pipelining])
+ let vernum=0x0`$CURL_CONFIG --vernum`
+ let minver=0x071200
+ if test $vernum -ge $minver; then
+ CPPFLAGS="$CPPFLAGS -DCURL_PIPELINING"
+ CURL_PIPELINING=True
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ AC_MSG_WARN([Requires libcurl version >= 7.18.0])
hunk ./src/Darcs/Arguments.lhs 75
- patch_select_flag
+ patch_select_flag,
+ disablePipelining
hunk ./src/Darcs/Arguments.lhs 277
- help_on_match,
+ help_on_match, disablePipelining,
hunk ./src/Darcs/Arguments.lhs 1274
+\begin{options}
+--disable-pipelining
+\end{options}
+Disable HTTP pipelining for curl and libwww.
+\begin{code}
+disablePipelining = DarcsNoArgOption [] ["disable-pipelining"] DisablePipelining
+ "disable HTTP pipelining for curl and libwww"
+\end{code}
+
hunk ./src/Darcs/Commands/Changes.lhs 40
- ssh_cm
+ ssh_cm, disablePipelining
hunk ./src/Darcs/Commands/Changes.lhs 92
- command_advanced_options = [ssh_cm],
+ command_advanced_options = [ssh_cm, disablePipelining],
hunk ./src/Darcs/Commands/Convert.lhs 39
- ssh_cm )
+ ssh_cm, disablePipelining )
hunk ./src/Darcs/Commands/Convert.lhs 98
- command_advanced_options = [ssh_cm],
+ command_advanced_options = [ssh_cm, disablePipelining],
hunk ./src/Darcs/Commands/Get.lhs 36
- ssh_cm )
+ ssh_cm, disablePipelining )
hunk ./src/Darcs/Commands/Get.lhs 107
- command_advanced_options = [ssh_cm] ++ command_advanced_options initialize,
+ command_advanced_options = [ssh_cm, disablePipelining] ++ command_advanced_options initialize,
hunk ./src/Darcs/Commands/Pull.lhs 37
- ssh_cm, umask_option,
+ ssh_cm, umask_option, disablePipelining
hunk ./src/Darcs/Commands/Pull.lhs 97
- umask_option],
+ umask_option,
+ disablePipelining],
hunk ./src/Darcs/Commands/Push.lhs 32
- remote_repo, ssh_cm,
+ remote_repo, ssh_cm, disablePipelining,
hunk ./src/Darcs/Commands/Push.lhs 80
- command_advanced_options = [applyas, nolinks, remote_repo, ssh_cm],
+ command_advanced_options = [applyas,
+ nolinks,
+ remote_repo,
+ ssh_cm,
+ disablePipelining],
hunk ./src/Darcs/Commands/Put.lhs 15
+ disablePipelining
hunk ./src/Darcs/Commands/Put.lhs 61
- command_advanced_options = [applyas, ssh_cm],
+ command_advanced_options = [applyas, ssh_cm, disablePipelining],
hunk ./src/Darcs/Commands/Send.lhs 39
- remote_repo, ssh_cm,
+ remote_repo, ssh_cm, disablePipelining,
hunk ./src/Darcs/Commands/Send.lhs 125
- send_to_context, ssh_cm],
+ send_to_context, ssh_cm,
+ disablePipelining],
hunk ./src/Darcs/Commands.lhs 57
-import URL ( setDebugHTTP )
+import URL ( setDebugHTTP, setPipeliningDisabled )
hunk ./src/Darcs/Commands.lhs 344
+ when (DisablePipelining `elem` os) setPipeliningDisabled
hunk ./src/Darcs/Flags.lhs 83
+ | DisablePipelining
hunk ./src/URL.hs 2
-module URL ( copyUrl, copyUrlFirst, setDebugHTTP, waitUrl,
+module URL ( copyUrl, copyUrlFirst, setDebugHTTP, setPipeliningDisabled, waitUrl,
hunk ./src/URL.hs 6
+import Data.IORef ( newIORef, readIORef, writeIORef, IORef )
hunk ./src/URL.hs 72
-maxPipeLength :: Int
-maxPipeLength = if have_libwww then 100
+maxPipeLength :: IORef Int
+maxPipeLength = unsafePerformIO $ newIORef $
+ if have_libwww then 100
hunk ./src/URL.hs 134
- when (l < maxPipeLength) $ do
+ mpl <- liftIO $ readIORef maxPipeLength
+ when (l < mpl) $ do
hunk ./src/URL.hs 226
+setPipeliningDisabled :: IO ()
+setPipeliningDisabled = writeIORef maxPipeLength 1
+
[Minor change to URL module.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080813074218] hunk ./src/URL.hs 204
-waitUrl u = do let fn m = let (a, b) = Map.updateLookupWithKey (\_ _ -> Nothing) u m
- in (b, a)
- r <- modifyMVar urlNotifications (return.fn)
+waitUrl u = do let fn m = Map.updateLookupWithKey (\_ _ -> Nothing) u m
+ swap = uncurry $ flip (,)
+ r <- modifyMVar urlNotifications (return.swap.fn)
[Fix URL module bug with pipelining enabled.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080813081218] hunk ./src/URL.hs 40
-data UrlState = UrlState { inProgress :: Map String (FilePath, (MVar String))
+data UrlState = UrlState { inProgress :: Map String (FilePath, Cachable, (MVar String))
hunk ./src/URL.hs 119
- new_st = st { inProgress = Map.insert (url r) (file r, notifyVar r) p
+ new_st = st { inProgress = Map.insert (url r) (file r, cachable r, notifyVar r) p
hunk ./src/URL.hs 121
- if Map.member (url r) p
- then if e `elemQ` w
- then if priority r == High
- then do put $ st { waitToStart = pushQ e (deleteQ e w) }
- dbg $ "Moving "++(url r)++" to head of download queue."
- else dbg "Ignoring UrlRequest of file that's already queued."
- else bug $ "URL.urlThread: same URLs with different parameters "++(url r)++" "++(file r)
- else put new_st
+ case Map.lookup (url r) p of
+ Just (f, c, _) -> if f == file r && c == cachable r
+ then if e `elemQ` w && priority r == High
+ then do put $ st { waitToStart = pushQ e (deleteQ e w) }
+ dbg $ "Moving "++(url r)++" to head of download queue."
+ else dbg "Ignoring UrlRequest of file that's already queued."
+ else bug $ "URL.urlThread: same URLs with different parameters "++(url r)++" "++(file r)
+ _ -> put new_st
hunk ./src/URL.hs 185
- Just (f, v) -> do liftIO $ renameFile (f++"-new") f
- liftIO $ putMVar v e
- dbg $ "URL.waitNextUrl succeeded: "++u++" "++f
+ Just (f, _, v) -> do liftIO $ renameFile (f++"-new") f
+ liftIO $ putMVar v e
+ dbg $ "URL.waitNextUrl succeeded: "++u++" "++f
hunk ./src/URL.hs 190
- Just (f, v) -> do liftIO $ removeFileMayNotExist (f++"-new")
- liftIO $ putMVar v e
- dbg $ "URL.waitNextUrl failed: "++
- u++" "++f++" "++e
+ Just (f, _, v) -> do liftIO $ removeFileMayNotExist (f++"-new")
+ liftIO $ putMVar v e
+ dbg $ "URL.waitNextUrl failed: "++
+ u++" "++f++" "++e
Context:
[Generalize HashRepo.clean_pristine to HashIO.clean_hashdir.
[EMAIL PROTECTED]
[Add writeSlurpy to roll out a copy of slurpy into a filesystem.
[EMAIL PROTECTED]
[fix breakage in URL.
David Roundy <[EMAIL PROTECTED]>**20080812141220]
[Parametrize "pristine.hashed" in a bunch of functions.
[EMAIL PROTECTED]
[Rework URL module for multi threading.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080811221209]
[Print a warning when the remote end does not have darcs 2.
Eric Kow <[EMAIL PROTECTED]>**20080811100933
Two reasons:
(1) right now people get a scary warning from ssh when it can't fetch
some non-essential files (it used to be that we would send stderr from ssh
to /dev/null, but that has other problems...)
(2) darcs transfer-mode more widely deployed could help a lot of people
wrt darcs performance
]
[Added a beware note to the unrecord command
[EMAIL PROTECTED]
[Fixed typo
[EMAIL PROTECTED]
[make Convert.lhs compile.
David Roundy <[EMAIL PROTECTED]>**20080810201725]
[improve type safety of Darcs.Repository.Internal.
Jason Dagit <[EMAIL PROTECTED]>**20080810051109]
[Refactor `darcs convert' warning at kowey's request.
Trent W. Buck <[EMAIL PROTECTED]>**20080810110014]
[Expand formats text based in part on suggestions from darcs-users
Max Battcher <[EMAIL PROTECTED]>**20080809184043]
[Fixes to global cache text based on darcs-users suggestions
Max Battcher <[EMAIL PROTECTED]>**20080809181424]
[Add user-focused documentation of repository format options
Max Battcher <[EMAIL PROTECTED]>**20080807195429]
[Highlight the global cache as a best practice
Max Battcher <[EMAIL PROTECTED]>**20080807193918]
[Describe best practice in `darcs convert --help'.
Trent W. Buck <[EMAIL PROTECTED]>**20080810110615]
[add type witnesses to Population
Jason Dagit <[EMAIL PROTECTED]>**20080808053252]
[add type witnesses to CommandsAux
Jason Dagit <[EMAIL PROTECTED]>**20080808052738]
[Add type witnesses to more modules, rounding out Darcs/Repository/*
Jason Dagit <[EMAIL PROTECTED]>**20080808050947]
[fixed a bug in identity_commutes property
Jason Dagit <[EMAIL PROTECTED]>**20080808023025
In the right identity check the patch order should have gone from
(identity :> p) to (p2 :> i2). I added a rigid type context too
so that ghc 6.8 and newer would type the definition.
]
[Make Darcs.Repository.Internal compile with type witnesses.
Jason Dagit <[EMAIL PROTECTED]>**20080808015343]
[Add thread synchronization to URL module and resume select() if interrupted by signal in curl module.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080810092810]
[Handle error case with empty URL in URL.waitNextUrl function.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080809221755]
[Better debug messages in URL module.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080809215247]
[Add --debug-http flag to enable curl and libwww debug at run-time instead of compile-time.
Dmitry Kurochkin <[EMAIL PROTECTED]>**20080809154834]
[UF8.lhs: remove unusued functions/imports/docs
[EMAIL PROTECTED]
[Resolve issue974 : do not pass both -optc-g and -opta-g to GHC
Eric Kow <[EMAIL PROTECTED]>**20080807073620]
[make this test more cross-platform
Simon Michael <[EMAIL PROTECTED]>**20080807103433]
[document how to run unit tests
Simon Michael <[EMAIL PROTECTED]>**20080807030416]
[move (most) failing tests to bugs for clean test output
Simon Michael <[EMAIL PROTECTED]>**20080806191336]
[fix an old spelling error
Simon Michael <[EMAIL PROTECTED]>**20080806170432]
[make searching for "test:" in makefile work
Simon Michael <[EMAIL PROTECTED]>**20080805222241]
[run only normal (expected to pass) tests by default
Simon Michael <[EMAIL PROTECTED]>**20080805222108]
[Downplay quantum mechanics link.
Eric Kow <[EMAIL PROTECTED]>**20080806124109
Besides, darcs has far more than 3 users by now.
]
[Make patch theory intro more inviting to math people.
Eric Kow <[EMAIL PROTECTED]>**20080806123411]
[cleanup and slight rewrite of the test docs
Simon Michael <[EMAIL PROTECTED]>**20080806165949]
[make order of running tests consistent
Simon Michael <[EMAIL PROTECTED]>**20080806172123]
[small makefile refactoring: allow just the normal tests to be run, without bugs/*
Simon Michael <[EMAIL PROTECTED]>**20080805203242]
[Rectify dist help
[EMAIL PROTECTED]
Removed the "make dist" suggestion, the manual is a better place for that.
Instead, make clear that it operates on a clean copy of the tree, and
mention the "predist" functionality.
]
[website: explain that darcs 2 is required to get the darcs source.
Simon Michael <[EMAIL PROTECTED]>**20080803181216]
[Canonize Gaetan Lehmann and Daniel Buenzli.
Eric Kow <[EMAIL PROTECTED]>**20080730104357
(for Daniel B, avoid an accent in his name)
]
[configure: check for packages needed with split base.
Eric Kow <[EMAIL PROTECTED]>**20080730103840
Now that all packages must be used explicitly.
]
[fix type witness compile errors specific to ghc 6.8
Jason Dagit <[EMAIL PROTECTED]>**20080722182729]
[avoid import of unused function fromMaybe.
David Roundy <[EMAIL PROTECTED]>**20080729172825]
[configure: suggest regex-compat before text
Eric Kow <[EMAIL PROTECTED]>**20080725095336]
[configure: mention Haskell in 'try installing' suggestion
Eric Kow <[EMAIL PROTECTED]>**20080725095015]
[Typo (Text.Regex)
Eric Kow <[EMAIL PROTECTED]>**20080715121708]
[Use haskeline to have a readline-like behavior when asking something to the user
[EMAIL PROTECTED]
Unlike the implementations using readline or editline packages, this code
code doesn't break the Ctrl-C behavior.
]
[Improve generic rules for English plurals.
Eric Kow <[EMAIL PROTECTED]>**20080604123728]
[add configure check for Network.URI.
David Roundy <[EMAIL PROTECTED]>**20080711011914]
[add -hide-all-packages to default GHCFLAGS.
David Roundy <[EMAIL PROTECTED]>**20080711010952]
[add support for outputting patch numbers in darcs changes.
David Roundy <[EMAIL PROTECTED]>**20080710011211]
[add support for matching single patches by index.
David Roundy <[EMAIL PROTECTED]>**20080710004512]
[add support for matching ranges of patches (counting back from present).
David Roundy <[EMAIL PROTECTED]>**20080710003225]
[Better avoid silly manpage error.
Trent W. Buck <[EMAIL PROTECTED]>**20080704024920
It turned out only initialize's help string used 'quotes', so just
remove them. This makes init's docstring consistent with the others.
]
[Missing period at end of sentence.
Trent W. Buck <[EMAIL PROTECTED]>**20080704024232]
[darcs --overview no longer works, so don't document it.
Trent W. Buck <[EMAIL PROTECTED]>**20080704030804]
[Avoid silly manpage error.
Trent W. Buck <[EMAIL PROTECTED]>**20080703010733
man (nroff) treats an apostrophe in the first column specially,
resulting in a syntax error without this patch.
Ideally, all cases of 'foo' in the manpage (i.e. docstrings) should
become `foo', since man -Tps turns ` and ' into left and right single
quotes respectively.
]
[obliterate whitespace in Darcs.Commands.Get
[EMAIL PROTECTED]
'twas causing lhs/haddock difficulties where a \end{code} wasn't getting recognized.
]
[rm haddock CPP business
[EMAIL PROTECTED]
Try as I might, I can't see any reason to special-case some Haddock CPP logic to deal with some *commented-out guards*, unless CPP magically restores and uncomments the code if Haddock isn't being run.
]
[make pull less verbose when --verbose flag is given.
David Roundy <[EMAIL PROTECTED]>**20080624170035]
[fix makefile to remember to regenerate version information after running configure.
David Roundy <[EMAIL PROTECTED]>**20080624170001]
[TAG 2.0.2
David Roundy <[EMAIL PROTECTED]>**20080624012041]
Patch bundle hash:
be26953d17b58a797ba2ad4a2465bf933f2a9fe1
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users