darcs

Issue 355 Push A to B fails, pull B to A works

Title Push A to B fails, pull B to A works
Priority bug Status resolved
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, kowey, markstos, simonmar, simonpj, thorkilnaur, tommy
Assigned To
Topics Partial

Created on 2006-11-20.14:58:58 by simonmar, last changed 2009-10-23.23:36:27 by admin.

Messages
msg1253 (view) Author: simonmar Date: 2006-11-20.14:58:50
I have a case where pushing a patch from repo A to repo B fails, but pulling in the other direction succeeds.  Igloo tells me this is definitely a bug.

Repo B (ghc-par-gc) is partial, repo A (ghc-head-tmp) is not:

---------------------
~/darcs/ghc-head-tmp > darcs push ../ghc-par-gc -p "whitespace"
Pushing to "../ghc-par-gc"...

Fri Nov 10 18:36:33 GMT 2006  Samuel Bronson <naesten@gmail.com>
  * Zap stray whitespace in lhs formatting
Shall I push this patch? (1/?)  [ynWvpxqadjkc], or ? for help: n

Mon Nov 20 14:25:50 GMT 2006  Simon Marlow <simonmar@microsoft.com>
  * whitespace
Shall I push this patch? (2/?)  [ynWvpxqadjkc], or ? for help: y
darcs: Cannot apply this patch bundle, this is a "--partial repository
We don't have the following patch:
Wed Sep 20 21:48:05 BST 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Correct substitution into theta types (after merge)

~/darcs/ghc-head-tmp > cd ../ghc-par-gc
~/darcs/ghc-par-gc > darcs pull ../ghc-head-tmp -p "whitespace"
Pulling from "../ghc-head-tmp"...

Fri Nov 10 18:36:33 GMT 2006  Samuel Bronson <naesten@gmail.com>
  * Zap stray whitespace in lhs formatting
Shall I pull this patch? (1/?)  [ynWvpxqadjkc], or ? for help: n

Mon Nov 20 14:25:50 GMT 2006  Simon Marlow <simonmar@microsoft.com>
  * whitespace
Shall I pull this patch? (2/?)  [ynWvpxqadjkc], or ? for help: y
Finished pulling and applying.
---------------------

I have saved the exact state of the repos here:

  http://haskell.org/~simonmar/darcs-bug-report/ghc-par-gc.tar.gz
  http://haskell.org/~simonmar/darcs-bug-report/ghc-head-tmp.tar.gz

(30M & 50M respectively)

I have been seeing odd things happen when transferring patches between partial repositories in GHC for a while, so it's nice to nail down a case that is definitely a bug.  With any luck this might help pinpoint the problem.

Cheers,
        Simon
msg1254 (view) Author: simonmar Date: 2006-11-20.15:04:10
Simon Marlow wrote:
> New submission from Simon Marlow <simonmar@microsoft.com>:
>
> I have a case where pushing a patch from repo A to repo B
> fails, but pulling in the other direction succeeds.  Igloo
> tells me this is definitely a bug.

Of course it's not really "in the other direction", the direction is the same, just that the operation is a pull rather than a push.  Apologies for the confusion.

Cheers,
        Simon
msg1284 (view) Author: droundy Date: 2006-11-28.02:58:07
On Mon, Nov 20, 2006 at 02:58:58PM +0000, Simon Marlow wrote:
> I have a case where pushing a patch from repo A to repo B fails, but
> pulling in the other direction succeeds.  Igloo tells me this is
> definitely a bug.
>
> Repo B (ghc-par-gc) is partial, repo A (ghc-head-tmp) is not:

The trouble here I suspect stems from the heuristics we use to minimize
access to remote repositories, which are very crude.  This is an
optimization that doesn't help when the local repository doesn't actually
have the patches.  I'm hoping to be able to somewhat obsolete this bug by
making repositories using the hashed inventory format (not yet working)
able to gradually make themselves un-partial.  Which is a sort of memoized
version of the algorithm in this case that we'd have to used anyways
(i.e. no unnecesary downloads).

So yes, this is a bug, in that we could certainly make the algorithm more
flexible in trying different options for getting the patches we need.  But
it may be a tricky one to fix.  :(
-- 
David Roundy
Department of Physics
Oregon State University
msg3268 (view) Author: markstos Date: 2008-02-09.18:16:23
I believe this is considered resolved-in-unstable by using --lazy instead of
--partial, which avoids the bug.
History
Date User Action Args
2006-11-20 14:58:58simonmarcreate
2006-11-20 15:04:16simonmarsetstatus: unread -> unknown
nosy: droundy, tommy, kowey, igloo, simonmar, simonpj
messages: + msg1254
2006-11-28 02:58:15droundysetnosy: droundy, tommy, kowey, igloo, simonmar, simonpj
messages: + msg1284
2007-03-08 11:20:40koweysetnosy: + beschmi
2007-07-23 13:55:21koweysettopic: + Partial
nosy: droundy, tommy, beschmi, kowey, igloo, simonmar, simonpj
2008-02-09 18:16:24markstossetstatus: unknown -> resolved-in-unstable
nosy: + markstos
messages: + msg3268
2008-09-04 21:29:59adminsetstatus: resolved-in-unstable -> resolved
nosy: + dagit
2009-08-06 17:32:15adminsetnosy: + jast, Serware, dmitry.kurochkin, darcs-devel, zooko, mornfall, simon, thorkilnaur, - droundy, igloo, simonmar, simonpj
2009-08-06 20:29:38adminsetnosy: - beschmi
2009-08-10 21:59:11adminsetnosy: + igloo, simonmar, simonpj, - darcs-devel, zooko, jast, Serware, mornfall
2009-08-10 23:58:18adminsetnosy: - dagit
2009-08-25 17:19:13adminsetnosy: + darcs-devel, - igloo
2009-08-25 17:47:00adminsetnosy: - simon
2009-08-27 14:05:49adminsetnosy: tommy, kowey, markstos, darcs-devel, simonmar, simonpj, thorkilnaur, dmitry.kurochkin
2009-10-23 22:37:57adminsetnosy: + marlowsd, - simonmar
2009-10-23 23:36:27adminsetnosy: + simonmar, - marlowsd