[issue1510] recentralised mode of operation

Bill Barry after.fallout at gmail.com
Wed Feb 11 08:57:32 CST 2009


I am playing around with something like this as an extension; hopefully 
something will be up at bitbucket by the end of the day (I am at GMT-7).

I'll post when I have a bit more info.

Philippe Biondi wrote:
> New submission from Philippe Biondi <hgissues.web at secdev.org>:
>
> In my world, which is not ideal, I need a way to be reasonably sure that all
> people working on a project will have their changesets backed up and shared on a
> central repository, even if they are absent-minded or not that familiar with VC
> programs, and without prior configuration of their computer (i.e. download
> mercurial, clone the central repository, and work)
>
> In hg words, people commit, but they often forget to push. And that's why I'm in
> a situation where I let people keep on working with svn while they (and I) would
> benefit from some nice mercurial features, and even, paradoxically, its
> distributed side.
>
> The point of this issue is not to enumerate workarrounds like using a net drive
> or switching to bzr, or to argue whether this is in the "spirit" of DVCS or not,
> but to discuss a cheap way to bring this to mercurial.
>
> My proposal is to add an autopush feature (i.e. commit will push if possible)
> and make it inherited by clones to avoid forcing people to tweak their hgrc each
> time they clone something, or even their system's or $HOME hgrc.
>
> Details:
>
> - add an "autopush_mode" parameter whose value is inherited by cloning.
>   Possibles values are "off" (default), "master" and "parent"
> - add an "autopush_master" parameter whose values are "yes" and "no" (default).
> - add an "autopush" parameter which is a list of repositories' paths where
>   to try to push automatically at each commit
>
> Then, there are transition rules.
> If you clone a repository whose autopush_mode is  
> - "off": do as usual
> - "parent": 
>      + copy "autopush_mode" from parent
>      + add "autopush = <parent's repository path>"
> - "master"
>      + copy "autopush_mode" from parent
>      + if parent is master ("autopush_mater = yes")
>          + add "autopush = <parent's repository path>"
>      + if parent is not master
>          + copy "autopush" from parent
>
>
> At last some details must be taken care of:
> - when cloning an autopush-enabled repository, this should be clearly
> mentionned, and even a confirmation should be asked. This is to avoid a
> "call home syndrome"
> - if an autopush is failing (no network, repository moved, etc.) the commit
> should appear to user as clearly successful and a warning should be displayed
> about the fact the autopush was not done.
>
> There may probably have other issues, but at least the idea is out of the bag :)
>
> ----------
> messages: 8582
> nosy: phil
> priority: wish
> status: unread
> title: recentralised mode of operation
>
> ____________________________________________________
> Mercurial issue tracker <mercurial-bugs at selenic.com>
> <http://www.selenic.com/mercurial/bts/issue1510>
> ____________________________________________________
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
>
>   



More information about the Mercurial-devel mailing list