Layered repositories

Erich Schubert erich at
Thu Sep 22 09:38:59 CDT 2005

> It will hide them. The last revert will overwrite.

With "hiding" I meant *removing* files in a layer, that were present in
a lower layer. Of course I often could do that with an empty file - e.g.
in cron.d - but that is not always possible, and not the nicest way...

> Well, yes, using rawcommit with -p option I think. If you mean
> committing them to another head. If not, then just a simple hg add, 
> hg commit will do what you want.

yeah, thats what I need: if I change a file from the base layer, it's
likely that I will want the same change on all machines; when I change a
file which is in the mail server layer, I'll probably only want it on
the mail servers. Otherwise I'll likely have to do the same change in
two versions of the file anyway, or I should remove the file from the
upper layer if they don't differ (anymore).

> But that's why I've told you that for development, you'd better have
> multiple repository copies, each showing a different branch of the
> repository.

Yeah, but I'm not using it for software development, but for
maintaining, updating and especially logging and archiving the
configuration of servers.

> hg status won't help you in this case. (it'll show you all files from
> other branches as unknown) You must add the files manually and not use
> hg addremove or hg commit -A.

That is why I wrote that tool...

Now back to my original question:
How hard is it to add such functionality to mercurial? ;-)

best regards,
Erich Schubert
    erich@(|    --    GPG Key ID: 4B3A135C    (o_
   To understand recursion you first need to understand recursion.   //\
     Die eigentliche Aufgabe eines Freundes ist, dir beizustehen,    V_/_
    wenn du im Unrecht bist. Jedermann ist auf deiner Seite, wenn
                   du im Recht bist. --- Mark Twain

More information about the Mercurial mailing list