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

[Xen-devel] FW: problem for mecurial 0.6c


  • To: "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Ling, Xiaofeng" <xiaofeng.ling@xxxxxxxxx>
  • Date: Tue, 23 Aug 2005 08:47:08 +0800
  • Delivery-date: Tue, 23 Aug 2005 00:45:20 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcWnTvSHSQL+tcYwTOCytyymlpJNggALPh8w
  • Thread-topic: problem for mecurial 0.6c

If you are using mecurial 0.6c, and try to clone a old xen repository directory,
you may need this.

Matt Mackall <mailto:mpm@xxxxxxxxxxx> wrote:
> [please forward this on to the Xen list so folks know what's up.]
> 
> On Mon, Aug 22, 2005 at 04:55:36PM +0100, James Bulpin wrote:
>> I'm responsible for the xenbits.xensource.com Xen repository server
>> Xiaofeng Ling mentions in the post. We upgraded the server to 0.6c
>> yesterday. A number of people have reported problems with cloning
>> using 0.6b and 0.6c clients (0.5b seems to work fine). Trying it
>> myself I see the same error as the poster using either 0.6b or 0.6c
>> as the client. For now I've backed off the server to 0.6b.
>> 
>> Additionally I now see errors with hg verify that I've not seen
>> before; 0.6b does not show them, 0.6c does. This is the case for the
>> current repo and for historical filesystem level snapshots going back
>> to the end of June when we first converted to mercurial.
>> 
>> Are these two issues linked? I'm wondering is some historical problem
>> in our repository is triggering the clone failure.
> 
> Sorry about this, I overlooked this when I was writing the release
> notes. It's been in tip for a couple weeks: 
> 
> http://www.selenic.com/hg/?cmd=changeset;node=fbe964ae7325d1a0ee2d35682f33337b17eeec32
> 
> What's happening is:
> 
>> node 560d1497c659914905e046bade1c570e9b477396 in manifests not in
>> tools/examples/init.d/xend
> 
> This filename contains a directory ending with .d. If we were to add
> a file called tools/examples/init to the repo, it would be stored as
> .hg/tools/examples/init.[di] and collide with your directory.  
> 
> To avoid this problem, we're now escaping such directory names by
> adding .hg. So the above becomes tools/examples/init.d.hg/xend. 
> 
> Unfortunately Mercurial doesn't automatically fix up stuff in the old
> style - I naively expected that no one would yet have such
> directories, ignoring the fairly common practice of naming
> directories of config exploded config files that way.   
> 
> But dealing with it is pretty easy, you just need to rename the
> problematic directories. Something like this should do the trick: 
> 
>  find .hg -type d -name "*.[di]" -exec echo mv {} {}.hg ";"
> 
> Run this at the top of your working dir. Take out the 'echo' once
> you've confirmed it's finding the right files. 
> 
> Also note that 0.6c and 0.6b clients should be perfectly compatible
> over the wire, so long as each side has the appropriate directory
> naming.  
> 
> But if you use 0.6c to pull into a repo created by 0.6b with changes
> that touch files in an affected directory, you're likely to have
> strange behavior.  

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.