Thread (200 messages) flat view 200 messages, 32 authors, 2016-08-11

Re: VCS comparison table

From: Aaron Bentley <hidden>
Date: 2016-06-15 22:42:44

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andreas Ericsson wrote:
Aaron Bentley wrote:
quoted
When two people have copies of the same revision, it's usually because
they are each pulling from a common branch, and so the revision in that
branch can be named.  Bazaar does use unique ids internally, but it's
extremely rare that the user needs to use them.
Well, if two people have the same revision in git, you *know* they have
pulled from each other
No, you don't.  They may have each pulled from a different repository.

Take revision 00aabbcc, created by Linus.  Linus has it because he
committed it.  I have it because I pulled Linus' repository.  You have
it because Andrew Morton pulled Linus' repository, and you pulled Andrew
Morton's repository.
quoted
But tags have local meaning only, unless someone has access to your
repository, right?
I imagine the bazaar-names with url+number only has local meaning unless
someone has access to your repository too.
Yes.  That phrasing was from Linus' description of revnos.
One of the great benefits of
git is that each revision is *always exactly the same* no matter in
which repository it appears. This includes file-content, filesystem
layout and, last but also most important, history.
In Bazaar, a revision id always refers to the same logical entity, but
it may be stored in different formats in different repositories.
quoted
- - you can publish a repository without publishing its working tree,
  possibly using standard mirroring tools like rsync.
Can't all scm's do this?
With most SCMs that store the repository in the root of the tree,
disentangling the tree and repository requires care.  OTOH, this is just
as easy with Arch, CVS and SVN as it is with Bazaar.
quoted
- - you can use a checkout to maintain a local mirror of a read-only
  branch (I do this with http://bazaar-vcs.com/bzr/bzr.dev).
Check. Well, actually, you just clone it as usual but with the --bare
argument and it won't write out the working tree files.
No, I *want* the working tree files.  I run bzr from a checkout of bzr.dev.
quoted
You can operate that way in bzr too, but I find it nicer to have one
checkout for each active branch, plus a checkout of bzr.dev.  Our switch
command also rewrites only the changed part of the working tree.
Works in git as well, but each "checkout" (actually, locally referenced
repository clone) gets a separate branch/tag namespace.
In our terminology, if it can diverge from the original, it's a branch,
not a checkout.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFFNOM10F+nu1YWqI0RAvNUAJwN/QviOs+sUuN9ep4Otyrgax9SmwCfSH7t
XdxOxo7smshNlzU3qoxq6Nw=
=nxsM
-----END PGP SIGNATURE-----
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help