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

Re: git-subtree split O(N)

From
VFVinnie Falco <vinnie.falco@gmail.com>
Date
May 1, 2012, 03:10 UTC
Message-ID
<CA+EzHGcxcKt=tmrscnJ1GtiBtTFhtVO7Ae9ndx61D9piFcnq3A@mail.gmail.com>
In-Reply-To
<86aa1sr4a9.fsf@red.stonehenge.com>
> Vinnie> I'm using git-subtree split to extract changes to a directory
>
> Are you using -rejoin?

I am not using --rejoin. Admittedly, the documentation is somewhat opaque on its usage:

"--rejoin:: This option is only valid for the split command."

This is confusing. One would think that an option named "rejoin" has more to do with merge or pull than split. Although I guess the meaning is that you want your local changes to "rejoin" the upstream?

"...future splits can search only the part of history that has been added since the most recent --rejoin."

This sounds exactly like my use-case, I want to avoid starting from initial commit on a split, but...

"If you do all your merges with '--squash', don't use '--rejoin' when you split, because you don't want the subproject's history to be part of your project anyway."

I always use --squash with git-subtree pull, so I interpreted this to mean I should never use --rejoin.

"Unfortunately, using this option results in 'git log' showing an extra copy of every new commit that was created"

This is what discouraged me from ever touching "--rejoin"
I hope this helps
Thanks
Previous: Randal L. SchwartzNext: dag@cray.com
Message 3 of 4 in “git-subtree split O(N)”
  1. Vinnie FalcoMay 1, 2012
  2. Randal L. SchwartzMay 1, 2012
  3. Vinnie FalcoMay 1, 2012
  4. dag@cray.comMay 1, 2012

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.