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

Re: git push (mis ?)behavior

From
Steffen Prohaska <prohaska@zib.de>
Date
Oct 9, 2007, 07:23 UTC
Message-ID
<5C3443FD-DEC3-4EDC-B10B-0C4307EF9492@zib.de>
In-Reply-To
<20071009050533.GA2968@efreet.light.src>
On Oct 9, 2007, at 7:05 AM, Jan Hudec wrote:
Show 32 quoted lines
> On Fri, Sep 28, 2007 at 00:07:27 -0700, Junio C Hamano wrote:
>> Steffen Prohaska <prohaska@zib.de> writes:
>>
>>> When "remote.<name>.push" is set I'd expect "git push" to
>>> choose only the 'right' remote.<name>.push lines, that is
>>> the lines that have the current branch as the local ref.
>
> I would like this for another reason and maybe in slightly  
> different way.
> Basically I would have configured something along the lines:
>     [remote "origin"]
>     push = refs/heads/*:refs/heads/jahu/*
> and would want to choose, via option, whether I want to push all  
> the branches
> or just the current one, but in any case with the renaming specified.
>
> The idea behind this is to have a shared repository, but not shared  
> branches.
> Everybody would have a subdirectory in refs/heads where he could push
> anything that the others should see and than somebody else (either  
> designated
> integrator, or just anybody different) would do a quick review and  
> merge it
> into master.
>
> Now I could of course push out everything, but usually I'd want to  
> push
> exactly the current branch, renaming it by the rule given, whether  
> it already
> existed in origin or not. Than there can be eg. a post-receive hook  
> notifying
> the integrator that there is something for review.

I had a similar scenario in mind. So a more general question is the following:

Git well supports the clone from read-only and push to private repo scheme. In this case all repositories you're pushing to are by definition _your_ repositories. The only question left is, which subset of your branches are pushed. But there's no need for renaming during push.

Now the question is, what is a sensible workflow on a shared repository?

One option is to use some kind of private 'namespace' scheme. For example developers should push their topics to a branch prefixed with their name, or to a 'subdirectory' ref/heads/needsreview/*.

This workflow may require to 'rename' branches during push. So how can this be supported by git? Supporting only renames that add a prefix, as suggested by Jan, may be reasonable restriction.

	Steffen
Previous: Jan HudecNext: Wincent Colaiuta
Message 15 of 40 in “git push (mis ?)behavior”
  1. Pierre HabouzitSep 27, 2007
  2. Wincent ColaiutaSep 27, 2007
  3. Benoit SIGOURESep 27, 2007
  4. Junio C HamanoSep 27, 2007
  5. Pierre HabouzitSep 27, 2007
  6. Steffen ProhaskaSep 28, 2007
  7. Pierre HabouzitSep 28, 2007
  8. Steffen ProhaskaSep 28, 2007
  9. Junio C HamanoSep 28, 2007
  10. Steffen ProhaskaSep 28, 2007
  11. Junio C HamanoSep 28, 2007
  12. Steffen ProhaskaSep 28, 2007
  13. Johannes SchindelinSep 28, 2007
  14. Jan HudecOct 9, 2007
  15. Steffen ProhaskaOct 9, 2007
  16. Wincent ColaiutaSep 28, 2007
  17. Miles BaderOct 3, 2007
  18. Junio C HamanoOct 3, 2007
  19. Wincent ColaiutaOct 3, 2007
  20. Miles BaderOct 3, 2007
  21. Pierre HabouzitOct 3, 2007
  22. Miles BaderOct 3, 2007
  23. Pierre HabouzitOct 3, 2007
  24. Wincent ColaiutaOct 3, 2007
  25. Karl HasselströmOct 3, 2007
  26. Junio C HamanoOct 3, 2007
  27. Wincent ColaiutaOct 3, 2007
  28. Karl HasselströmOct 3, 2007
  29. Johannes SchindelinOct 3, 2007
  30. Karl HasselströmOct 3, 2007
  31. Johannes SchindelinOct 3, 2007
  32. Pierre HabouzitOct 3, 2007
  33. Johannes SchindelinOct 3, 2007
  34. Karl HasselströmOct 3, 2007
  35. Steffen ProhaskaOct 4, 2007
  36. Wincent ColaiutaOct 4, 2007
  37. Steffen ProhaskaOct 4, 2007
  38. Wincent ColaiutaOct 4, 2007
  39. Wincent ColaiutaOct 3, 2007
  40. Benoit SIGOUREOct 3, 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.