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

[PATCH 0/6] Tracking setup improvements: per-remote config, autosetuppush

From
Paolo Bonzini <bonzini@gnu.org>
Date
Jul 12, 2009, 12:17 UTC
Message-ID
<1247401053-20429-1-git-send-email-bonzini@gnu.org>

This patch series adds two features that are a step toward providing consistent per-remote configuration of push behavior in addition to merge (tracking) behavior.

In particular, the two features are:
1) per-remote configuration of automatic tracking setup.  This leads
to some nice refactoring of the code handling autosetup, where the
combination of autosetupmerge and autosetuprebase is consolidated in
a struct.
2) The ability to automatically setup push refspecs corresponding
to local branches tracking a remote.  This is false by default, since
we also have push.default---and actually, a generalized default of
true is probably not a good idea, unlike a per-remote setting.  In
the future, 'git remote add' might set the per-remote autosetuppush
to true if it gets some appropriate command-line argument.

Patch 1 is a somewhat tangential DWIM that I've meant to send for a while. It conflicts with this patch series, so I've included it.

Patches 2 and 3 include the refactorings in preparation for the new remote.*.autosetup configuration, which is then implemented by patch 4.

Patch 5 extracts some code to a function that will become more complicated in patch 6. Patch 6 implements autosetuppush by automatically creating and deleting push refspecs upon branch creation and deletion.

 config: allow false and true values for branch.autosetuprebase
 branch: install_branch_config and struct tracking refactoring
 introduce a struct tracking_config
 remote: add per-remote autosetupmerge and autosetuprebase configuration
 move deletion of merge configuration to branch.c
 branch, checkout: introduce autosetuppush
 Documentation/config.txt |   36 +++++++++++++++++-
 branch.c                 |   92 +++++++++++++++++++++++++++++++++++++--------
 branch.h                 |    5 ++-
 builtin-branch.c         |   10 +----
 builtin-checkout.c       |    2 +-
 builtin-clone.c          |    4 +-
 cache.h                  |   11 ++++-
 config.c                 |   48 +++++++++++++++++-------
 environment.c            |    7 ++-
 remote.c                 |    3 +
 remote.h                 |    1 +
 t/t3200-branch.sh        |   92 ++++++++++++++++++++++++++++++++++++++++++++-
 12 files changed, 259 insertions(+), 52 deletions(-)
Next: Paolo Bonzini
Message 1 of 8 in “Tracking setup improvements: per-remote config, autosetuppush”
  1. 0/6 Tracking setup improvements: per-remote config, autosetuppushPaolo Bonzini, Jul 12, 2009
  2. 1/6 config: allow false and true values for branch.autosetuprebasePaolo Bonzini, Jul 12, 2009
  3. 2/6 branch: install_branch_config and struct tracking refactoringPaolo Bonzini, Jul 12, 2009
  4. 3/6 introduce a struct tracking_configPaolo Bonzini, Jul 12, 2009
  5. 4/6 remote: add per-remote autosetupmerge and autosetuprebase configurationPaolo Bonzini, Jul 12, 2009
  6. 5/6 move deletion of merge configuration to branch.cPaolo Bonzini, Jul 12, 2009
  7. 6/6 branch, checkout: introduce autosetuppushPaolo Bonzini, Jul 12, 2009
  8. Junio C HamanoJul 12, 2009

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.