monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] fatal: std::logic_error: ../paths.cc:214


From: Nathaniel Smith
Subject: Re: [Monotone-devel] fatal: std::logic_error: ../paths.cc:214
Date: Sun, 4 Dec 2005 17:25:07 -0800
User-agent: Mutt/1.5.9i

On Sun, Dec 04, 2005 at 09:30:06AM -0800, Sprote Rsrch. wrote:
> Nathaniel,
> 
> >Hmm... hard to say, exactly, from just this.  Would it be possible to
> >send the contents of the file /Hack/Clutter/MT/debug?  It should have
> >monotone's debugging log, which I believe should contain the path
> >that triggered this sanity check...
> 
> Sure; here it is:

Ugh, seems like we didn't put in the right a debug hook for this; it
doesn't have the relevant path after all.

Some things that might get the needed information:
  -- check out and compile a current version of monotone, I just added
     the relevant debug message for future use...
  -- pull out the debugger
  -- run 'find /Hack/Clutter -print0 > filelist', and send 'filelist'.
The first two are a little more focused, but the last one is probably
way easier to actually do, so I'd suggest it :-).

> And while I'm here, can I ask a question? I'll bet I'm not the first  
> to ask, but I didn't see it in the docs or the FAQ.
> 
> Is there a way to send/publish a revision without using the P2P  
> protocol? I'd like to make my latest revisions of Clutter available,  
> but I'm not sure if I want to make my home computer accessible from  
> the outside world (even if only through one port.)
> 
> Ideally I'd like to be able to package up the entire thing as a file  
> I could upload to my website. And I'd also like people to be able to  
> email patches to me. When I saw the packet i/o commands I thought I  
> could use mdata or rdata for that, but the output is tiny, so it's  
> clearly just the metadata.

There's no simple, "here, just do what this webpage says" answer to
this yet, unfortunately :-).  It's a work-in-progress area.

There's a program called "monotone-dumb", whose job it is to let one
do push/pull/sync against a web site.  (Using FTP/SFTP/?? for pushing
and syncing, and regular HTTP for pulling.)  This sounds like exactly
what you want for publishing.  The problem is that it's only a
proof of concept right now; the basic approach is worked out, but it
needs some love to become actually practically usable.

Another simple option is to just get hosting from somewhere.  Timothy
Brownawell has been working on starting up a free monotone project
hosting service, but I'm not sure what the status of that is.  You
could also probably sweet talk us into just letting you use
venge.net's server.

There have also been a few scripts written to export chunks of the
database to packets; if you search the mailing list archives you
should be able to find some.  These are mostly focused on the case
where you have, e.g., a db at work, a db at home, and the only way to
get bits between them is via email or the like, so they might not help
you a whole lot.

For emailing patches, things are a little tricky.  It mostly works
fine to just have people mail normal diffs, though it does offend some
people's senses of aesthetics :-).  One possible option would be to
have a special patch format that included all the data a normal
revision does, in human readable form -- so someone could export one
of these things, send it to you, you could read over it, and if it
looked good you could import it directly and have exactly their
revision in your db, as if you had pulled from them.  The difficulty
with this is that it only works well if they made their change in
exactly one commit -- if it took them a few commits to get things
right, then their individual patches may not be what you actually want
to read, and this functionality wouldn't be that useful.

-- Nathaniel

-- 
Details are all that matters; God dwells there, and you never get to
see Him if you don't struggle to get them right. -- Stephen Jay Gould




reply via email to

[Prev in Thread] Current Thread [Next in Thread]