darcs

Issue 339 pull => failed to read patch in get_extra (1.0.7)

Title pull => failed to read patch in get_extra (1.0.7)
Priority bug Status resolved
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, kowey, markstos, simonmar, simonpj, thorkilnaur, tim, tommy
Assigned To droundy
Topics Partial

Created on 2006-11-09.13:59:07 by simonpj, last changed 2009-10-24.00:41:39 by admin.

Messages
msg1194 (view) Author: simonpj Date: 2006-11-09.13:58:56
Gentle Darcsers

I have Darcs crash in get_extra.  Darcs version is 1.07, though I don't think this is version specific.

Here's the situation.

* HEAD is the main GHC repository on darcs.haskell.org
* Repo A is a local repository, gotten from HEAD a few weeks ago with --partial
* Repo B is a local repository, gotten from HEAD today, with --partial

I want to pull patches from A to B.  So I sit in B and type
        darcs pull A

Result = crash (see below), even before it starts asking which patches you want to pull.
The message says "perhaps it's a partial repository", which both of them are.  But it gives no suggestions about what to do about it!

Question: should this "just work", or is there a reason it cannot work?
Question: if this happens what do I do?

I can think of two possible causes
- There is a patch in HEAD (and hence in B) which is not in A, because it was added after A was pulled
- The HEAD might have been checkpointed between pulling A and pulling B, so B may not have all
        the HEAD patches that A does (but presumably B still has a list of their names)

Simon

PS: is there a way to stop this ssh stuff coming out all the time?

$ darcs pull ../ghc-hacking
Usage: ssh [options] host [command]
Options:
  -l user     Log in using this user name.
  -n          Redirect input from /dev/null.
  -A          Enable authentication agent forwarding.
  -a          Disable authentication agent forwarding.
  -X          Enable X11 connection forwarding.
  -x          Disable X11 connection forwarding.
  -i file     Identity for public key authentication (default: ~/.ssh/identity)
  -t          Tty; allocate a tty even if command is given.
  -T          Do not allocate a tty.
  -v          Verbose; display verbose debugging messages.
              Multiple -v increases verbosity.
  -V          Display version number only.
  -P          Don't allocate a privileged port.
  -q          Quiet; don't display any warning messages.
  -f          Fork into background after authentication.
  -e char     Set escape character; ``none'' = disable (default: ~).
  -c cipher   Select encryption algorithm: ``3des'', ``blowfish''
  -m macs     Specify MAC algorithms for protocol version 2.
  -p port     Connect to this port.  Server must be on the same port.
  -L listen-port:host:port   Forward local port to remote address
  -R listen-port:host:port   Forward remote port to local address
              These cause ssh to listen for connections on a port, and
              forward them to the other side by connecting to host:port.
  -C          Enable compression.
  -N          Do not execute a shell or command.
  -g          Allow remote hosts to connect to forwarded ports.
  -1          Force protocol version 1.
  -2          Force protocol version 2.
  -4          Use IPv4 only.
  -6          Use IPv6 only.
  -o 'option' Process the option as if it was read from a configuration file.
  -s          Invoke command (mandatory) as SSH2 subsystem.
darcs.exe: failed to read patch in get_extra:
Sat Oct 21 04:58:29 GMT Daylight Time 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Fix parent position in RnNames.nubAvails
  - `RnNames.nubAvails', which amalgamates AvailInfo items that belong to the
    same parent, needs to be careful that the parent name occurs first if it is
    in the list of subnames at all.  (Otherwise, we can get funny export items
    in ifaces.)
  - I discovered this while debugging family import/exports, but I am pretty
    sure the bug would also have shown up without using families under the
    right circumstances.
Perhaps this is a 'partial' repository?
msg1196 (view) Author: kowey Date: 2006-11-09.14:13:43
On Thu, Nov 09, 2006 at 13:59:07 +0000, simonpj wrote:
> PS: is there a way to stop this ssh stuff coming out all the time?

i believe upgrading your OpenSSH should do the job

in any case, the new darcs 1.0.9 (coming out soon) should do a better
job suppressing these errors
msg1197 (view) Author: igloo Date: 2006-11-09.15:59:56
Hi Simon,

On Thu, Nov 09, 2006 at 01:57:28PM +0000, Simon Peyton-Jones wrote:
> 
> * HEAD is the main GHC repository on darcs.haskell.org
> * Repo A is a local repository, gotten from HEAD a few weeks ago with --partial
> * Repo B is a local repository, gotten from HEAD today, with --partial
> 
> I want to pull patches from A to B.  So I sit in B and type
>         darcs pull A
> 
> Result = crash (see below), even before it starts asking which patches you want to pull.
> The message says "perhaps it's a partial repository", which both of them are.  But it gives no suggestions about what to do about it!
> 
> Question: should this "just work", or is there a reason it cannot work?
> Question: if this happens what do I do?

If you have used darcs pull to update A from the HEAD since you created
B (which is necessary if there has been a checkpoint inbetween, as
otherwise you will have missing patches in the middle) and no patch
reordering has happened (which it hasn't AFAIK, for GHC) then I think it
should just work (i.e. it's a bug if it doesn't).

Something to try is
    darcs push B
in A; I've had a case where it worked one way but not the other in the
past.

Thanks
Ian
msg1198 (view) Author: tim Date: 2006-11-09.17:25:01
created
> B (which is necessary if there has been a checkpoint inbetween, as
> otherwise you will have missing patches in the middle) and no patch
> reordering has happened (which it hasn't AFAIK, for GHC) then I think
it
> should just work (i.e. it's a bug if it doesn't).
>

Yes, the missing part was that I didn't use darcs pull to update A from
the HEAD. After I did that, I was able to update B with the needed patch
from A. Thanks. (I would still argue that the error message could be
improved, though :-)

Cheers,
Kirsten
msg2469 (view) Author: markstos Date: 2008-01-14.03:25:58
I believe this is resolved in the unstable branch, where checkpoints and partial
repositories are now handled very differently.
History
Date User Action Args
2006-11-09 13:59:07simonpjcreate
2006-11-09 14:13:52koweysetstatus: unread -> unknown
nosy: droundy, tommy, kowey, igloo, simonmar, simonpj, t-kirstc
messages: + msg1196
2006-11-09 16:00:09igloosetnosy: droundy, tommy, kowey, igloo, simonmar, simonpj, t-kirstc
messages: + msg1197
2006-11-09 17:25:09t-kirstcsetnosy: droundy, tommy, kowey, igloo, simonmar, simonpj, t-kirstc
messages: + msg1198
2007-03-09 15:38:35koweysetnosy: + beschmi
title: Another impenetrable error (get_extra) -> pull => failed to read patch in get_extra (1.0.7)
2008-01-14 03:25:59markstossetstatus: unknown -> resolved-in-unstable
nosy: + markstos
topic: + Partial
messages: + msg2469
2008-01-22 15:13:32droundysetnosy: droundy, tommy, beschmi, kowey, markstos, igloo, simonmar, simonpj, t-kirstc
assignedto: droundy
2008-09-04 21:29:52adminsetstatus: resolved-in-unstable -> resolved
nosy: + dagit
2009-08-06 17:51:33adminsetnosy: + jast, Serware, dmitry.kurochkin, darcs-devel, zooko, mornfall, simon, thorkilnaur, - droundy, igloo, simonmar, simonpj, t-kirstc
2009-08-06 20:52:32adminsetnosy: - beschmi
2009-08-10 21:58:32adminsetnosy: + t-kirstc, igloo, simonmar, simonpj, - darcs-devel, zooko, jast, Serware, mornfall
2009-08-10 23:57:48adminsetnosy: - dagit
2009-08-25 17:19:10adminsetnosy: + darcs-devel, - igloo
2009-08-25 18:02:55adminsetnosy: - simon
2009-08-27 14:05:42adminsetnosy: tommy, kowey, markstos, darcs-devel, simonmar, simonpj, t-kirstc, thorkilnaur, dmitry.kurochkin
2009-10-23 22:37:55adminsetnosy: + marlowsd, - simonmar
2009-10-23 23:36:25adminsetnosy: + simonmar, - marlowsd
2009-10-24 00:41:39adminsetnosy: + tim, - t-kirstc