git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Terminology question about remote branches.

From
Theodore Tso <tytso@mit.edu>
Date
Aug 5, 2007, 15:48 UTC
Message-ID
<20070805154801.GD28263@thunk.org>
In-Reply-To
<85fy2y89kb.fsf@lola.goethe.zz>
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
Previous: Jeff KingNext: David Kastrup
Message 37 of 46 in “Terminology question about remote branches.”
  1. David KastrupAug 4, 2007
  2. Jeff KingAug 4, 2007
  3. David KastrupAug 4, 2007
  4. Lars HjemliAug 4, 2007
  5. David KastrupAug 4, 2007
  6. Lars HjemliAug 4, 2007
  7. David KastrupAug 4, 2007
  8. David KastrupAug 4, 2007
  9. Lars HjemliAug 4, 2007
  10. David KastrupAug 4, 2007
  11. Lars HjemliAug 4, 2007
  12. Jeff KingAug 5, 2007
  13. Julian PhillipsAug 4, 2007
  14. David KastrupAug 4, 2007
  15. Julian PhillipsAug 4, 2007
  16. David KastrupAug 4, 2007
  17. Theodore TsoAug 4, 2007
  18. David KastrupAug 5, 2007
  19. Jeff KingAug 5, 2007
  20. David KastrupAug 5, 2007
  21. Jeff KingAug 5, 2007
  22. David KastrupAug 5, 2007
  23. Jeff KingAug 5, 2007
  24. Jakub NarebskiAug 4, 2007
  25. SeanAug 4, 2007
  26. David KastrupAug 4, 2007
  27. SeanAug 4, 2007
  28. David KastrupAug 4, 2007
  29. Jeff KingAug 5, 2007
  30. Jeff KingAug 5, 2007
  31. Steffen ProhaskaAug 5, 2007
  32. Jeff KingAug 5, 2007
  33. David KastrupAug 5, 2007
  34. Jeff KingAug 5, 2007
  35. David KastrupAug 5, 2007
  36. Jeff KingAug 5, 2007
  37. Theodore TsoAug 5, 2007
  38. David KastrupAug 5, 2007
  39. Randal L. SchwartzAug 5, 2007
  40. SeanAug 5, 2007
  41. Jeff KingAug 5, 2007
  42. Junio C HamanoAug 5, 2007
  43. Steffen ProhaskaAug 5, 2007
  44. Julian PhillipsAug 5, 2007
  45. David KastrupAug 5, 2007
  46. Julian PhillipsAug 5, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.