I've been 'developing' a sketch for motor-control. It has evolved through many iterations until I had something working. Each iteration is in its own, properly named folder, e.g. motor_control, motor_control_V2, ... _V6 etc. I use an external editor for my coding, then save, open the folder and run the IDE to compile and upload.
Then I went back to .. _V2.pde, made some changes and called it .. _V2.2.pde.
but double-clicking this file, the IDE splash-screen appears but the IDE doesn't actually start. The only way to beat it is to Start the IDE as a blank then drag-and-drop the file onto it.
After much struggling, believing it must be some coding error, I tried changing the file (and folder) name to _V2_2.pde And Presto! Double-click, compile and upload all as normal.
It would appear that Arduino IDE 0022 doesn't accept Dot-separators in the file-name - use underscore (_) instead.
Git is free, easy to install, and fairly easy to use. TortoiseGit is free, easy to install, and easy to use. Git works with or without a server; your choice.
Subversion is free, easy to install, and fairly easy to use. TortoiseSVN is free, easy to install, and easy to use. I can't remember if Subversion has a server half or not but, if it does, it is certainly lean enough to run on a workstation.
CB, sorry, I've given up on using Linux. I booted into Ubuntu again last week - perhaps it has cleared some of my problems whilst I've not used it - but, no, now I not only need to tell it what application to use to open a folder, it won't even let me view my various hard-drives without a bl**dy password. I loathe and detest winslop but I do want to access my own stuff on my own computer.
I want to get on with my programming, which is pretty much all hand-coding, and I use that truly brilliant Ultra Edit application by Ian Meade. There probably are many version-control systems out there, maybe even in Ultra Edit, but I frankly am reluctant to take on newfangled stuff - defined as newer than about 50 years
Searching (grubbing?) through my junk-boxes today I found one of my older circuit-boards, with file-name etched in the copper - from this I could find (most of) the original gubbins, including the V2; V2.2; V2.3.3 etc variants of the layouts, each as a separate file but all in the one folder.
Now if I can just use the Arduino to generate appropriate signals, I should be able to continue my build of the Lawn_mower_self-steered_ultimate-weapon_Mk_IV_V3.2.1