On Sat, 2006-10-21 at 13:47 -0700, Carl Worth wrote:
Having used both (though my familiarity with git is less), in my opinion
the biggest win is the obvious one: sequential numbers work in the head
better than SHA1 checksums.
"But it's not a problem in practice!" is a good retort, except that I
wonder whether the set of "practices" you're using includes anyone who
decided to pass on git in favor of something else--perhaps because they
saw a few SHAs float by and ran in terror. Beware of self-selection
bias.
Put another way, "strength" of example is often in the eye of the
beholder. That we continue to give you the same "weak" examples may be
evidence that we have a different impression of their strengths, and
that your analysis of their strengths isn't convincing to us.
I suppose this line of conversation still has value if you don't see any
benefit at all, but OTOH if you really don't see how sequential numbers
are easier to work with in the head than SHA sums with modifiers, I'm
not sure that's a gap we can bridge.
I don't see any problems with it.
I wonder if part of the problem is that the revno scheme we've been
talking about (the x.y.z... format) doesn't technically exist in any
released version of bzr that I know of.
Previous to 0.12, bzr revnos were absolutely a local thing; revisions
from merges didn't even have revnos (except for the merge commit
itself). If you merged a branch and you later wanted to recreate that
branch, or see a diff from that branch, etc., you had to use revids.
So when you talk of a "centralization bias" in bzr, a lot of us get
confused, defensive, etc., because from our perspective, bzr and git
weren't all that much different until just recently.
Now it may be that you're right that "global" revnos like bzr has now
introduce a bias in favor of centralization. If that's true, I'm not
sure that totally vindicates the git model. We have to ask if the bias
is a good thing, but so do you; after all, we may have done so because
of user demand, and if our users want it, maybe yours will want it too
someday.
(I say "may" because I haven't been paying close attention to the new
revno conversation, so I don't want to sound more sure than I am.)
But I think bzr people are more willing to take a wait-and-see approach.
Local revnos weren't a big deal, so we're willing to bet that the new
0.12 revnos won't be, either.
FYI: The strict analogy to HEAD~1 in bzr would be -2. And yes, -2 is
every bit as unstable as HEAD~1.
URLs are also used for communication, despite having many of the same
drawbacks as revnos in DVC systems. This could have been a fatal flaw,
but in reality, this has resulted in some best practices ("permalinks",
for example), and a sense of where a URL is appropriate and where it
isn't. It's not perfect, and yet it's been wildly successful.
Copying the flaws of a highly successful system does not guarantee
success, of course. On the other hand, it does influence our evaluation
of the severity of the flaws.
There may be a danger, though, that the bzr community may want to pay
closer attention to.
Several of us have pointed to the (branch, revno) combination as a
sufficiently reliable communication method, and we may be right about
that. But, so far, those revnos have been entirely local to a single
branch, and have also been as absolutely reliable (locally speaking) as
a revid; the branch "foo" may go away, but while it's around, "revision
14 of branch foo" will always mean the same thing. But we're now adding
the 0.12 revno scheme, with "global" revnos. Will those be as reliable?
Will "revision 2418.1.4 on bzr.dev" work as well as "revision 2418 on
bzr.dev" does now?
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html