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

Re: What's cooking in git/spearce.git (topics)

From
Shawn O. Pearce <spearce@spearce.org>
Date
Oct 23, 2007, 04:46 UTC
Message-ID
<20071023044657.GC14735@spearce.org>
In-Reply-To
<20071023043321.GC27132@thunk.org>
Theodore Tso <tytso@mit.edu> wrote:
Show 14 quoted lines
> On Tue, Oct 23, 2007 at 12:05:22AM -0400, Shawn O. Pearce wrote:
> >
> > Yes.  Because 'next' always has commits in it that never appear in
> > 'master'.  So any topic forked from master must merge into next.
> > It can't be a fast-forward.  No forced merging required.
> 
> Why is it the case that 'next' always commits that never appear in
> 'master'.  So far in how I've been doing things that hasn't been the
> case.  When I do a "git checkout master; git merge next", it's always
> been a fast-forward merge. 
> 
> Oh, I see.  That's because if you put some trivial changes in
> 'master', and then pull those changes into next, there will be merge
> commits in 'next' that will never be in 'master.  Is that it?  
Exactly.  This of course means that next has been growing in distance
from master for quite some time.  It has well over 1000 commits now
in git.git that aren't in master.  Most of those will never merge
there either.
 
Show 9 quoted lines
> I had been trying to avoid that case by always putting new commits,
> even trivial ones, into 'next', and then having them drop into
> 'master' at the next cycle; so 'master' was always trailing 'next',
> but they were always the same commit string (i.e., 'master' was always
> a subset of 'next').  
> 
> Aside from the WC script not working right, are there other
> disadvantages to my doing things that way as opposed to the way the
> Junio has been running the git repository?
The reason Junio does what he does is flexibility.

By merging only individual topics forked from master into next you can merge those individual topics into master at different points in time. For example db/fetch-pack has been in next for many weeks and hasn't yet merged into master, yet jc/am-quiet was forked after db/fetch-pack started and has already merged into master.

Your way would make jc/am-quiet wait until db/fetch-pack was ready. That's a big risk in the sense that your tree is "blocked" and even simple changes are held up by ones that suddenly became a lot more complex then you originally thought they were going to be.

-- 
Shawn.
Previous: Theodore TsoNext: Theodore Tso
Message 11 of 21 in “What's cooking in git/spearce.git (topics)”
  1. Shawn O. PearceOct 16, 2007
  2. Johannes SchindelinOct 16, 2007
  3. Theodore TsoOct 16, 2007
  4. Shawn O. PearceOct 17, 2007
  5. Junio C HamanoOct 23, 2007
  6. Theodore TsoOct 23, 2007
  7. Junio C HamanoOct 23, 2007
  8. Theodore TsoOct 23, 2007
  9. Shawn O. PearceOct 23, 2007
  10. Theodore TsoOct 23, 2007
  11. Shawn O. PearceOct 23, 2007
  12. Theodore TsoOct 23, 2007
  13. Shawn O. PearceOct 23, 2007
  14. Theodore TsoOct 23, 2007
  15. Shawn O. PearceOct 23, 2007
  16. Theodore TsoOct 23, 2007
  17. Daniel BarkalowOct 23, 2007
  18. Junio C HamanoOct 23, 2007
  19. Theodore TsoOct 24, 2007
  20. Shawn O. PearceOct 23, 2007
  21. Shawn O. PearceOct 16, 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.