[new-extension] hg breakout

Essien Ita Essien me at essienitaessien.com
Fri Aug 31 18:26:25 CDT 2007

Guido Ostkamp wrote:
> Hello,
> On Fri, 31 Aug 2007, Essien Ita Essien wrote:
>> Finally, reviews please... anything i'm obviously (or not so obviously) 
>> doing wrong?
>> Is this something that people find usefull? Is it something that would 
>> probably find itself one day (ohh... the wild dreams) upstream?
> I checked out your extension.
> The README, 'hg help' output (without args) contained lines with > 80 
> characters which does not display well. These should be wrapped to stay 
> below 80 characters.

argghh!!! my widescreen bad habits... fixed now.

> In the README I missed hints on how to activate the extension, e.g. which 
> entry to add in .hgrc etc.

oops... my mistake... updated the README now.
> The command names should be easy to understand, but aren't. So perhaps, it 
> would be better to have a 'hg breakout' command and then some mandatory 
> additional parameter (giving e.g. 'hg breakout copy') instead of things 
> like 'bo-copy' etc.

ahh.. i see what you mean. Looks good to me too. I'll hook that up in a 
few. Can you still try it with the current commands, to get a full feel 
of it? thnx.

> When I tried to 'bo-copy' (your first example) I found the working 
> directory to be as expected, however the internal '.hg' still included the 
> complete history of all files out of scope.

Yeah... this is the expected behaviour... I'm guessing since you didn't 
see the docs properly you didn't read to see the different concepts: 
_cut_ vs _copy_

> This means, if you break a 1 GB repository (consider size without working 
> copy) with 10 directories with approx. balanced number of changes into 10 
> repositories with your tool, you won't get 10 * 100 MB repositories as 
> expected, but 10 * 1 GB repositories.

What you're looking for is the bo-cut command. A _copy_ operation 
retains history while a _cut_ operation truncates history. I guess most 
of the time you'll be using the _cut_ operation, if i go the route of:

hg breakout [command] [options]

I'll prolly setup _cut_ as the default command.
> To be useful, I would have expected that your extension scans the old 
> repositories changesets to generate new changesets in the new repository 
> that contain just changes to files in the selected directory, possibly by 
> replaying those changes.

The bo-cut does just this, and bo-explode does this for all sub 
directories under the root of the repo.

> I'm sorry if my comments are a bit disappointing for you. I'm just a user, 
> not a Mercurial developer and it could be that others think differently 
> about the matter.

Naaaa... on the contrary... they're better than I expected... you 
actually TRIED to use the extension... excellent :)

If we can keep up this feedback look up a few iterations, I'll iron out 
the remaining kinks.

really appreciated.
> Regards
> Guido
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel

More information about the Mercurial-devel mailing list