Apr 232010
 

Doxer 10.04.0 is available for download:

    http://rapicorn.org/dist/doxer/doxer-10.04.0.tar.bz2

Doxer is a documentation tool initiated originally for generating source code documentation. This is the first public release of Doxer as a separate package (it has been included in other packages previously).

This release contains a wiki markup parser, a corresponding HTML generator, and a Drupal input format module. The markup syntax is designed to cover the feature set required to write source code documentation and general purpose documents. The parser and HTML generator have a strong focus on robustness to support the full range of user sophistication found on general purpose websites. An extensive test suite accompanies the development.

    Homepage:           http://rapicorn.org/doxer.html
    Download:           http://rapicorn.org/dist/doxer/
    Wiki Markup:        http://rapicorn.org/DoxerMarkup.html
    Feedback:           http://rapicorn.org/mailman/listinfo/rapicorn-list

User visible features in Doxer 10.04.0:

  • Added Doxer wiki markup parser.
  • Added docs/DoxerMarkup.txt to describe the markup.
  • Added HTML 4.01 Transitional generator for wiki markup.
  • Added extensive Doxer wiki markup test suite.
  • Wrapped the wiki markup parser as Drupal 6 input format module.
  • Rewrote documentation extractor (Doxyscan).
  • Started new Doxyscan Html documentation generator.

Apr 242008
 

Rapicorn 8.4.0 has just been released to the world: Rapicorn v8.4.0 Announcement

Lots of things have happened since the last snapshot over a year ago, some of which kept me from making releases or snapshots earlier. ;-)
Others actually took place in the code base as interesting developments, summarized below.

There’s quite some more stuff in my development queue, but at some point one just has to draw a line and throw out what’s vaguely ready so far, so this is it for today:

  Overview of changes in Rapicorn 8.4.0:

  * Changed versioning scheme to YEAR.WEEK.REVISION.
  * License update to GNU LGPL 2.1.
  * Added a publically installed tool: rapidrun
  * Support println() and close() commands in GUI files.
  * Introduce simple Application and Window object APIs.
  * Merged libbirnet into Rapicorn as librapicorncore.
  * Implemented expose region merging/comprssion.
  * Reiimplemented rectangle gradient shader.
  * Switched to autogenerated ChangeLogs.
  * Improved feedback on parser errors.
  * Fixed Gtk+ version checks.
  * Added PNG saving support.
  * Removed PERL build dependency.
  * Rewrote asyncronous main loops.
  * Many improvements to text editing areas.
  * Speed up blitting logic for local displays.
  * Added SIMD optimized rendering functions for MMX CPUs.
  * Fixed some reference counting issues and child removal.
  * Improved vertical text ellipsization to line granularity.
  * Removed error prone default values from property mechanism.
  * Install tutorial under ${prefix}/doc/rapicornXXXX/tutorial/.
  * Misc compiler and threading fixes, depend on g++-3.4.6.
  * Lots of bug fixes, cleanups and improved test coverage.

Oct 302007
 

A couple people have reported minor and major bugs in the last yyhelp version, particularly after yycommit got reimplemented to operate on top of git-commit(1) instead of cg-commit(1). Besides some others, this new release fixes all known yycommit issues and also (re-)introduces some new features: yyhelp (v0.9)

	Overview of Changes in YummyYummySourceControl-0.9:

	* use plain "git-commit" with temporary index file to stage
	  commit files, this works around git-commit-1.5.2.5 not
          handling deleted files as command line args correctly.
	* also list remote branches for yylsbranches.
	* fix leading dot getting stripped from modified files if $gitprefix=.
	* require and use gawk for time formatting, which mawk doesn't support.
	* properly honor the [FILES...] arguments to yycommit.
	* terminate sed command blocks with semicolon (needed on BSD).
	* resurrected yyhelp.auto-push-commits functionality of yycommit.
Oct 132007
 

Here is a new release of YummyYummySourceControl, a shallow porcelain script around common git(7) command variants: yyhelp (v0.8)

This version supports a new command to grep and match an extended regular expression on the full project history by invoking git-grep(1) on all existing commits, displaying matches by commit hash and file name. Also, a CVS/SVN/Cogito style version of yycommit has now been implemented on top of git-commit(1). So YummyYummySourceControl-0.8 finally gets rid of the last remaining cogito dependency, making it a free standing Git Porcelain Suite. ;-)
Of course there have also been some other miscellaneous changes and docu updates.

	Overview of Changes in YummyYummySourceControl-0.8:

	* removed cogito(7) dependency.
	* made yyview start gitk in the background.
	* suppress yydiff outputs of non-checked-out files (ignored by yycommit).
	* implemented yycommit SVN/CVS/CG-alike on top of git-commit.
	* added '-s' option to yyChangeLog to skip SVN revisions.
	* implemented yyHistoryGrep.

I have been asked some of the purpose of YummyYummySourceControl, so i will extend a bit on that here:

- On some occasions i had to dig quite deeply into the nitty-gritty details of git (and cogito). However i can simply not be bothered to deal with the complexity of its command set for everyday use. I need my source control interface to be really simple when i concentrate on the various projects i’m involved in.

- I refuse to bother with the state (or existence) of git’s index file for anything but the correct implementation of yyhelp. SVN and CVS don’t force me to deal with an intermediate cache state between repository and working tree, YummyYummySourceControl keeps me from seeing it in git.

- I might be using yydiff and yyview up to a dozen or so times per hour while working. Passing options along here or piping the output to a pager or starting stuff in the background really becomes unaffordable at that rate. These commands do all the necessary stuff out of the box, all i have to type is “yyd”+Tab+Return and “yyv”+Tab+Return for each of them now.

- I’m too old and stupid to remember to pull after i’ve pushed and what the git-svn(1) command variants look like. yypull and yypushpull handle that for me.

- Personally, i find ChangeLog style logs much more parsable than git-log(1) output. yyChangeLog gives me that for the git commit history.

- To allow proper git merging, cherry picking, rebasing, etc, i’ve switched to commit my ChangeLog entries as commit message only (with introductionary one-liner instead of the date + email header) and for Rapicorn auto-generate the project ChangeLog for tarballs. Even if the ChangeLog is not auto generated as with Beast or Gtk+, i can still use this commit message scheme for git-svn checkouts, as long as i update the project’s SVN ChangeLog before yypushpull-ing the changes from my local tree to SVN. yyChangeLog -s will generate the remaining ChangeLog portion missing from SVN.

- To help my utter laziness, yystatus -c can preformat file name change lists for my ChangeLog-style commit messages, i’ve always missed that with CVS and SVN.

- To help against sudden confusion and lengthy URL searches, yyinfo tells me all i want to know about a repository (git URL + revision, SVN URL + revision, etc).

And i love to have grep-able access to all the data involved in my day to day activities, yyHistoryGrep now gives me that for my project histories.

Given git’s speed, the possibility for light-weight local repositories, and using yyhelp’s ease, revision control has become so available for me, that i could very comfortably apply it to portions of my home directory and /etc/ on a remote server (e.g. i’ve created a ~/.git/ a couple months ago where i checked in a handful selected files like TODO, my blog diary, .emacs and a few other frequently changing TODO-style files and i’m happily committing to it multiple times a day).

I’m not claiming that yyhelp solves anyone else’s problems, but it certainly has helped my SCM usage a great deal, and for me serves as a key to make a frequently used subset of the git machinery accessible at very few finger tips.

Aug 292007
 

I’ve put up a new release of the slightly renamed YummyYummySourceControl script here: yyhelp (0.5).
The script still depends on cogito(7) for the implementation of yycommit, but other such dependencies have been removed at this point so it’ll eventually depend on Git(7) only. Following is a sum up of the changes between the last version and v0.5:

	Overview of Changes in YummyYummySourceControl-0.5:

	* Help improvements.
	* Support auto-push after commits.
	* Improved installation support: --install-aliases & --uninstall-aliases.
	* Automagically support less as pager.
	* Buglet fixes in yydiff.
	* Provided native implementation of yystatus with extra options.
	* New command yyinfo to list repository information.
	* New command yyblame with colorization support.
	* Allow tagging of specific revisions.

Here’s the synopsis of the new command set:

	SYNOPSIS
	    yyadd          [FILES...] - add files to git repository
	    yyblame        [FILES...] - annotate file source code
	    yybranch    [-f] <branch> - add branch (forcable)
	    yybranchdel [-f] <branch> - delete branch (forcable)
	    yyChangeLog               - show git log in ChangeLog style
	    yycommit       [FILES...] - commit current working tree
	    yydiff         [FILES...] - show committable differences in
	                                working tree
	    yygc                      - repack and prune repository
	    yyhelp                    - display yy* help information
	    yyinfo                    - display repository information
	    yylsbranches              - list branches
	    yylstags                  - list tags
	    yypull                    - pull upstream sources
	    yypushpull                - push & pull upstream sources
	    yyremove       [FILES...] - remove files from git repository
	    yyreset                   - reset (revert to HEAD) all files in the tree
	    yyrestore      [FILES...] - forcefully re-checkout specific files
	    yystatus       [-t|-u|-c] - display working tree status
	                                -t: trim unknown; -u: show unknown;
	                                -c: trim and use commit message style
	    yytag    <tag> [revision] - add tag
	    yytagdel <tag>            - delete tag
	    yyuncommit                - undo the last commit (must be unpushed)
	    yyview                    - browse & navigate the history
	    yywarp           <branch> - checkout new branch

Jan 222007
 

The last Rapicorn snapshot had a couple build and compiler issues which could be fixed meanwhile, so here is the “real” 0.1.2 release:
rapicorn-0.1.2.tar.gz
It’s still a technology preview release with known issues, nevertheless useful to look at. The release NEWS:

Rapicorn 0.1.2:
* added Image support for PNG images.
* added HSlider, VSlider, Arrow, dot-grid.
* added ScrollArea.
* added Adjustments.
* added command system allowing on-click properties.
* added reset logic to recover from stale event situations.
* added requisition tuning to allow iterative size allocations.
* added event grabbing.
* added MainLoop.
* added Thread-per-Window paradigm.
* added Viewport abstraction of drawing backends.
* added color schemes.
* added simple function Evaluator for XML properties.
* added Markup to labels.
* added focus handling for Items.
* added TextEditor prototype.
* added Region to handle rectangle arrays.
* added partial screen updates.
* removed libcairo/libpixman dependency.
* overhauled Table shrinking logic.
* upgraded Birnet library.

Known Issues:
+ instabilities/hangs upon main loop exit.
+ possible build issues with g++ versions < 3.4.6.