emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Git mirrors


From: Stephen J. Turnbull
Subject: Re: Git mirrors
Date: Mon, 17 Oct 2011 16:19:28 +0900

Juanma Barranquero writes:

 > > In actual practice, I don't think that's true.  Witness the complexity
 > > of BzrForEmacsDevs on the Emacs wiki.
 > 
 > Complexity? That page is almost sufficient to use Bazaar to develop
 > Emacs. "git help log" is several times longer.

Different purposes; git help provides reference documentation, while
bzr help is just verbose usage messages.  I can tell you that writing
that BzrForEmacsDevs took not only a lot of reading of "bzr help"
pages, but also Bazaar website browsing, Googling for other docs, and
even experimentation with toy repos because the bzr help is horribly
imprecise and often just plain incomplete.  So, yes, even the set of
workflows suggested in that document is already complex.

 > That's git propaganda. You cannot seriously suggest that the git model
 > is universally simpler, just that you find it so.

Of course I'm suggesting that the *model* is universally simpler.  In
git, a project's history is "the DAG", and operations do the same
thing in every context because DAG is all there is.  More recent
versions of git add new concepts such as the reflog and submodules,
but these are extensions to the basic concept of DAG, not
modifications of it; they do not change the existing behavior of
commands in dealing with existing concepts.

In bzr, every repo format behaves subtly differently requiring
upgrades to formats (fortunately, the "2a" format seems to finally be
flexible enough to handle even colocated branches), and workspace
configuration (branch, bound branch, lightweight checkout) affects the
semantics of basic commands like "commit" dramatically.  There is no
single coherent model for bzr, let alone a simple one.

I do not claim that this simple model necessarily makes git easier to
use.  Clearly, many people use tools with only local models of their
behavior (aka "what works for me"), and bzr is quite good about
providing scads of UI features corresponding to such local models.  I
do not think that's a good approach for developing free software,
YMMV.  I would prefer to see the Bazaar project become a shell around
a simple repo format such as git's, offering the best of both worlds.

 > I certainly had less trouble adapting to bazaar than git

That's not not at all what I mean by model; that's "in use", for the
particular workflow you use.

 > We can go daily working in Emacs without requiring a huge expertise
 > in bazaar.

That is true for a subset of Emacs developers.  But this is
*obviously* a *proper* subset.  For other Emacs developers, their
daily workflows require a more powerful VCS.  Otherwise they would not
go to the trouble of maintaining multiple personal git and Arch
repositories, or trying to improve the Savannah git repo for Emacs.

The point here, which has been previously made by others, is not that
Emacs should switch now.  It's that encouraging[sic] people who really
like git to use Bazaar is not good for them, it's not good for Emacs,
it's not good for Bazaar, and it's not good for GNU[1].  It's a good idea
for Emacs to provide some support for the git mirror while "promoting"
the official Bazaar repository.

Footnotes: 
[1]  "Not good for GNU" is an opinion I currently hold but could
reasonably easily be convinced otherwise.  For example, Richard's
point that Bazaar admits use of GPLv3 (Gentoo says "GPL-2" for the
installed version here, so I guess that means that Bazaar uses the "or
later version at your option" wording in the permissions notice) is
important, but I'd be happier for GNU if v3 were the minimum version.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]