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

Jonathan M Davis jmdavisProg at gmx.com
Mon Jan 24 13:49:46 PST 2011


On Monday, January 24, 2011 13:20:44 Nick Sabalausky wrote:
> "Jonathan M Davis" <jmdavisProg at gmx.com> wrote in message
> news:mailman.911.1295903507.4748.digitalmars-d-announce at puremagic.com...
> 
> > On Monday 24 January 2011 13:04:27 Nick Sabalausky wrote:
> >> "Johannes Pfau" <spam at example.com> wrote in message
> >> news:20110124163418.3880a154 at jpf-Satellite-A100...
> >> 
> >> > OK, here are some revisions:
> >> > DMD:
> >> > 2.051 seems to be revision 1374ba96fa5516d9595fa61b09015197a8b84385
> >> > 
> >> >   Note: The changelog on the website says release date Nov 7 but it's
> >> >   more like 20th December.
> >> >   Note2: The git repository contains a object.h file in that revision
> >> >   which isn't in the dmd zip.
> >> > 
> >> > 2.050 50fb3d60811b203ac50a0d9169bf15a28881c9b5
> >> > 
> >> >   Note: The git repository contains a argtypes.c file in that revision
> >> >   which isn't in the dmd zip.
> >> > 
> >> > 2.049 ab38d58ecb78924d631f7f77863fff2a6c234eb6
> >> > 2.048 bcf720fe079fd979fa9e81f63ab2de3dde9284dc
> >> > 2.047 ad4ae4a4fd3dbdb591ebc288378a7200d2ed6d48
> >> > 
> >> >   Note: In the dmd zip, there are 7 additional lines in
> >> >   root/root.c. Those were later added to the repository, but
> >> >   ad4ae4a4fd3dbdb591ebc288378a7200d2ed6d48 seems to be the correct
> >> >   commit.
> >> 
> >> Does Git really not have real revision/changeset numbers?
> > 
> > It's SHA1 hashes. And actually, considering how prevalent branching and
> > merging
> > is with git (_everyone_ has their own fork of the repository), I question
> > that
> > revision/changeset numbers would work anyway. The fact that you can
> > reorder
> > commits wouldn't help either. So, no. Git doesn't have revision or
> > changeset
> > numbers.
> > 
> > However, the git commands where you give it a revision's SHA1 only need
> > enough
> > of the SHA1 to uniquely identify it, so you rarely need to type the whole
> > thing
> > even when you're giving it the SHA1. Now, I suppose that makes things
> > like the
> > revision number for dmd 2.049 uglier, but git is very much distributed
> > and not
> > centralized in terms of how it's set up, so revision numbers in the SVN
> > sense
> > just wouldn't make sense.
> 
> Not that I've actually used DVCSes much yet, but my understanding is that
> the same can be set of Hg and yet Hg handles revision/changeset numbers
> just fine. The nice things (plural) about those is that they're both
> readable and comparable.

I don't know. I haven't used Hg. However, I have a hard time seeing how you 
could have revision numbers like subversion does. You could certainly have 
numbers which weren't hashes or in base 16, but you can't just increment the 
version number each time, or you'll run into conflicts when you go to merge. 
Maybe the Hg guys figured out something smart that manages. I don't know. But git 
uses the SHA1 hash, which is supposedly unique and avoids any version numbers 
clashing. It also serves as a means of guaranteeing that your repository hasn't 
been damaged, since if the repo's state doesn't match its SHA1, then it's not 
valid (due to data corruption or tampering or whatever).

- Jonathan M Davis


More information about the Digitalmars-d-announce mailing list