Re: [PATCH v4] branch: add flags and config to inherit tracking
From: Josh Steadmon <hidden>
Date: 2021-11-30 21:34:10
On 2021.11.19 07:47, Ævar Arnfjörð Bjarmason wrote:
On Tue, Nov 16 2021, Josh Steadmon wrote:quoted
I've addressed Glen's feedback from V3. However, this brings up a new issue that was not obvious before: "branch.<name>.merge" can be specified more than once. On the other hand, the existing tracking setup code supports only a single merge entry. For now I'm defaulting to use the first merge entry listed in the branch struct, but I'm curious what people think the best solution would be. This may be another point in favor of Ævar's suggestion to reuse the copy-branch-config machinery.I haven't looked in any detail now at the "should we copy the config?" questions. Just some quick comments/nits below:
Thanks for the comments. They're all fixed in V5, which I'll be sending out soon. [snip]
quoted
@@ -632,8 +632,10 @@ int cmd_branch(int argc, const char **argv, const char *prefix) OPT__VERBOSE(&filter.verbose, N_("show hash and subject, give twice for upstream branch")), OPT__QUIET(&quiet, N_("suppress informational messages")), - OPT_SET_INT('t', "track", &track, N_("set up tracking mode (see git-pull(1))"), - BRANCH_TRACK_EXPLICIT), + OPT_CALLBACK_F('t', "track", &track, "direct|inherit", + N_("set up tracking mode (see git-pull(1))"),Hrm, should we say "git help pull" here, on just not reference it at all and have a linkgit:git-pull[1]? Or maybe git-branch.txt and git-pull.txt should be including a template? As we do with Documentation/rev-list-options.txt, then this cross-reference wouldn't be needed.
Yeah, there's nothing really helpful in git-pull(1) about "--track" that's easily searchable (i.e. without reading it all straight through), so I just removed the pointer in the option help string, add added linkgit:git-pull(1) and linkgit:git-config(1) to git-branch.txt. I briefly looked at writing a common template for both git-branch.txt and git-pull.txt but I feel like the git-pull discussion of tracking is so spread out in that doc that it would require a significant rewrite to make a common template work.