As of 18/12/13 there is a script (scripts/update_ini) which will attempt to auto-rearrange the configuration files (INI and HAL). There is no script to revert the config, so the suggestion to make a backup config still applies. The script makes a backup of the INI and HAL files in an ini-name.old directory, but that is not a complete usable configuration.
To run the script you should navigate to the config directory in a terminal window and issue the command update_ini myinifile.ini.
The joints_axes branches need some (fairly straightforward) changes your .ini file, and master and 2.5 won't run with those changes. So i suggest that you copy your foo.ini file to (for example) foo-ja3.ini and make your changes in the ja3 version of your ini. That way you'll be able to go back and forth between ja3 and the regular branches whenever you want to, by starting linuxcnc with the two different .ini files.
I may have missed some ini changes, if something doesn't work let us know (on the mailing list) and i'll try to update these instructions.
Add this section. Change the JOINTS value to however many joints your machine has, and change the KINEMATICS value to whatever kinematics your machine uses (use trivkins if you don't know).
[KINS] JOINTS = 3 KINEMATICS = trivkins
Split all the [AXIS_n] sections into [AXIS_X] and [JOINT_0], [AXIS_Y] and [JOINT_1], etc. Some variables belong in [AXIS_*], some belong in [JOINT_*], and some belong in both.
axis.N.amp-enable-out == joint.N.amp-enable-out
axis.N.amp-fault-in == joint.N.amp-fault-in
axis.N.backlash-corr == joint.N.backlash-corr
axis.N.backlash-filt == joint.N.backlash-filt
axis.N.backlash-vel == joint.N.backlash-vel
axis.N.coarse-pos-cmd == joint.N.coarse-pos-cmd
axis.N.error == joint.N.error
axis.N.f-error == joint.N.f-error
axis.N.f-error-lim == joint.N.f-error-lim
axis.N.f-errored == joint.N.f-errored
axis.N.faulted == joint.N.faulted
axis.N.free-pos-cmd == joint.N.free-pos-cmd
axis.N.free-tp-enable == joint.N.free-tp-enable
axis.N.free-vel-lim == joint.N.free-vel-lim
axis.N.home-state == joint.N.home-state
axis.N.home-sw-in == joint.N.home-sw-in
axis.N.homed == joint.N.homed
axis.N.homing == joint.N.homing
axis.N.in-position == joint.N.in-position
axis.N.index-enable == joint.N.index-enable
axis.N.jog-counts == joint.N.jog-counts
axis.N.jog-enable == joint.N.jog-enable
axis.N.jog-scale == joint.N.jog-scale
axis.N.jog-vel-mode == joint.N.jog-vel-mode
axis.N.joint-pos-cmd == joint.N.pos-cmd
axis.N.joint-pos-fb == joint.N.pos-fb
axis.N.joint-vel-cmd == joint.N.vel-cmd
axis.N.kb-jog-active == joint.N.kb-jog-active
axis.N.motor-offset == joint.N.motor-offset
axis.N.motor-pos-cmd == joint.N.motor-pos-cmd
axis.N.motor-pos-fb == joint.N.motor-pos-fb
axis.N.neg-hard-limit == joint.N.neg-hard-limit
axis.N.neg-lim-sw-in == joint.N.neg-lim-sw-in
axis.N.pos-hard-limit == joint.N.pos-hard-limit
axis.N.pos-lim-sw-in == joint.N.pos-lim-sw-in
axis.N.wheel-jog-activ == joint.N.wheel-jog-active
Since some ini file variables moved from the [AXIS_*] sections to the corresponding [JOINT_*] sections, any references to those variables in the hal file need to be changed to use the new name.