Linus Torvalds wrote: > - sometimes you have multiple branches in the same tree that have very > _different_ sources. For example, you might start out cloning my tree, > but if you _also_ want to track the stable tree, you just do so: you > can just do > > git fetch <repo> <remote-branch-name>:<local-branch-name> > > at any time, and you now have a new branch that tracks a different > repository entirely (to make it easier to keep track of them, you'd > probably want to make note of this in your .config file or your remote > tracking data, but that's a small "usability detail", not a real > conceptual issue). That for example allows of joining two initially separate projects into one project. For example that was the case for gitk and gitweb which are now in git.git repository. Most probably gitweb/gitk was fetched into separate gitweb/gitk branch, then merged with the 'master' branch of git (in case of gitweb we "resolved conflict" by moving all gitweb files to gitweb/ subdirectory) then propagated to other branches by merging with master. For example git has 7 "initial" (parentless) commits. Two of them are superficial 'html' and 'man' branches for automatic generation of HTML and man version of git documentation, keeping it current. There is 'todo' branch, [also] totally separate for notes. And there are initial commits of git, git-tools, gitk and gitweb: * Initial revision of "git", the information manager from hell * Start of early patch applicator tools for git. * Add initial version of gitk to the CVS repository * first working version [of gitweb: this commit message should be more descriptive] $ git rev-list --parents --all | grep -v " " | xargs git -p show -- Jakub Narebski Poland - 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