On Wed, Oct 25, 2006 at 03:40:00PM -0700 I heard the voice of David Lang, and lo! it spake thus: > > I think we are talking past each other here. > > what I think was said was > > G 'one feature of git is that you can view arbatrary slices > trivially' > > B 'bzr can do this too, you just use branches to define the slices' Ah. This is more like "bzr [mostly] only does this now in terms of a single branch (or some point back along it)". The slices that go between branches are very limited ('missing' gives you one view; 'branch:' and 'ancestor:' revision specifications give you another). bzrk/'visualize' gives an interface similar to gitk, but also only in the context of a single branch/head looking backward through its previous tree AFAIK. Any random DAG-slicing of what you have in the revision store can be done, somebody would just have to write the code for it. Nothing about 'the workflow preserves parents' would make that any harder than writing the code for git was. Much of this is probably a result of the 'branch'-centric (rather than 'repository'-centric) view of the world; similarly to the fact that branches are referred to by location (local ../otherbranch, or remote http/sftp/etc) rather than by a name. This is one of the bits of bzr I'm personally somewhat ambivalent about. > they now have threeB options Those certainly aren't the only choices, but to stay OT: > 3. pull from each other frequently to keep in sync. > > this changes the topology to > > Master > / \ > dev1--dev2 > > if they do this with bzr then the revno's break, they each get extra > commits showing up (so they can never show the same history). These two are either/or, not and; either they pull (in which case their old mainline is no longer meaningful), or they merge (in which case they get the 'extra' merge commits). > in git this is a non-issue, they can pull back and forth and the > only new history to show up will be changes. In git, this is a non-issue because you don't get to CHOOSE which way to work. You always (if you can) pull and obliterate your local mainline. In bzr, it's only an 'issue' because you CAN choose, and CAN maintain your local mainline. You CAN choose, right now, to do a git and pull back and forth and only new history show up as changed by creating a 'bzr-pull' shell script that does a 'bzr pull || bzr merge' (though you'd be a lot better off adding a '--fast-forward-if-you-can' option to merge and aliasing that over). More basically, though, I don't think that "histories become exactly equivalent" is a necessary pass-word to enter the Hallowed City of Truely Distributed Development. And I certainly see no reason to believe we'll agree on it this time any more than We (in broad) have the last 6 times it came up in the thread. -- Matthew Fuller (MF4839) | fullermd@xxxxxxxxxxxxxxx Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ On the Internet, nobody can hear you scream. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html