gavin: A question: If I continuously generate a new diff of your source code compared to latest svn repository and claim that as a patch, wouldn't that additionally produce a patch to an outdated or previous version? e.g. if your patch initially worked with svn 158 (example) and currently latest is svn 500 (example), producing a patch comparing your source to latest svn and making it as a patch would then convert the bitcoin client to be very outdated and similar to svn 158. This is my understanding. Is this accurate/true?
As of right now
the patch you supplied is not compatible with svn 161 and while I could technically create a diff comparison to generate a new patch, I fear that it will additionally revert changes that are unrelated to monitor functionality and ultimately produce a monitor-specific patch that reverts data not related to monitor capabilities.
Any suggestion on how to proceed in maintaining/preserving updated patch for this feature is appreciated.
gavin: If you are too busy to maintain a patch, perhaps someone could take over? Is a btc bounty/donation helpful? I, for one, will offer 5btc towards someone who will actively maintain this patch.
-Update-
Here is my attempt to produce a patch for Bitcoin svn 161:
I have established Bitcoin SVN in /downloads/svn/bitcoin/.
I have established gavin's Bitcoin-git in /downloads/git/bitcoin-git/.
Reviewing gavin's initial patch I know that only the following files are patched:
db.cpp
db.h
init.cpp
main.cpp
main.h
net.cpp
rpc.cpp
rpc.h
So I will generate a diff for only these files and additionally I will manually review each diff to make sure it is similar to gavin's submitted patch and does not include reverting unrelated changes due to further changes in Bitcoin svn.
db.cpp:
LC_ALL=C TZ=UTC0 diff -Napur /downloads/svn/bitcoin/trunk/db.cpp /downloads/git/bitcoin-git/db.cppComparing this diff to gavin's I see
- if (pindex->nHeight < 74000 && !mapArgs.count("-checkblocks"))
+ if (pindex->nHeight < nBestHeight-2500 && !mapArgs.count("-checkblocks"))
which I believe should not be included in the patch. I will figure out how to manually exclude this and to preserve the patch as being correct in syntax. Yep, it's unnecessary, and removing that block of patch, the remaining block of patch for db.cpp is identical.
Humm, manually modifying `diff`s is difficult, especially with rpc.cpp
Okay, yeah, I definitely give up. I was doing pretty well until rpc.cpp when I realized that gavin's code contains WAY TOO MANY other patches besides only monitoraddress and monitorblocks and I have no idea how to remove these pieces from the patch data.
Additionally, using gavin's git-diff suggestion wasn't usable considering the svn code in his git repo is outdated.
If it is of any help, here is a manually compiled collection of diffs (using same switches as link above):
http://pastebin.com/tN7hRZWH up to and not including rpc.cpp (check file list above)