Re: Tracking parent branches in Git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 1, 2019 at 12:35 PM Junio C Hamano <gitster@xxxxxxxxx> wrote:
>
> Eric Kulcyk <Eric.kulcyk@xxxxxxxxxxxxx> writes:
>
> [Overly long lines are not appreciated around here.]
>
> > We would like to track parent branches so that creating pull
> > requests can automatically determine the correct branch to merge
> > against.  I understand that this would require tracking more
> > information than is currently available right now in git.  Also,
> > it seems that if some cases, it is not possible to determine a
> > parent branch, in which case it would just be empty/null.
>
> Do you mean by "parent branch" what people usually call "upstream
> branch" (i.e. when that branch on the other side gains more commits
> independent from what you have been working on, then you would want
> to rebase your work on top of the updated state of that branch on
> the other side) around here?

I suspect the question is in regards to "What branch did I create my
local branch from?", especially given the pull request reference.

In other words, when I locally do:
git checkout --no-track -b bturner-some-bugfix origin/release/5.16

release/5.16 is the "parent branch" of my bugfix branch and, when I
push my branch and try to open a pull request, release/5.16 is a
_likely_ target for where I'd want to merge it. There may be a remote
in the name, a la "origin" in my example, or it might be created on
top of some other local branch. It's a common feature request for
Bitbucket Server[1], for example, to automatically select the "right"
target branch for a new pull request based on the ancestry of the
branch in question--except branches have no ancestry. (This sort of
metadata could potentially offer some benefits for building commit
graphs (referring to UI treatments for visualizing the DAG, rather
than Git's "commit-graph" functionality), depending on how it was
implemented, since it would make branch points more stable.)

Since branches are ephemeral names and have no intrinsic metadata of
their own (unlike, say, annotated tags or commits), I suspect
implementing something like this may be more complicated than it might
initially appear, especially if said metadata needs to be communicated
to remote repositories (which implies it might require changes to the
wire protocol as well).

Best regards,
Bryan Turner

[1] https://jira.atlassian.com/browse/BSERV-7116

>
> Perhaps "git help glossary", look
> for "upstream branch" and start from there?  The entry mentions the
> configuration variables used to keep track of that information,
> which are described in "git help config", I think.
>
> > If I made a change to track the parent branch for each branch,
> > would this feature be accepted/welcomed as part of git, even if it
> > off by default?
>
> Regardless of what is being proposed, this is often not a very
> useful question.  Something worth doing for yourself is worth doing
> whether others also find it useful ;-)  And others usually do not
> have enough information to judge if such a change is welcome until
> seeing it in a bit more concrete form.
>
> Thanks.
>



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux