log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Geminus (Gen:8)
- A new monitor for my RISC OS and Mac systems (News:1)
- May news round-up (News:)
- How likely is it that... (PP:2)
- NetSurf or Iconbar? (Site:1)
- GDPR and RISC OS (News:1)
- Power Switching a RaspberryPi (News:1)
- Drag'n'Drop Spring 2018 edition released (News:)
- Messenger Pro reaches release 8 (News:)
- RPCEmu 0.9.0 (Gen:2)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
Site Search
 
Article archives
Acorn Arcade forums: Programming: Version control for home projects
 
  Version control for home projects
  ksattic (07:52 17/8/2008)
  Phlamethrower (13:53 17/8/2008)
  adamr (15:24 17/8/2008)
  adrianl (17:13 17/8/2008)
    VincceH (12:12 18/8/2008)
      rich (13:58 18/8/2008)
        VincceH (15:19 18/8/2008)
          rich (18:24 18/8/2008)
            Phlamethrower (18:51 18/8/2008)
            VincceH (18:57 18/8/2008)
    ksattic (22:59 18/8/2008)
      tribbles (23:53 18/8/2008)
      peterv (09:11 29/8/2008)
  alpha (01:00 20/8/2008)
    ksattic (18:28 20/8/2008)
    ksattic (17:57 21/2/2010)
      Phlamethrower (18:06 21/2/2010)
        ksattic (21:02 21/2/2010)
          nunfetishist (21:28 21/2/2010)
          Phlamethrower (22:35 21/2/2010)
            richcheng (11:24 23/2/2010)
 
Simon Wilson Message #108034, posted by ksattic at 07:52, 17/8/2008
ksattic
Finally, an avatar!

Posts: 1288
At work we use revision control, of course (Perforce). However, I never considered using revision control for home projects until recently. Since we have a RISC OS Subversion (svn) client, I chose to run svnserve on my Linux box and use that.

It took a while to get to grips with the difference in the way revisions are handled - Perforce has one revision per file like cvs, but svn has one revision per commit. Another benefit of using svn on a Linux server is that I have a RAID, so that gives me some peace of mind.

Does anyone else use revision control for home projects or can't you be bothered?

[Edited by ksattic at 07:53, 17/8/2008]
  ^[ Log in to reply ]
 
Jeffrey Lee Message #108037, posted by Phlamethrower at 13:53, 17/8/2008, in reply to message #108034
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15061
Does anyone else use revision control for home projects or can't you be bothered?
I can't be bothered. I do have a few backups I can use to repair any broken bits of code, but they rarely get used.
  ^[ Log in to reply ]
 
Adam Message #108038, posted by adamr at 15:24, 17/8/2008, in reply to message #108034
Member
Posts: 112
Does anyone else use revision control for home projects or can't you be bothered?
I use it for DeskLib and WinEd as they're hosted on riscos.info and I find it an excellent way to work. I've not yet got round to setting something up for my personal projects, but when I get one of these:
http://www.qnapstore.co.uk/index.php?act=viewProd&productId=1
I'll probably see about setting up a subversion server on it.

Adam
  ^[ Log in to reply ]
 
Adrian Lees Message #108042, posted by adrianl at 17:13, 17/8/2008, in reply to message #108034
Member
Posts: 1571
I've never bothered, though I can see it being useful if your memory of what you've changed isn't great, because sometimes when you've broken some functionality having the revision history can expedite finding the cause.

I just make backups every now and then and when I release a new version, I just copy the entire project directory into a named subdirectory. Simple and effective.

On RISC OS I'd prefer cvs to svn probably, because svn is quite a lot slower.
  ^[ Log in to reply ]
 
VinceH Message #108053, posted by VincceH at 12:12, 18/8/2008, in reply to message #108042
VincceH
Lowering the tone since the dawn of time

Posts: 1590
I just make backups every now and then and when I release a new version, I just copy the entire project directory into a named subdirectory. Simple and effective.
Similar here. When I decide something is suitable for release, I simply double click the 'release' obey file and it makes the necessary backup/archive copy, and creates a zipfile which is placed in the relevant place in the local copy of the website - ready for when I next update and upload.
  ^[ Log in to reply ]
 
Richard Goodwin Message #108057, posted by rich at 13:58, 18/8/2008, in reply to message #108053
Rich
Webmaster
The Icon Bar

Posts: 6766
I use rsync on a Linux server, which can just slurp up whole directories either locally over Samba or via SSH for remote sites. It can remove files from the backup that have vanished from the original - or I can wimp out and leave them in place in case I deleted the wrong thing. And I wrote a web front end which means I can start backups from my portable device, and not have to watch until it finishes.

But then, I'm usually backing up photos, which are large and numerous, or websites, which are smaller but over a whole server can result in many, many changed files. Having a backup/intranet server in the house might not be for everyone.

I do think you need to move backups off of the original machine however: if the machine gets hit by lightning or other power surge, your hard drive(s) - including ones connected by USB - could get FUBARed. That happened to my old boss, Foggy. CD or DVD should suffice - but maybe move them to another building in case the whole house burns down wink
________
RichGCheers,
Rich.
  ^[ Log in to reply ]
 
VinceH Message #108060, posted by VincceH at 15:19, 18/8/2008, in reply to message #108057
VincceH
Lowering the tone since the dawn of time

Posts: 1590
My actual backup method is actually manual on RISC OS, and automated on Windows.

What I do is copy those items on RISC OS that I want included in my backups over to the laptop - into a cunningly named folder called "RISC OS Backups"

On Windows, an incremental backup is taken automatically onto my NAS. I'm going to go a step further by bringing a spare USB drive (when I have one spare!) into this office, seeing as I'm here quite often, and use that the same way.

That way I'll have both offsite and onsite backups, all done in the background while I do other things.

The only real improvement would be to have a remote backup overseas in case the UK gets nuked.

And, perhaps, to automate the RISC OS backups which, by being done manually, don't happen as often as they should.
  ^[ Log in to reply ]
 
Richard Goodwin Message #108061, posted by rich at 18:24, 18/8/2008, in reply to message #108060
Rich
Webmaster
The Icon Bar

Posts: 6766
For RISC OS automation, using !Alarm is probably easiest. Instead of alarm messages, you can drag a file (e.g. an Obey file) and it'll run that at the appointed time. Trigger a Samba/NFS/FTP file copy to the NAS and Bob's your auntie.

You have to do it at a time you're not going to be using the machine however. It seems to use Filer_Run, which has the slight disadvantage that, if you happen to be pressing SHIFT at the time it triggers, your Obey file ends up in your text editor instead of running. I ended up doing one timer as a hidden multitasking program.
________
RichGCheers,
Rich.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #108062, posted by Phlamethrower at 18:51, 18/8/2008, in reply to message #108061
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15061
There are a couple of cron-a-likes for RISC OS which can be used to get round the Filer_Run problem, IIRC. You could even schedule your backup to run while you're doing something single-tasking! (Although for that you'd probably have to write your own module, unless you want it to stop/interfere with whatever single-tasking thing you're doing).

Me, I have a RISC OS backup script that I run manually once every week or two. It zips everything up in manageable chunks, syncs it to the PC, (waking it first if needed), and then turns off both machines. And then at some point later I'll use a linux CD to run a script that backs up the PC to an external hard disc (which would result in another copy of the Iyonix backup too). I also tend to wander around with a USB pen drive in my pocket containing the important bits from my Iyonix, since having my backup hard disc sat on the same desk as my computer doesn't make it the safest backup location in the world.
  ^[ Log in to reply ]
 
VinceH Message #108063, posted by VincceH at 18:57, 18/8/2008, in reply to message #108061
VincceH
Lowering the tone since the dawn of time

Posts: 1590
Yes, I know about task-alarms (back in teh day most of those who posted the argonet newsgroup faqs had it done so automagically using just that method to run a quick BASIC ditty I knocked up).

I haven't looked into it yet, but I expect Steve Revill's backup program can be invoked from the command line - and therefore from a task-alarm.

However, the problems with doing this for me are that the NAS device I have is utter crap: It only works from a machine on which their crud software is installed - which rules RISC OS out from doing backups to that the sensible way. And if I shut the computer down, rather than give it ZZZs, then I have to manually mount the drives I want to use.

I can access it from RISC OS using FTP - so that's one possible solution (if the backup software will allow backups that way).

The better solution, though, is to backup to the laptop - which is what I'm currently doing manually - because anything so backed up will (eventually) be backed up offsite as I mentioned before.
  ^[ Log in to reply ]
 
Simon Wilson Message #108064, posted by ksattic at 22:59, 18/8/2008, in reply to message #108042
ksattic
Finally, an avatar!

Posts: 1288
On RISC OS I'd prefer cvs to svn probably, because svn is quite a lot slower.
SVN is *really* slow on RISC OS. I tried putting my local working copy in a ramdisk to see if it would be quicker, and it is, but it's still way slower than on my relatively sluggish Linux box. It makes me wonder if the bottleneck is the slow networking stack on RISC OS, or the filesystem (though a ramdisk should be plenty fast enough). I can't imagine it is doing much processing when just checking out a working copy.
  ^[ Log in to reply ]
 
Jason Tribbeck Message #108068, posted by tribbles at 23:53, 18/8/2008, in reply to message #108064
tribbles
Captain Helix

Posts: 929
I use CVS on RISC OS and FreeBSD for important stuff; on the Mac, Time Machine works well enough (but then I don't need to do any collaborative work [yet]).

I haven't tried SVN yet though (CVS does what I need it to - why change? smile ).
  ^[ Log in to reply ]
 
Tim Fountain Message #108091, posted by alpha at 01:00, 20/8/2008, in reply to message #108034
Forum bod
Posts: 570
I use git on Linux for all of my stuff except for some older projects which are on Subversion. For me the main reason is simply habit, I'm so used to using it at work that I now work quicker with it than without it.

I would agree that version control is overkill for home projects that you are and always will be the only developer on, but even still there are some advantages:

* Easier to 'try stuff out', since you can easily revert to previous versions of files
* Built in backups (assuming your source control lives on a different box to the one you code on)
* Possibly (?) easier to setup automated deployments (for web stuff at least), if that's ever something you might need.

BTW I would assume there isn't a git client for RISC OS since a quick Google search didn't reveal anything, although searching for "'RISC OS' git" did return an amusing number of TIB links.
  ^[ Log in to reply ]
 
Simon Wilson Message #108104, posted by ksattic at 18:28, 20/8/2008, in reply to message #108091
ksattic
Finally, an avatar!

Posts: 1288
BTW I would assume there isn't a git client for RISC OS since a quick Google search didn't reveal anything, although searching for "'RISC OS' git" did return an amusing number of TIB links.
Ha ha, I tried the *exact* same thing, almost just to see how many times "git" and "risc os" would appear in the same page!
  ^[ Log in to reply ]
 
Peter van der Vos Message #108190, posted by peterv at 09:11, 29/8/2008, in reply to message #108064
Member
Posts: 3
SVN is *really* slow on RISC OS. I tried putting my local working copy in a ramdisk to see if it would be quicker, and it is, but it's still way slower than on my relatively sluggish Linux box.
On a Risc PC the problem is the filesize of SVN (4M), this takes about a second to load from harddisk. On an Iyonix I found it workable.
  ^[ Log in to reply ]
 
Simon Wilson Message #113471, posted by ksattic at 17:57, 21/2/2010, in reply to message #108091
ksattic
Finally, an avatar!

Posts: 1288
I just did a quick and dirty port of git to RISC OS, and it currently only works with local files (shouldn't be too hard to support ssh though). Unfortunately git log seems to hang (or take a really long time) so I need to debug that, otherwise it will be a bit of a struggle to use. I've decided that I need something like this before I carry on with any other projects!
  ^[ Log in to reply ]
 
Jeffrey Lee Message #113473, posted by Phlamethrower at 18:06, 21/2/2010, in reply to message #113471
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15061
You're alive! shock

I tried mailing you a few months ago about your ROOL/OMAP video driver work, but to no avail. I came to the conclusion that you were either dead, busy, or distracted by balloon animals, and so a few weeks ago I started work on the new driver myself. So if you do have something to contribute, please get in touch!
  ^[ Log in to reply ]
 
Simon Wilson Message #113476, posted by ksattic at 21:02, 21/2/2010, in reply to message #113473
ksattic
Finally, an avatar!

Posts: 1288
I did get your emails, I am just crap at replying.

Had some family issues that I told you about mid last year. Then Sep-Jan I was working around 80 hour weeks on the graphics driver for the Google Nexus One release. That's only just stopped, so I'm trying to get back into things now. I grew annoyed about the lack of decent revision control on RISC OS so decided to port git before getting back on the wagon. Trouble is, I still don't really have much time to look into things.

Balloon animals?

I did look in some detail about the work required for the OMAP/BB but in order to get hardware display scaling working on the BB I need to put in quite a few hours. What work have you done so far?
  ^[ Log in to reply ]
 
Rob Kendrick Message #113477, posted by nunfetishist at 21:28, 21/2/2010, in reply to message #113476
nunfetishist
Exposing morons since 1981

Posts: 484
My favoured VCS currently won't work on RISC OS: bzr. http://bazaar.canonical.com/en/ Unfortunately, it requires a newer version of Python than appears available. Although I also suspect it'll be too slow on all but the fastest RISC OS hardware. Which is a shame, because it's very easy to use given the power it provides.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #113478, posted by Phlamethrower at 22:35, 21/2/2010, in reply to message #113476
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15061
I did get your emails, I am just crap at replying.
Heh, fair enough. I suffer from the same problem myself once in a while.

Balloon animals?
Well, I don't know what kind of stuff you get up to that could distract you from your RISC OS work smile

I did look in some detail about the work required for the OMAP/BB but in order to get hardware display scaling working on the BB I need to put in quite a few hours. What work have you done so far?
Functionality wise the new driver is identical to the current one, just with the addition of a couple of fixes.

Under the hood however it's been completely rewritten, much as you'd expect - there's code to manage which overlay gets used for what, to crop the overlays to screen when programming the hardware registers, etc. Plus I've sorted out the FIFO handling so there's no screen tearing in high bandwidth modes, and I have code that should combat the "mouse cursor turns into flickering second copy of screen" bug. Next on my list is getting TV-out working, and then all the other fancy stuff (scaling, rotation, hardware acceleration, plus all the ancilliary stuff like new APIs, a tool to generate MDFs from EDID data, etc.)

As far as new APIs go, I had a read through everything and came up with this (see also this forum thread). Sometime in the next week or two I suspect I'll be updating the page with the full details of the proposed APIs, since I'm almost at the stage where I need to start implementing them in order to develop the driver further.

As far as hardware acceleration goes, Adrian Lees has written some sample code to perform GraphicsV rectangle copy/fill acceleration using the SDMA controller, so you don't need to worry about looking into that. (And then he also stopped responding to emails when I asked him if he had plans for any further work. Tsk!)

For the hardware scaling stuff - if you've got some sample code for generating the scale factors & other values then that could be useful. Otherwise I suspect it will be quicker for me to get everything sorted out myself.

Also note that none of this code is in CVS yet - I only got the driver into a stable state this weekend. I'm planning on adding it to CVS in a few days time, preferably with working TV-out code.

If it's not feasible for you to help out with the video driver, then there are still plenty of other bits that you could get involved with should you feel so inclined (either with the OMAP port or ROOL work in general). Just try and avoid picking a big project and then vanishing before you're able to commit any code wink
  ^[ Log in to reply ]
 
richard cheng Message #113487, posted by richcheng at 11:24, 23/2/2010, in reply to message #113478

Posts: 653
I use git, mainly because it makes it very easy for me to switch between working on my (Windows) Eee and my iMac (and occasionally my Windows PC at work).

My Iyonix isn't even backed up! Which is going to make me cry at some point sooner or later.
  ^[ Log in to reply ]
 

Acorn Arcade forums: Programming: Version control for home projects