D Programming Language source (dmd, phobos, etc.) has moved to github

Nick Sabalausky a at a.a
Tue Jan 25 14:28:22 PST 2011


"Vladimir Panteleev" <vladimir at thecybershadow.net> wrote in message 
news:op.vpvv5sn8tuzx1w at cybershadow.mshome.net...
> On Tue, 25 Jan 2011 23:08:13 +0200, Nick Sabalausky <a at a.a> wrote:
>
>> Browsing through http://hginit.com/index.html, it looks like with Hg,
>> everything works just as well as with SVN, the only difference being that
>> you need to remember to specify which repository you're talking about
>> whenever you give a number.
>
> Not just what repository, but what clone of the repository!

That's the same exact concept, isn't it? My understanding is that a clone of 
a DVCS repository *is* a distinct DVCS repository. So, yea, like I said, you 
have to specify "which repository". The "common dev" repository. The "main 
stable repository". The "only shared repository this small project actually 
has". Or "Bob's repository" for what little that would be worth.


> It's explained  in http://hginit.com/05.html. The number only makes sense 
> for the clone of  the repository you're working on right now - basically 
> you can't tell that  number to anyone, because it might mean something 
> entirely different for  them.
>

Yea, that's what I was looking at. The numbers for a *local* repository 
aren't really usable by anyone else since no one else has access to it. But 
it's extremely rare not to have at least one *common* repository that 
everyone pushes/pulls to. I see no reason why the numbers of those common 
repositories can't be used among multiple people, again, providing that it's 
understood which repository is being talked about.


>> Obviously I'm not saying "DMD should have gone Hg", I'm just kinda 
>> shocked
>> by how horrid Git's approach is for referring to changesets. (Personally,
>> that alone would be enough to get me to use Hg instead of Git for my own
>> projects. Heck, I've become pretty much sold on the idea of DVCS, but
>> because of this I think I'd actually sooner use SVN for a new project 
>> than
>> Git.)
>
> I think you need to take some time and think about it. It's impossible to 
> use a global incrementing revision number with any DVCS!

I don't understand why you think I'm claiming anything of the sort. I never 
said anything like that. I keep saying over and over and over and over and 
over and over and over....."changeset number **PLUS WHICH REPOSITORY (and 
maybe branch, depending how the given system chooses to work)**"


> In fact, I dare  to think that Hg having revision numbers is a stupid 
> mistake that tries to  make SVN users comfy, but will only lead to 
> confusion and angst when  people try to refer to revisions by their 
> "number".
>

There are plenty of things about *any* DVCS that are going to confuse people 
who try to treat it like SVN. If that was a valid reason not to do something 
a certain way, then Hg/Git/etc would all have to *be* SVN.


>> Additionally, Hg's approach provides a trivial way to disambiguate hash
>> collisions. I know that Git book brushes it off as "very rare", but it's 
>> not
>> as if nobody's ever going to run into it.
>
> Um, what method is that?

Version number together with being specific about which repository.


> Also, saying that SHA-1 hash collisions are "very  rare" is a bit of an 
> understatement.
>

Point is, it's possible and it's going to happen at least to someone, and 
frankly, such things *have* happened. Winning the lottery and getting hit by 
lighting are *extremely* rare, and yet there are a *lot* of people who have 
had it happen. The problem is they're taking "rare" (doesn't matter what 
superlative is used) and pretending it's the same as "impossible". Airplane 
crashes and major earthquakes are extremely rare, but they sure as hell plan 
for what happens should such an event occur.





More information about the Digitalmars-d-announce mailing list