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

Re: [PATCH v2 6/9] branch: display publish branch

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 18, 2014, 23:29 UTC
Message-ID
<5351b571421e4_3497cdf30c78@nysa.notmuch>
In-Reply-To
<20140415054356.GA4772@sigill.intra.peff.net>
Jeff King wrote:
Show 15 quoted lines
> On Sat, Apr 12, 2014 at 10:05:15AM -0500, Felipe Contreras wrote:
> 
> > As you can see; some branches are published, others are not. The ones that are
> > not published don't have a @{publish}, and `git branch -v` doesn't show them.
> > Why is that hard to understand?
> 
> Do you ever push the unpublished branches anywhere at all? If not, then
> you would not have a tracking branch. E.g., git _would_ push to remote
> "gh", branch "refs/heads/topic", but there is no remote tracking branch
> "refs/remotes/gh/topic", because you have never actually pushed there.
> So there is no @{publish} branch.
> 
> Or do you have some branches in a state where they are "pushed, but not
> published"? It wasn't clear to me from your example if your "pu" or
> "dev/remote/hg-extra" ever get pushed.

Sometimes I do push these branches, but I don't understand what you mean by "pushed state". When you push something no states are changed. Say I do:

 % git push tmp wip-feature
 % git push backup wip-feature

So I pushed a branch to two different repositories, the former one might not even exist any more. Who cares? No states have changed. The fact that this branch was pushed doesn't change anything about the nature of the branch.

> I do not use "git branch -v" myself,
Me neither (at least not the upstream version).
Show 6 quoted lines
> so I don't personally care that much how it behaves. But I do use a separate
> script that does the same thing, and I would want it to show the ahead/behind
> relationship between each branch and where it would be pushed to (and as I
> said, I define mine with refspecs). Right now it uses nasty hackery to guess
> at where things will be pushed, but ideally it would ask git via @{push} or
> some similar mechanism.

Yes, but you can push a branch to many locations, to which one should the script show the tracking information? IMO it should be the one location you explicitly configured, and in the case of "wip-feature" is "no location".

> If the former (you do not actually push them), then I think the semantics I
> am looking for and the ones you want would coincide. If not, then I think we
> are really talking about two different things.
I ask again what is so difficult about the notion that there are two kinds of branches?
A)

% git checkout ready-feature % git push tmp ready-feature % git push -p github ready-feature % git push backup ready-feature

B)

% git checkout wip-feature % git push tmp wip-feature % git push backup wip-feature

In a haste these branches might not look very different, but conceptually they are. One has a location where it is publicly visible, and where you wish to push regularly, the other one doesn't.

Whether you push a branch or not is not really important, it's whether or not the branch has a *special* place where you push to.

-- 
Felipe Contreras
Previous: Jeff KingNext: Felipe Contreras
Message 19 of 34 in “Introduce publish tracking branch”
  1. 0/9 Introduce publish tracking branchFelipe Contreras, Apr 10, 2014
  2. 1/9 push: trivial reorganizationFelipe Contreras, Apr 10, 2014
  3. 2/9 Add concept of 'publish' branchFelipe Contreras, Apr 10, 2014
  4. 3/9 branch: allow configuring the publish branchFelipe Contreras, Apr 10, 2014
  5. 4/9 t: branch add publish branch testsFelipe Contreras, Apr 10, 2014
  6. 5/9 push: add --set-publish optionFelipe Contreras, Apr 10, 2014
  7. 6/9 branch: display publish branchFelipe Contreras, Apr 10, 2014
  8. Ramkumar RamachandraApr 10, 2014
  9. Felipe ContrerasApr 10, 2014
  10. Jeff KingApr 11, 2014
  11. Felipe ContrerasApr 11, 2014
  12. Jeff KingApr 12, 2014
  13. Felipe ContrerasApr 12, 2014
  14. Junio C HamanoApr 11, 2014
  15. Felipe ContrerasApr 11, 2014
  16. Jeff KingApr 12, 2014
  17. Felipe ContrerasApr 12, 2014
  18. Jeff KingApr 15, 2014
  19. Felipe ContrerasApr 18, 2014
  20. 7/9 sha1_name: cleanup interpret_branch_name()Felipe Contreras, Apr 10, 2014
  21. Ramkumar RamachandraApr 10, 2014
  22. 8/9 sha1_name: simplify track findingFelipe Contreras, Apr 10, 2014
  23. Ramkumar RamachandraApr 10, 2014
  24. Felipe ContrerasApr 10, 2014
  25. 9/9 sha1_name: add support for @{publish} marksFelipe Contreras, Apr 10, 2014
  26. Ramkumar RamachandraApr 10, 2014
  27. Felipe ContrerasApr 10, 2014
  28. Ramkumar RamachandraApr 10, 2014
  29. Felipe ContrerasApr 10, 2014
  30. Junio C HamanoApr 10, 2014
  31. Matthieu MoyApr 11, 2014
  32. Felipe ContrerasApr 11, 2014
  33. Matthieu MoyApr 11, 2014
  34. Felipe ContrerasApr 11, 2014

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.