Nicolas Pitre [off-list ref] writes:
You don't really merge a commit _object_.
You merge with one or more other commits, tipycally identified by a
branch name or a tag.
Strictly speaking, you can merge any commit, not necessarily a branch
or a tag. That can be "git merge 66f0a4d" or whatever. Admitedly, the
common case is to merge a tag or a branch (which is why I keep it in
parentheses).
Now, I don't understand the distinction you seem to be making between
"commit" and "commit object".
--
Matthieu
On Mon, 3 Mar 2008, Matthieu Moy wrote:
Nicolas Pitre [off-list ref] writes:
quoted
You don't really merge a commit _object_.
You merge with one or more other commits, tipycally identified by a
branch name or a tag.
Strictly speaking, you can merge any commit, not necessarily a branch
or a tag. That can be "git merge 66f0a4d" or whatever. Admitedly, the
common case is to merge a tag or a branch (which is why I keep it in
parentheses).
Yes, and I've been meaning the same all along.
Now, I don't understand the distinction you seem to be making between
"commit" and "commit object".
Objects are what the low level storage is made of. Conceptually, The
merge operation doesn't work at the object level, but rather at the
history graph level. You don't merge objects, you merge history.
I think it is unnecessary and probably best not to
mention the word "object" in this case.
The alternative is to provide more detailed explanation, such as:
A merge is made by joining one or more history line to the current
'HEAD' branch. Those history lines are denoted by their terminating
commit. To identify them, the SHA1 name of the corresponding commit
object is used, or more frequently the name of the branch or tag
currently pointing at such commit objects.
but while this is more correct strictly speaking as the relation between
a merge and a commit object is made, I don't know if this is any more
enlightening to those who ope to learn something from the reading the
documentation.
Nicolas
Nicolas Pitre wrote:
On Mon, 3 Mar 2008, Matthieu Moy wrote:
quoted
Nicolas Pitre [off-list ref] writes:
quoted
You don't really merge a commit _object_.
You merge with one or more other commits, tipycally identified by a
branch name or a tag.
Strictly speaking, you can merge any commit, not necessarily a branch
or a tag. That can be "git merge 66f0a4d" or whatever. Admitedly, the
common case is to merge a tag or a branch (which is why I keep it in
parentheses).
Yes, and I've been meaning the same all along.
quoted
Now, I don't understand the distinction you seem to be making between
"commit" and "commit object".
Objects are what the low level storage is made of. Conceptually, The
merge operation doesn't work at the object level, but rather at the
history graph level. You don't merge objects, you merge history.
I think it is unnecessary and probably best not to
mention the word "object" in this case.
The alternative is to provide more detailed explanation, such as:
A merge is made by joining one or more history line to the current
'HEAD' branch. Those history lines are denoted by their terminating
commit. To identify them, the SHA1 name of the corresponding commit
object is used, or more frequently the name of the branch or tag
currently pointing at such commit objects.
"... The SHA1 name or, more frequently, branch- or tag-names currently
pointing to such commits are used to identify them."
commit object = meta-data containing author/committer info, one or more
parent links and a tree object describing the state of
the tracked content
commit = A particular point in history.
At least afaiu.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231