All of lore.kernel.org
 help / color / mirror / Atom feed
* git-alltrees: root trees and subtrees without duplicate commits.
       [not found] <CADdMKP8y3TjeCyJaxazYFY9zN2QpnMVZyRWnpoTLMcZ0ZPNMzg@mail.gmail.com>
@ 2021-06-23  4:17 ` Douglas Leonard
  2021-06-23 23:55 ` Douglas Leonard
  1 sibling, 0 replies; 3+ messages in thread
From: Douglas Leonard @ 2021-06-23  4:17 UTC (permalink / raw)
  To: git

Hi all,

For a very quick introduction, I'm a career physicist. I just thought
I'd share a detailed method and implementation I developed to improve
on shortcomings of subtrees.

This says it all
https://gitlab.com/douglas.s.leonard/alltrees/-/wikis/home

But to repeat a little...

First, it allows a container "sub" tree, ie syncing only the non "sub"
parts of the tree to a repo.  But maybe more importantly, when it
pulls from the trees it's able to "remap" or reconstruct old commits
back to their originals to avoid the duplicate commit issue of
subtrees.  This is round-trip reproducible so consistency is kept both
ways. It avoids the need for squash with subtrees. Compare the two
images in the wiki to see the difference between subtree without
squash and alltrees. Non-FF changes made in a tree repo show as
branched and merged. Traditional advantages of subtrees are kept,
primarily that users/developers of any one repo don't need any
awareness of how to use the subtrees or the other repos.

I have used this some, but not extensively yet.  In my use it has
worked.  I think it's pretty quick, but I haven't tested on large
projects.

Cheers,
Doug Leonard

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: git-alltrees: root trees and subtrees without duplicate commits.
       [not found] <CADdMKP8y3TjeCyJaxazYFY9zN2QpnMVZyRWnpoTLMcZ0ZPNMzg@mail.gmail.com>
  2021-06-23  4:17 ` git-alltrees: root trees and subtrees without duplicate commits Douglas Leonard
@ 2021-06-23 23:55 ` Douglas Leonard
  2023-06-11  8:11   ` Douglas Leonard
  1 sibling, 1 reply; 3+ messages in thread
From: Douglas Leonard @ 2021-06-23 23:55 UTC (permalink / raw)
  To: git

For what it's worth, a demonstration script is included which makes
parallel changes on various local and remote repos and does origin and
subtree push/pull..
In future plans... it's possible to fully reintegrate the subtree
commits into the full branch point file tree locally so that they are
cherry-pickable too, as if all changes were made on complete local
branches.

Regards,
Doug

On Wed, Jun 23, 2021 at 10:27 AM Douglas Leonard <dleonard.dev@gmail.com> wrote:
>
>
> Hi all,
>
> For a very quick introduction, I'm a career physicist. I just thought I'd share a detailed method and implementation I developed to improve on shortcomings of subtrees.
>
> This says it all
> https://gitlab.com/douglas.s.leonard/alltrees/-/wikis/home
>
> But to repeat a little...
>
> First, it allows a container "sub" tree, ie syncing only the non "sub" parts of the tree to a repo.  But maybe more importantly, when it pulls from the trees it's able to "remap" or reconstruct old commits back to their originals to avoid the duplicate commit issue of subtrees.  This is round-trip reproducible so consistency is kept both ways. It avoids the need for squash with subtrees. Compare the two images in the wiki to see the difference between subtree without squash and alltrees. Non-FF changes made in a tree repo show as branched and merged. Traditional advantages of subtrees are kept, primarily that users/developers of any one repo don't need any awareness of how to use the subtrees or the other repos.
>
> I have used this some, but not extensively yet.  In my use it has worked.  I think it's pretty quick, but I haven't tested on large projects.
>
> Cheers,
> Doug Leonard
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: git-alltrees: root trees and subtrees without duplicate commits.
  2021-06-23 23:55 ` Douglas Leonard
@ 2023-06-11  8:11   ` Douglas Leonard
  0 siblings, 0 replies; 3+ messages in thread
From: Douglas Leonard @ 2023-06-11  8:11 UTC (permalink / raw)
  To: git

Just an update, this has been cleaned up with a python implementation,
with a decent bit of added functionality, particularly tag-renaming,
and it's been working well.  It's already pip installable.  Maybe I'll
get around to adding it to pypl.. maybe.

Cheers,
Doug

On Thu, Jun 24, 2021 at 8:55 AM Douglas Leonard <dleonard.dev@gmail.com> wrote:
>
> For what it's worth, a demonstration script is included which makes
> parallel changes on various local and remote repos and does origin and
> subtree push/pull..
> In future plans... it's possible to fully reintegrate the subtree
> commits into the full branch point file tree locally so that they are
> cherry-pickable too, as if all changes were made on complete local
> branches.
>
> Regards,
> Doug
>
> On Wed, Jun 23, 2021 at 10:27 AM Douglas Leonard <dleonard.dev@gmail.com> wrote:
> >
> >
> > Hi all,
> >
> > For a very quick introduction, I'm a career physicist. I just thought I'd share a detailed method and implementation I developed to improve on shortcomings of subtrees.
> >
> > This says it all
> > https://gitlab.com/douglas.s.leonard/alltrees/-/wikis/home
> >
> > But to repeat a little...
> >
> > First, it allows a container "sub" tree, ie syncing only the non "sub" parts of the tree to a repo.  But maybe more importantly, when it pulls from the trees it's able to "remap" or reconstruct old commits back to their originals to avoid the duplicate commit issue of subtrees.  This is round-trip reproducible so consistency is kept both ways. It avoids the need for squash with subtrees. Compare the two images in the wiki to see the difference between subtree without squash and alltrees. Non-FF changes made in a tree repo show as branched and merged. Traditional advantages of subtrees are kept, primarily that users/developers of any one repo don't need any awareness of how to use the subtrees or the other repos.
> >
> > I have used this some, but not extensively yet.  In my use it has worked.  I think it's pretty quick, but I haven't tested on large projects.
> >
> > Cheers,
> > Doug Leonard
> >

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-06-11  8:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CADdMKP8y3TjeCyJaxazYFY9zN2QpnMVZyRWnpoTLMcZ0ZPNMzg@mail.gmail.com>
2021-06-23  4:17 ` git-alltrees: root trees and subtrees without duplicate commits Douglas Leonard
2021-06-23 23:55 ` Douglas Leonard
2023-06-11  8:11   ` Douglas Leonard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.