From: Douglas Leonard <dleonard.dev@gmail.com>
To: git@vger.kernel.org
Subject: Re: git-alltrees: root trees and subtrees without duplicate commits.
Date: Sun, 11 Jun 2023 17:11:43 +0900 [thread overview]
Message-ID: <CADdMKP87DU_Vdj7Se0aRoMrkN6XUX7m1dREqbYifZDF-4MeUAA@mail.gmail.com> (raw)
In-Reply-To: <CADdMKP_J7BSBeEpc6oQTh=BMf4geZJ6PwNM5yqzRQmDyT=1oXw@mail.gmail.com>
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
> >
prev parent reply other threads:[~2023-06-11 8:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[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 message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CADdMKP87DU_Vdj7Se0aRoMrkN6XUX7m1dREqbYifZDF-4MeUAA@mail.gmail.com \
--to=dleonard.dev@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).