DVCS PEP
Theodore Tso
tytso at mit.edu
Fri Jan 23 13:24:03 UTC 2009
On Fri, Jan 23, 2009 at 01:07:38PM +0100, Martin Geisler wrote:
> "Alexander Solovyov" <piranha at piranha.org.ua> writes:
>
> > For example, in "Backing Out Changes":
> >
> >> Note that if the change you want revert is the last one that was
> >> made, you can just use bzr uncommit.
> >
> > But "hg rollback" is not mentioned for hg, though it's used for the
> > same purpose.
>
> Good catch!
... and note that if you are trying to back out the last change that
was just made for git, the command is "git reset --hard HEAD^".
In all cases --- hg, git, and bzr --- it's important that the commit
in question has *not* been made public or published yet. If it has
been published, you can't use bzr uncommit // hg rollback // git reset
--hard HEAD^, but rather must use the more complicated commands (i.e.,
bzr merge -r 40..39 // hg backout // git revert) which create a new
"revert" commit that then must be pushed out to the world.
> > Backport:
> >
> > It's funny that Bazaar section starts with "Bazaar is pretty
> > straightforward here" and Mercurial section starts with "Mercurial,
> > like other DVCS, does not well support the current workflow".
>
> I agree, the Mercurial and Bazaar commands are equivalent and
> therefore both are straightforward.
The only difference is that with Mercurial you must install the
Transplant extension, whereas with Bzr it is a built-in command.
Creating documentation telling Python developers which Hg extensions
must be activated first largely solves this issue, though. This might
be something you might want to mention in "Initial Setup" section of
the PEP.
> Git has "git daemon", but I could not figure out if it gives a
> full-fledged HTTP repository browser like "hg serve" does. If not,
> then it should be noted in the PEP since "hg serve" is a killer
> feature, especially on Windows where you might not have an Apache
> installation at hand to install a CGI script into...
Git's quick-and-dirty start-a-http-server command is "git instaweb";
it is separate functionality from "git daemon".
Regards,
- Ted
More information about the Mercurial
mailing list