View mode: basic / threaded / horizontal-split · Log in · Help
January 28, 2011
Re: D Programming Language source (dmd, phobos, etc.) has moved to github
Am 28.01.2011 12:30, schrieb Russel Winder:
> On Thu, 2011-01-27 at 13:33 -0800, Bill Baxter wrote:
>> On Thu, Jan 27, 2011 at 1:13 PM, Nick Sabalausky<a@a.a>  wrote:
> [ . . . ]
>>> Yea, and that's pretty much the original thing I was saying: It's nice that
>>> Hg seems to have it, but Git doesn't appear to be particularly interested in
>>> it.
>>
>> I think it's very handy for all the reasons you said.  I don't think
>> I've every had to use a big hex string when dealing with mercurial.
>> Maybe once or twice max.  Most of the stuff you do with repo history
>> as an individual developer is all about the local copy of the tree on
>> your system.  Globally unique identifiers aren't needed for that.  It
>> looks like Bzr does something similar.  Not sure why Git hasn't gotten
>> this particular nicety.
>
> Bazaar does indeed have revision numbers per branch.  Note that branch
> and repository is a different concept in Bazaar, unlike Git and
> Mercurial where they are fundamentally the same.
>
I don't know Git but in Mercurial speech a branch is what you get when 
using the 'hg branch' command. It's like a tag but a commit can only 
belongs to exactly one branch ('default' is the default branch). All 
commits to all branches are put together in one repository.

Mafi
January 28, 2011
Re: D Programming Language source (dmd, phobos,etc.) has moved to github
On Thu, 27 Jan 2011 21:48:28 +0200, Don <nospam@nospam.com> wrote:

> No. Just one repository number, and one revision number. You just need  
> to be sensible in how the clone numbers are assigned. That's easy.
> Basically every repository has a number of clone numbers it can assign.
> Every clone gets a subset of that range. Dealing with the situation when  
> the range has run out is a bit complicated, but quite doable, and there  
> are steps you can take to make it a very rare occurence.

Giving this some thought, I'm now confident that this is not possible. The  
assignment algorithm must take into account all variations of imaginable  
cases (cloning hierarchy up to a certain depth). We're talking about an  
algorithm must give a unique ID to each node in an implicit tree, not  
knowing about the state of the rest of the tree except the state of each  
new node's parent. The only sensible solutions will quickly generate  
humongous numbers for some or other common real-life scenarios.

I believe we're not still arguing that these numbers must also be useful  
beyond their terseness and uniqueness?

I think it's easier to just use the first 5 characters from Git's SHA-1  
hash.

> I'm not have almost zero interest in this stuff, so I won't say any  
> more. I'm really just commenting that it's not difficult to envisage an  
> algorithm which makes exposing a random hash unnecessary.

You're welcome to not reply.

-- 
Best regards,
 Vladimir                            mailto:vladimir@thecybershadow.net
January 28, 2011
Re: D Programming Language source (dmd, phobos,etc.) has moved to github
On Thu, 27 Jan 2011 21:48:28 +0200, Don <nospam@nospam.com> wrote:

> Yes, in theory that's true. In practice, I don't believe it.
> Just because you're using a DVCS doesn't mean you have no project  
> organisation whatsoever. There's always going to be a repository that  
> the release is made from.

Git was written specifically to aid the development of the Linux kernel,  
which is perhaps the most obvious counter-example to what you're stating.  
In the context of a distribution, the "main repository" of the project is  
the distro's kernel repository, where distro-specific development is made  
and upstream patches are merged in. The same can be said about Android, a  
widely-forked project.

-- 
Best regards,
 Vladimir                            mailto:vladimir@thecybershadow.net
January 28, 2011
Re: D Programming Language source (dmd, phobos, etc.) has moved to github
Russel Winder, el 28 de enero a las 11:30 me escribiste:
> On Thu, 2011-01-27 at 13:33 -0800, Bill Baxter wrote:
> > On Thu, Jan 27, 2011 at 1:13 PM, Nick Sabalausky <a@a.a> wrote:
> [ . . . ]
> > > Yea, and that's pretty much the original thing I was saying: It's nice that
> > > Hg seems to have it, but Git doesn't appear to be particularly interested in
> > > it.
> > 
> > I think it's very handy for all the reasons you said.  I don't think
> > I've every had to use a big hex string when dealing with mercurial.
> > Maybe once or twice max.  Most of the stuff you do with repo history
> > as an individual developer is all about the local copy of the tree on
> > your system.  Globally unique identifiers aren't needed for that.  It
> > looks like Bzr does something similar.  Not sure why Git hasn't gotten
> > this particular nicety.
> 
> Bazaar does indeed have revision numbers per branch.  Note that branch
> and repository is a different concept in Bazaar, unlike Git and
> Mercurial where they are fundamentally the same.

WRONG about Git.

AFAIK only in Darcs branch and repository is the same.

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
You can try the best you can
If you try the best you can
The best you can is good enough
January 28, 2011
Re: D Programming Language source (dmd, phobos, etc.) has moved to github
On Fri, 2011-01-28 at 12:43 -0300, Leandro Lucarella wrote:
> Russel Winder, el 28 de enero a las 11:30 me escribiste:
[ . . . ]
> > Bazaar does indeed have revision numbers per branch.  Note that branch
> > and repository is a different concept in Bazaar, unlike Git and
> > Mercurial where they are fundamentally the same.
> 
> WRONG about Git.

Depends what you thought I was saying . . . 

> AFAIK only in Darcs branch and repository is the same.

. . . I think you misunderstood what I meant by my statement.

What I was trying to say was that Git and Mercurial have effectively the
same ideas of repository and branch (at least from a surface usage
perspective -- there are significant differences if you delve deeply).
Bazaar has a very different idea of what branch and repository are.  So
in this respect Git and Mercurial are in the same equivalence class and
Bazaar is in a different one.  I have no idea where Darcs would sit, I
have never used it beyond trying to compile Haskell this time last year.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
January 29, 2011
Re: D Programming Language source (dmd, phobos, etc.) has moved to github
Russel Winder wrote:
> On Fri, 2011-01-28 at 12:43 -0300, Leandro Lucarella wrote:
>> Russel Winder, el 28 de enero a las 11:30 me escribiste:
> [ . . . ]
>>> Bazaar does indeed have revision numbers per branch.  Note that branch
>>> and repository is a different concept in Bazaar, unlike Git and
>>> Mercurial where they are fundamentally the same.
>> WRONG about Git.
> 
> Depends what you thought I was saying . . . 
> 
>> AFAIK only in Darcs branch and repository is the same.
> 
> . . . I think you misunderstood what I meant by my statement.
> 
> What I was trying to say was that Git and Mercurial have effectively the
> same ideas of repository and branch (at least from a surface usage
> perspective -- there are significant differences if you delve deeply).
> Bazaar has a very different idea of what branch and repository are.  So
> in this respect Git and Mercurial are in the same equivalence class and
> Bazaar is in a different one.  I have no idea where Darcs would sit, I
> have never used it beyond trying to compile Haskell this time last year.
> 
	In Mercurial (and AFAIK Git), branches and repositories are
completely different concepts. A repository is a folder on your hard
drive. A branch is a history line inside a repository so it's not
that different from Bazaar. The only difference I see is that Bazaar
allows you to clone a single branch (i.e to create a repository that
will only contain that single branch) whereas a clone of a Mercurial
repository will always contain all the branches that the parent had
(don't know about Git).

		Jerome
-- 
mailto:jeberger@free.fr
http://jeberger.free.fr
Jabber: jeberger@jabber.fr
January 29, 2011
Re: D Programming Language source (dmd, phobos, etc.) has moved to github
On Sat, 2011-01-29 at 11:18 +0100, "Jérôme M. Berger" wrote:
[ . . . ]
> 	In Mercurial (and AFAIK Git), branches and repositories are
> completely different concepts. A repository is a folder on your hard
> drive. A branch is a history line inside a repository so it's not

Definitely, this is not at issue.  The way Git and Mercurial store
information about branches and tags within a repository is very
different.  This leads to a few observable differences in the way
branches and commits behave, but in the main there is similarity not
difference.  Caveat Git's index of course.

> that different from Bazaar. The only difference I see is that Bazaar
> allows you to clone a single branch (i.e to create a repository that
> will only contain that single branch) whereas a clone of a Mercurial
> repository will always contain all the branches that the parent had
> (don't know about Git).

This is not quite the right view of Bazaar.  In Bazaar, the branch is
the only thing that exists: each branch is a standalone entity that may
or may not have a working tree.  Bazaar also has shared repositories
which can act as containers of branches, allowing related branches to
share common information thereby saving resources.  This is a very, very
different concept of repository compared to Mercurial or Git.  In Bazaar
you do not branch repositories, you branch branches -- which may (or may
not) be stored in repositories.  As you say with Git and Mercurial you
clone repositories.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
January 29, 2011
Re: D Programming Language source (dmd, phobos, etc.) has moved to
Russel Winder Wrote:

> On Sat, 2011-01-29 at 11:18 +0100, "Jérôme M. Berger" wrote:
> [ . . . ]
> > 	In Mercurial (and AFAIK Git), branches and repositories are
> > completely different concepts. A repository is a folder on your hard
> > drive. A branch is a history line inside a repository so it's not
> 
> Definitely, this is not at issue.  The way Git and Mercurial store
> information about branches and tags within a repository is very
> different.  This leads to a few observable differences in the way
> branches and commits behave, but in the main there is similarity not
> difference.  Caveat Git's index of course.
> 
> > that different from Bazaar. The only difference I see is that Bazaar
> > allows you to clone a single branch (i.e to create a repository that
> > will only contain that single branch) whereas a clone of a Mercurial
> > repository will always contain all the branches that the parent had
> > (don't know about Git).
> 
> This is not quite the right view of Bazaar.  In Bazaar, the branch is
> the only thing that exists: each branch is a standalone entity that may
> or may not have a working tree.  Bazaar also has shared repositories
> which can act as containers of branches, allowing related branches to
> share common information thereby saving resources.  This is a very, very
> different concept of repository compared to Mercurial or Git.  In Bazaar
> you do not branch repositories, you branch branches -- which may (or may
> not) be stored in repositories.  As you say with Git and Mercurial you
> clone repositories.
> 
> -- 
> Russel.
> =============================================================================
> Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net
> 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@russel.org.uk
> London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
> 

The conceptual difference described above seems to me more of an insignificant minor implementation detail than anything else. 

A git repository can contain one or more branches and you obviously can have more than one repository so this boils down to your personal workflow preferences. 
In other words you can have multiple repositories for the same project and just use them as branches. Git also provides sub-module support such that one repository contains other repositories. 
Also, while "git clone" indeed copies all the upstream branches, it's also simple to track just a specific branch (or any subset) of the upstream branches. It's just a matter of doing a git init with the relevant options instead of relying on the default git clone behavior.
January 29, 2011
Re: D Programming Language source (dmd, phobos, etc.) has moved to
On Sat, 2011-01-29 at 09:49 -0500, foobar wrote:
[ . . . ]
> The conceptual difference described above seems to me more of an insignificant minor implementation detail than anything else. 

Not at all.  But I am really not going to argue the point any further.
D has chosen Git, which is fine.

> A git repository can contain one or more branches and you obviously can have more than one repository so this boils down to your personal workflow preferences. 
> In other words you can have multiple repositories for the same project and just use them as branches. Git also provides sub-module support such that one repository contains other repositories. 
> Also, while "git clone" indeed copies all the upstream branches, it's also simple to track just a specific branch (or any subset) of the upstream branches. It's just a matter of doing a git init with the relevant options instead of relying on the default git clone behavior. 

Yes, but this (except tracking branches) applies to Mercurial as well.
And mostly to Bazaar.  However note the above.

Tracking branches are probably the single most useful thing in Git
compared to Mercurial and Bazaar.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
Next ›   Last »
5 6 7 8 9
Top | Discussion index | About this forum | D home