Finished the setup of aprutil the other day. At the same time, the Apache CVS repository was revamped. With two big reorganizations, we've been spending the week getting things put back together the Right Way(tm). I think it has gone quite well, and we've got a much better structure as a result.
There have been a number of issues with the new aprutil library and some of its interaction when included in Apache, and how it references APR, and its layout and build system, etc. A good portion of this week has been working through those issues.
We have an Apache release on Monday/Tuesday next week, so there are some straggler issues with the new layout and APR (UTIL) to try and wrap up by then.
For people who haven't really taken a look at APR, it is similar in purpose to NSPR. Both libraries abstract a lot of platform-specific functionality so that you can write portable applications. Apache 2.0 uses APR as its portability layer, and much of APR's code came out of Apache's long history of extreme portability. We've taken a bit different focus in some areas (compared to NSPR), and worked harder for certain types of features and performance. It is an extremely useful library, and it is being used by both Apache 2.0 and the Subversion project. APR manages things like memory allocation and cleanup, sockets, locks, files and pipes, character set handling/recoding, memory-mapped files, shared memory, process and thread management, time, user handling, and dynamic library loading. (plus more) Its primary platforms are Unix-ish platforms (including things like Mac OS X and OS/390), BeOS, OS/2, and Win32.
On the Subversion front, the SVN filesystem (FS) has been going through a huge revamp. Some of the new APIs are finally coming out of that effort, so I spent a bit of time last night updating mod_dav_svn to compensate.
Getting ready to leave for Palm Springs tomorrow, too. Got a wedding to attend. Just a short visit, and I'll be back on Sunday afternoon.
Over the next few days, I want to wrap up the Apache, APR, and APRUTIL work, then get back to SVN coding.