darcs

Issue 1469 darcs push: don't lock hashed/darcs-2 repos.

Title darcs push: don't lock hashed/darcs-2 repos.
Priority wishlist Status resolved
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, kowey, thorkilnaur, twb
Assigned To
Topics

Created on 2009-05-22.02:24:45 by twb, last changed 2014-03-23.00:18:58 by gh.

Files
File name Uploaded Type Edit Remove
resolve-issue1469_-push-shouldn_t-lock-hashed-repos_.dpatch twb, 2009-05-30.05:03:10 text/x-darcs-patch
unnamed twb, 2009-05-30.05:03:10 text/plain
Messages
msg7839 (view) Author: twb Date: 2009-05-22.02:24:41
>From src/formats.tex:

  These benefits, however, have not been fully realized in this
  release.

  [...] with a hashed repository, there is no need for darcs push to
  require a repository lock, so you could record patches while waiting
  for a push to finish (for instance, if it's waiting on the test
  suite).

Ensure that this is done.
msg7857 (view) Author: twb Date: 2009-05-30.05:03:10
I had a crack at this, but it isn't working.  To be honest, I'm not
even sure if I'm trying to defeat the right lock.  I'm dropping this
ticket for now; someone with better Haskell-fu can take it on.

[117 of 133] Compiling Darcs.Commands.Push ( src/Darcs/Commands/Push.lhs, dist/build/Darcs/Commands/Push.o )

src/Darcs/Commands/Push.lhs:108:124:
    Cannot match a monotype with `[DarcsFlag]
                                  -> (forall p. (Darcs.Patch.RepoPatch p) => Repository p -> IO a)
                                  -> IO a'
    Probable cause: `withRepository' is applied to too few arguments
    In the expression: withRepository
    In the second argument of `($)', namely
        `if format_has HashedInventory format then
             withRepository
         else
             withRepoReadLock'

Sat May 30 14:58:22 EST 2009  Trent W. Buck <trentbuck@gmail.com>
  * Resolve issue1469: push shouldn't lock hashed repos.
Attachments
msg7859 (view) Author: kowey Date: 2009-05-30.15:06:49
Thanks for looking into this, Trent.  

I think we should bump this down in our priority list until we develop a much
stronger grasp of what the repository lock(s) are.  Basically, the current set
of darcs hackers needs to become more experienced in darcs (or somebody like
David needs to do this).

For example, we may still want locking just to avoid some sort of inventory file
race, or at least push the locks down to the bit that manipulates the inventory.

On the other hand, working like this could be a good way to get to know darcs
intimately, but I think there are less risky ways to go about that :-)
msg17219 (view) Author: gh Date: 2014-03-23.00:18:56
Currently push does not lock (hashed) repositories; I believe this is
since withRepoReadLock was made non-locking for hashed repositories.
Hence the issue is resolved.
History
Date User Action Args
2009-05-22 02:24:45twbcreate
2009-05-30 05:03:14twbsetfiles: + resolve-issue1469_-push-shouldn_t-lock-hashed-repos_.dpatch, unnamed
nosy: kowey, simon, twb, thorkilnaur, dmitry.kurochkin
status: unread -> unknown
messages: + msg7857
2009-05-30 15:06:53koweysetpriority: wishlist
status: unknown -> deferred
messages: + msg7859
nosy: kowey, simon, twb, thorkilnaur, dmitry.kurochkin
2009-08-25 17:45:17adminsetnosy: + darcs-devel, - simon
2009-08-27 14:20:31adminsetnosy: kowey, darcs-devel, twb, thorkilnaur, dmitry.kurochkin
2009-09-02 20:46:43koweysetnosy: kowey, darcs-devel, twb, thorkilnaur, dmitry.kurochkin
2014-03-23 00:18:58ghsetstatus: deferred -> resolved
messages: + msg17219