monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Cvssync problems


From: Brian Downing
Subject: Re: [Monotone-devel] Cvssync problems
Date: Thu, 29 Sep 2005 10:11:17 -0500
User-agent: Mutt/1.2.5i

On Wed, Sep 28, 2005 at 12:30:17PM +0200, Christof Petig wrote:
> Brian Downing schrieb:
> > monotone: fatal: std::logic_error: cvs_sync.cc:847: invariant 
> > 'I(!e->xfiles.empty())' violated
> 
> It looks like this node/edge contains no files, for now I removed the
> invariant check and print a warning, can you check whether this
> - really is the case
> - works as expected

It seems to work for my test case, thanks.

> > monotone: warning: unhandled server response "F"
> 
> ok, I implemented F (flush) and Mbinary (binary response) which I never
> saw against the CVS servers I tested ...

This, however, doesn't.  My CVS server (1.11.20) sends "F\n", not "F \n".

                    /* If the client supports the 'F' command, we send it. */
                    if (supported_response ("F"))
                    {
                        buf_append_char (buf_to_net, 'F');
                        buf_append_char (buf_to_net, '\n');
                    }
                    cvs_flusherr ();

So I tried this:

===============================================
--- cvs_client.cc       0a9a0d60db979f3825cd0f586f1e00c3d7815bee
+++ cvs_client.cc       5e34c5b214dca9a6f0b5885cadb86d10caf24613
@@ -355,15 +355,15 @@
   std::string x=readline();
   MM(x);
   unsigned len=0;
+  if (x=="F" || x=="F ")
+  { // flush stderr
+    goto loop;
+  }
   if (x.size()<2) goto error;
   if (begins_with(x,"E ",len))
   { W(F("%s\n") % x.substr(len));
     goto loop;
   }
-  if (x=="F ")
-  { // flush stderr
-    goto loop;
-  }
   if (begins_with(x,"M ",len))
   { result.push_back(std::make_pair(std::string(),x.substr(len)));
     return true;

...and with that it seems to work okay.

One other comment I have is that it's kind of suboptimal for me to have
the "Monotone revision ..... author ..... time ....." as the very first
line of the CVS comments, as it uses up the space in ViewCVS output that
would otherwise be useful.  For example, see:

http://common-lisp.net/cgi-bin/viewcvs.cgi/slime/?cvsroot=slime

If I were to start hacking on this with monotone, the "Last log entry"
column would be filled with nothing but Monotone revision numbers, which
is to me far less useful information than the first line of the
developer's log entry.

Would it be possible to put the Monotone line at the bottom of the
message, instead of the top?

-bcd




reply via email to

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