Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

does it support merge branch? #5

Open
zhyongquan opened this issue Aug 30, 2018 · 5 comments
Open

does it support merge branch? #5

zhyongquan opened this issue Aug 30, 2018 · 5 comments
Labels
enhancement New feature or request

Comments

@zhyongquan
Copy link

does it support merge branch?

@kroggen
Copy link
Member

kroggen commented Aug 30, 2018

Hi Zhang,

Although it is not required for blockchain implementations there were so many people asking for merging support that we at Aergo decided to take it further so LiteTree can be used in many other areas as well.

So keep an eye on it, merging support will arrive! (as well as other features and even other products)

You can inform your ideas or requirements here.

@kroggen kroggen added the enhancement New feature or request label Aug 30, 2018
@xiegeo
Copy link

xiegeo commented Aug 31, 2018

Please allow merges to happen across the network, or at least across two different database files.

I think generating a diff given two commit points as sql statements should be a good starting point.

@itdependsnetworks
Copy link

This would be killer.

@scottmas
Copy link

Any update on this?

@kroggen
Copy link
Member

kroggen commented Nov 17, 2022

No. It stalled years ago.

The development of this feature is way more complex than previously thought. It requires different merging strategies, like in git, and it may also need a method to auto-select which merging strategy to use when merging.

One merging strategy is just to re-run the SQL commands on the other branch, another strategy is to review each of the modified rows and then copy the changes checking for previous state of rows (if different, it is a conflict)...

It also requires detecting conflicts, and also a manual conflict resolution (the user must choose how to fix the conflicts)

There are many corner cases, like different types of UPDATE commands run on separate branches and that affect different rows depending on the branch, updates on rows on one branch and deletions on another, insertions with the same rowid...

And some people may want merging from separate db files, that is different than from the same file...

It grows fast!

We don't have any use for that feature. The aergo blockchain only requires the current state of LiteTree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants