From: Raimund Bauer Date: Wed, 25 Jun 2008 20:12:54 GMT Subject: Re: policy and mechanism for less-connected clients Message-ID: <1214424774.6570.21.camel@doriath> In-Reply-To: On Wed, 2008-06-25 at 15:17 -0400, Daniel Barkalow wrote: > You have a fundamental misconception about git's data model. A commit > doesn't have a particular branch it is on. There is only the DAG, where > each node is a commit that is structured identically to all of the other > commits. Branches pick out particular nodes in the DAG at particular > times. But a branch in repository also has a local history. The ref-log. And git could use that to produce a distributed branch-history. A developer prepares a series of commits in a local branch to push to the server. On the server the ref-log of a branch gets updated with a new entry for each push, and other developers pulling from the server get the servers ref-log as ref-log of their remote tracking branch and can see the push-points there. Those push-points seem to be somehow more important than other commits - there was a reason for the first developer to push right this branch tip, right? Seems like valuable (optional) information to me.  > It therefore doesn't make any sense to ask if a commit is directly hanging > off of master. If your local branch is up to date, and you commit, your > commit's parent is the current master. If you now check out master and > merge your local branch, master gets the same (non-merge) commit. Check if the commit is in master's ref-log? regards, Ray