On Sun, Aug 05, 2007 at 02:12:04PM +0200, David Kastrup wrote: > Well, that is pretty much exactly what I find fascinating: that the > behavior is arbitrary and undocumented enough that one can't deduce it > either by logic or by recollection or by documentation, but just by > reading the code. The behavior of how references work and how the config file parameters under remote.* and branch.* are pretty well understood, and the conceptual model is pretty simple; see Jeff's message. And most of it *is* documented if you look at the git-fetch, git-pull, git-config man pages --- just not systematically in one place. What's not so well understood I suspect by most people is how the "git branch" tool edits the config file. It was added later, and many of the git hackers who already know the conceptual model and who are used to editing .git/config directly to get what they want, don't use git branch much themselves; that's really for more novice users and more simpler config files. To use a GNU emacs example, consider M-x customize, which is this huge, very fancy, *very* complex hierarchical mechanism with a pointy-clicky interface for setting options. Most emacs experts wouldn't use it, preferring to open code raw emacs-lisp settings in their .emacs.el. If you ask an old-time emacs user how to set up some specific feature setting via M-x customize, they might look at you blankly, because it's not an interface they use much, if at all. A similar thing can be said of "git branch"; once you are familiar with how git works at a conceptual level, it can often be faster/easier to just hack the .git/config file directly, instead of using "git branch" to set up things the way you want. And I'm pretty sure there are ways to set up the config file when you edit it by hand that you can't set up via "git branch". - Ted - 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