Thread (205 messages) flat view 205 messages, 28 authors, 2016-08-12

Re: VCS comparison table

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

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

Jakub Narebski wrote:
Aaron Bentley wrote:
quoted
Linus Torvalds wrote:
quoted
On Tue, 17 Oct 2006, Aaron Bentley wrote:
quoted
quoted
Excuse me? What does that "throws away your local commit ordering" mean?
Say this is the ordering in branch A:

a
|
b
|
c

Say this is the ordering in branch B:

a
|
b
|\
d c
|/
e

When A pulls B, it gets the same ordering as B has.  If B did not have e
and c, the pull would fail.
Sure. But that doesn't throw away any local commit ordering. The original
order (a->b->c) is still very much there.
After the pull, it's no longer the mainline ordering for the branch.  c
is represented a revision that was merged into the branch, while d is
represented as a commit on the mainline of the branch.
Well, that is another example while generation number is/can be global,
any numbering of branches must be local-only.
No.  The numbering always follows the leftmost parent.  So each revision
has a permanent (but non-unique) number.
That doesn't matter...
It has significant UI impact.
quoted
and the revision numbers can change.
...but that means that revision numers are totally, absolutely useless.
Unless by some miracle of engineering, or adding namespace, they can be
made unchangeable.
No, because no one pulls unless they're trying to maintain a mirror of
the other branch, or else they decide to throw their local history away.
quoted
Nobody is forced to use your local view.
But if you record "fast-forward merge", you force all people pulling
from your repository to have this purely local and without any significant
information "I have fetched then" marker.
Even if I agreed that the revision was meaningless, the cost of such a
revision is miniscule.
quoted
quoted
In other words, the empty merge is totally semantically empty even in the
bazaar world. Why does it exist?
It exists because it is useful.  Because it makes the behavior of bzr
merge uniform.  Because in some workflows, commits show that a person
has signed off on a change.
Signing off the fact of fetching changes? For true merge you are signing
off the fact that there were no conflicts, or you sign off your conflict
resolution.
You sign off on the contents of the revision you fetched.  You say "I
have reviewed this revision, and approved it."
quoted
It's not something special-- it's just another commit, like regular
commits, and merge commits.  It would be harder to forbid than it is to
permit.
Actualy the check is very easy.
Agreed.  It's just that not checking is easier still.

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

iD8DBQFFNXzD0F+nu1YWqI0RAiGvAJsEbPNNlqZ7QCH7EE39YABqEm/BtwCaAxIo
NHqG4NVZpvymTUlCLYyCqKM=
=YUdC
-----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