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

Re: "git subtree --squash" interacts poorly with revert, merge, and rebase

From
Matt McCutchen <matt@mattmccutchen.net>
Date
Nov 14, 2016, 22:37 UTC
Message-ID
<1479163040.2406.49.camel@mattmccutchen.net>
In-Reply-To
<1478814800.2878.10.camel@mattmccutchen.net>
On Thu, 2016-11-10 at 16:53 -0500, Matt McCutchen wrote:
Show 19 quoted lines
> On Wed, 2016-10-26 at 19:07 -0400, Matt McCutchen wrote:
> > 
> > Maybe we would never hit any of these problems in practice, but they
> > give me a bad enough feeling that I'm planning to write my own tool
> > that tracks the upstream commit ID in a file (like a submodule) and
> > doesn't generate any extra commits.  Without generating extra commits,
> > the only place to store the upstream content in the superproject would
> > be in another subtree, which would take up disk space in every working
> > tree unless developers manually set skip-worktree.  I think I prefer to
> > not store the upstream content and just have the tool fetch it from a
> > local subproject repository each time it's needed.
> > 
> > I'll of course post the tool on the web and would be happy to see it
> > integrated into "git subtree" if that makes sense, but I don't know how
> > much time I'd be willing to put into making that happen.
> 
> I have named my tool "git subtree-lite" and posted it here:
> 
> https://mattmccutchen.net/utils/git-subtree-lite.git/

As I was doing additional research in preparation for adding git- subtree-lite to the tools page (https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools), by chance I found an existing tool, Braid (http://cristibalan.github.io/braid/), whose design meets my requirements.  I have a few minor concerns, but assuming I'm able to fix them without too much work and upstream accepts my patches, I plan to switch to Braid.

I've made a properly marked section on the tools page for subproject management tools:

https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Subprojects_or_sets_of_repositories

in the hope that the next person with the same requirements as me finds Braid.  (I unfortunately didn't check that page before starting, but I will the next time I need something.)

Matt
Previous: Matt McCutchen
Message 11 of 11 in “"git subtree --squash" interacts poorly with revert, merge, and rebase”
  1. Matt McCutchenOct 26, 2016
  2. Stefan BellerOct 26, 2016
  3. Junio C HamanoOct 26, 2016
  4. Peter WilliamsOct 27, 2016
  5. Junio C HamanoOct 27, 2016
  6. Junio C HamanoOct 27, 2016
  7. Matt McCutchenOct 27, 2016
  8. Stefan BellerOct 27, 2016
  9. Matt McCutchenOct 27, 2016
  10. Matt McCutchenNov 10, 2016
  11. Matt McCutchenNov 14, 2016

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.