Friday, 29 March 2013
Thursday, 28 March 2013
1, 2, many... lots...
I am absolutely amazed at the sheer number of diff programs out there -- they must be more of them than there are washing powder brands and I'm reminded of this tune:
Tuesday, 26 March 2013
If at first you don't succeed...
I tidied up the "comments" which are actually defines (what was I thinking?) in this file because, well, they looked messy :)
However, in this case, the position of the defines actually reflected the structure of the data -- something I have never seen before, but it's indeed very handy, once you know what you're looking at.
So, the patch then morphed from 'fixing' what was not broken to adding information about what is going on :)
Since we didn't want Doxygen to pick up that comment since it's only useful when you view the code, I used a
However, in this case, the position of the defines actually reflected the structure of the data -- something I have never seen before, but it's indeed very handy, once you know what you're looking at.
So, the patch then morphed from 'fixing' what was not broken to adding information about what is going on :)
Since we didn't want Doxygen to pick up that comment since it's only useful when you view the code, I used a
/* plain comment */
here.
Friday, 22 March 2013
A Map of the Diff Problem
was gifted to me yesterday by Julian Foad, and curiously so, it is making the difficult much easier by making it really big :)
Actually, none of those things are 'difficult' as such --- what made it hard was that I had no idea of the true dimension of the problem. And so...:
Actually, none of those things are 'difficult' as such --- what made it hard was that I had no idea of the true dimension of the problem. And so...:
Thursday, 21 March 2013
Diff is difficult.
After much staring, stepping and grepping, I finally produced a solution for the partial problem defined in (Issue 2074, "--extensions '' doesn't work.) which is part of (Issue 2044, Fully customizable external diff invocations).
It's not bad(it works for very small values of functional), but also not very good, since it is rather agricultural and I'm not sure how to handle deprecation, but, it's a start.
However it only deals with one part of the problem and not with the issue of giving the user a wormhole to call any diff function they want to use, however they want to.
To be continued... ;-)
It's not bad(it works for very small values of functional), but also not very good, since it is rather agricultural and I'm not sure how to handle deprecation, but, it's a start.
However it only deals with one part of the problem and not with the issue of giving the user a wormhole to call any diff function they want to use, however they want to.
To be continued... ;-)
Sunday, 3 March 2013
Completing the Gtest Build System OPW Assignment
Most important and useful knowledge I gained:
Explicit debugging -- keeping a list of ideas, testing theories etc, keep your mind free of clutter for thinking and enabling you to casually return to even the most complex problem after a break without loss of continuity.
Most useful tool I learned about:
The 'remake' debugger for Makefiles, it provides a useful calling stack trace.
Things I relearned:
'make', how to document, shell scripting, simple C and C++.
New things I learned a little bit about:
m4 macros, autoconf, python, configure, C++ and C compilation directives, gtest, libtool and the concept of shared libraries.
So what did I build for the Subversion OPW project?
Gtest Addition:
- a patch for adding gtest as an option to the build system
- documentation for the gtest addition
- an example test for the gtest addition
And since I had spent all this time trying to understand what is happening in the build system, I documented what I think is going on, with the happy result that the Subversion project gets some documentation for the build system and I get my understanding double checked:
Documentation for the Subversion Build System:
4. Overview
5. 3 walkthroughs for adding various types of components
6. list of files and their purpose for the build system
7. Walkthrough of the main files' contents
Next up: Diff and Freeze!
PS.: I know we're 8 weeks into the OPW project, but, 2 weeks of that I was ill, and so, I'm actually really in week 6.
My mouse battery lasted exactly for the duration of the project! (and my kitteh looks just like that guy too :) )
Subscribe to:
Posts (Atom)