Aug 17 - Aug 17, 2013
Vinnie had mentioned this change, but its full implications were not understood. Initially, it was believed that the "Ripple and Bitcoin fork" was just LevelDB with the necessary changes already made. However, it was later discovered that there were additional changes included in the merge.This improper merge by Ripple's fork resulted in a break in git history, causing several upstream fixes, including ones reported to the Bitcoin issue tracker, to be excluded. To address this issue, Luke-Jr pushed three branches to https://github.com/luke-jr/leveldb: bitcoin-1.5 for reference, bitcoin (included in 0.8.x), and bitcoin-up (merged with upstream LevelDB 1.12). A diff from the current master branch (Ripple LevelDB 1.12 fork) to bitcoin-up can be accessed at https://gist.github.com/luke-jr/6248543.Although the changes in the merge appeared harmless, Pieter Todd suggested reverting to a codebase that closely matched upstream LevelDB 1.12. A comparison between the bitcoin head and bitcoin-up revealed that a few patches were reverted during the merge window of version 0.9. To clean up the history of the LevelDB subtree in the http://github.com/bitcoin/leveldb repository, Pieter created a branch called bitcoin-fork and used git-subtree to create a pull request (#2907). This pull request switches the src/leveldb directory to the cleaned-up tree, listing the reverted changes in a squashed commit that corresponds to the actual diff produced by Luke-Jr.Peter Todd, who had encountered a similar issue while auditing Litecoin, commented on the situation. He noted that there are currently no tools available to audit whether a set of git patches/merges match upstream or downstream. While manually checking individual files could be done, automating this process would be beneficial.In summary, a pull request merged into the master branch of Ripple resulted in it being put on an unofficial Ripple fork of LevelDB instead of updating to LevelDB 1.12.0. This merge included additional changes beyond what was initially believed, and Ripple's improper git merge created a break in history, excluding several upstream fixes. Luke-Jr pushed three branches for reference, and a diff between the current master branch and bitcoin-up can be found via the provided link. Pieter Todd suggested reverting to a codebase closer to upstream LevelDB 1.12, and he cleaned up the history of the LevelDB subtree in the bitcoin repository. Peter Todd also highlighted the need for tools to automate the auditing of git patches/merges.
Thread Summary (0 replies)
Aug 17 - Aug 17, 2013
1 messages
TLDR
We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project.
Give Feedback