[issue3012] convert writes shamap to source repository by default

Søren Løvborg bugs at mercurial.selenic.com
Fri Sep 16 06:31:43 CDT 2011


New submission from Søren Løvborg <kwi at kwi.dk>:

Using Mercurial 1.9.2+19-ec222a29bdf0 from Ubuntu "Mercurial stable 
snapshots" PPA.

When converting Hg to Hg, the convert extensions writes its revision map 
not only to the "shamap" file in the target repository, but also to shamap 
in the _source_ directory, presumably to enable round-trip conversions.

This feature is apparently not optional - where the target shamap can be 
"disabled" by specifying /dev/null as the third argument to convert, the 
source shamap will always be updated.

This behaviour violates the principle of least astonishment: I was very 
surprised to find that a conversion would alter anything about the _source 
repository_ by default.

In particular, it means that one cannot convert a repository without write 
access to the source:

    abort: Permission denied: source/.hg/shamap

The behaviour also exposed a bug in the svn conversion, for which I'll file 
a separate bug report.

----------
messages: 17482
nosy: kwi
priority: bug
status: unread
title: convert writes shamap to source repository by default
topic: 1.9, convert

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue3012>
____________________________________________________


More information about the Mercurial-devel mailing list