On Wed, 26 Jan 2011 23:22:34 +0200, Don <nos...@nospam.com> wrote:

Vladimir Panteleev wrote:
On Wed, 26 Jan 2011 06:33:35 +0200, Don <nos...@nospam.com> wrote:

I think this is a fallacy. It only applies if you
(1) *completely disallow* any centralisation -- which I don't think ever happens in practice!
What about the Linux kernel? There's Linus's git repo, and lots of repos maintained by others (e.g. Linux distros). The other distros are not a superset of Linus's repo, they have their own branches with various project-specific patches and backports. Git was written for this specifically.

Yes, but each distro has a trunk, in which all commits are ordered by time. There's always an official version of every branch.

Ordered by time of what? Time of merging into the branch? That's not very useful, is it? They can't be ordered by time of authorship, for certain.

"Official" is technically meaningless in a DVCS, because no repository is holy by design (otherwise it wouldn't be really distributed). If the maintainer of a repository becomes MIA, anyone can take over without any problems.

and (2) demand that cloning a repository be an entirely read-only operation (so that the repository doesn't know how many times it has been cloned) and (3) demand that the revision numbers behave exactly as they do in svn.
Then you're suggesting that the commit identifiers basically contain the clone history?

Yes, I think it could be done that way. Identifier would be composed of clonenumber+commitnumber. Where it is the location of the original change. Yes, there are difficulties with this scheme, but I think they are the same challenges as for implementing merges on a centralised VCS such as Subversion. I don't think there's anything insurmountable.

Then a clone of a clone of a clone of a clone needs four clone numbers, plus a revision number. It'd look something like 5:1:2:1:1056.

--
Best regards,
 Vladimir                            mailto:vladi...@thecybershadow.net

Reply via email to