RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → Announcements →

SimpleGit

Subscribe to SimpleGit 20 posts, 7 voices

 
Nov 10, 2018 12:54am
Avatar Jeffrey Lee (213) 6024 posts

For the brave: http://www.phlamethrower.co.uk/misc2/SimpleGit_simplegit-1.zip

http://www.riscos.info/pipermail/gcc/2018-November/006790.html

Also before anyone says anything, this is a simple implementation of a git client, not a git client that makes git simple ;-)

 
Nov 10, 2018 5:08am
Avatar Tristan M. (2946) 1034 posts

You are some kind om magical elf, right?

I am going to give it a try next time I have access to something RO.
Also, Git is pretty easy. SVN gives me the heebie jeebies. I use it but it makes me angry. More manageable with file manager extensions on other platforms though.

 
Nov 10, 2018 1:18pm
Avatar Andy S (2979) 501 posts
Also before anyone says anything

I’ll bite my lip but I bet Rick has something to say ;-)

Seriously though, this is great work Jeffrey. I’ll try it out when I can as well.

 
Nov 10, 2018 2:15pm
Avatar Rick Murray (539) 12392 posts

but I bet Rick has something to say ;-)

I’m one of the believers in being able to build RISC OS on RISC OS. If this helps, then it’s all good. :-)

Will we still have tarballs? Will they work with the unzip bz2 tool? Questions, questions, questions! (^_^)

 
Nov 11, 2018 11:03pm
Avatar Tristan M. (2946) 1034 posts

I tried cloning GrafX2 from GitLab and it broke partway through with “libgit error (12): SSL error: unknown error”

When I have some more time I’ll try it with something from GitHub

 
Nov 12, 2018 10:46am
Avatar patric aristide (434) 418 posts

Chris Gransden updated libgit2, fixing a few issues specific to RISC OS file handling: link

I’ve tested it with GitHub and it seemed fine. I’m quite excited actually, great job Jeffrey!
The lack of portable machines capable of running RISC OS (let’s hope the PineBook does a better job than my rather fragile LapDock) always meant that moving projects between my desktop machines (some of them located in different countries) made a mess of things. CloudFS kinda helped but unfortunately it’s not an ideal solution either. In fact I often had to use embosser labelled USB thumb drives instead. Nice retro touch but not all that efficient.

 
Nov 12, 2018 11:20am
Avatar Chris Gransden (337) 1103 posts

I tried cloning GrafX2 from GitLab and it broke partway through with “libgit error (12): SSL error: unknown error”

It worked OK when I tried it just now. Maybe to do with network data corruption.

I’ve updated sgit to use a later version of libgit2 v0.27.7 and also built with libssh2 so the ‘git://’ protocol should now work. Tested OK on gitbub.

 
Nov 12, 2018 1:28pm
Avatar Jeffrey Lee (213) 6024 posts

I’m quite excited actually, great job Jeffrey!

So far I’ve only really done the easy (if slightly tedious) bit of working out the kinks in the autobuilder setup. Most of the thanks should go to the GCCSDK team for their work on the autobuilder, libraries, and compiler :-)

I’ve updated sgit to use a later version of libgit2 v0.27.7 and also built with libssh2 so the ‘git://’ protocol should now work. Tested OK on gitbub.

Cool. Feel free to submit those changes (I hadn’t started work on that yet).

 
Nov 12, 2018 2:29pm
Avatar Chris Gransden (337) 1103 posts

Cool. Feel free to submit those changes (I hadn’t started work on that yet).

I’ve added the changes to build simplegit with libgit2 0.27.7 and libssh2.

 
May 6, 2019 4:07pm
Avatar Jeffrey Lee (213) 6024 posts

Thanks to Alan Buckley, SimpleGit is now available via Packman / riscos.info.

http://www.riscos.info/packages/DevelopmentDetails.html#Simplegit-Libgit2

 
May 25, 2019 2:26pm
Avatar Jeffrey Lee (213) 6024 posts

New test version which supports “,xxx” suffixes for storing filetypes (so should be usable for most RISC OS projects), and can successfully clone products from ROOL’s gitlab server.

http://www.riscos.info/pipermail/gcc/2019-May/006827.html

http://www.phlamethrower.co.uk/misc2/simplegit-libgit2_639-4.zip

(n.b. cloning the Disc product as in the given example takes around 20 minutes on my SSD-equipped Titanium – not sure how much slower it’ll be on lesser machines)

 
May 25, 2019 5:18pm
Avatar David Pitt (3386) 1248 posts

Trying to build Disc on a Titanium with simplegit 639-4 and this :-

set UnixEnv$sgit$sfix ""
sgit clone https://gitlab.riscosopen.org/Products/Disc.git Disc
dir Disc
sgit submodule init
sgit submodule update

It error’d :-

Starting phase resources ...

Cleaning Messages...
amu -E  -k clean COMPONENT=Messages TARGET=Messages NUMLOCALE=01
ADFS::ROOL.$.ROOLgit.Disc.RiscOS.Sources.Internat.Messages.Makefile: would not open
AMU: error reading makefile
Error running make clean on module 'Messages'.
Error creating directory 'Install.ROOL.Disc'.
Fatal error creating directory 'Install.ROOL.Disc'.
Batched errors...
Error running make clean on module 'Messages'.
Error creating directory 'Install.ROOL.Disc'.

The file that would not open is not there.

Trying with git on the mac and the download failed :-

Unable to checkout '431bcb1a94ff84c4951a9b240fe07032f40d2b88' in submodule path 'RiscOS/Sources/Desktop/Wimp'

Am I doing anything wrong, a not entirely unreasonable supposition.

 
May 25, 2019 5:46pm
Avatar Jeffrey Lee (213) 6024 posts

Starting phase resources …

You shouldn’t do a “resources” build for the Disc product. You only want ‘Export headers’, ‘Export libraries’, and ‘Install disc’.

Unable to checkout ‘431bcb1a94ff84c4951a9b240fe07032f40d2b88’ in submodule path ‘RiscOS/Sources/Desktop/Wimp’

Most likely the non- UTF-8 filename discussed here

(n.b. note that I haven’t actually tried building the sources fetched via git – only done a diff against a tree fetched on Linux to make sure simplegit was fetching things correctly)

 
May 25, 2019 6:07pm
Avatar David Pitt (3386) 1248 posts

You shouldn’t do a “resources” build for the Disc product.

A mistake I have made previously!

Thanks, the simplegit build has completed.

 
May 26, 2019 6:09am
Avatar David Pitt (3386) 1248 posts

And for my next mistake, possibly!

I have built a Titanium ROM.

dir <Obey$Dir>
set UnixEnv$sgit$sfix ""
sgit clone https://gitlab.riscosopen.org/Products/Titanium.git Titan
dir Titan
sgit submodule init
sgit submodule update
echo finished

It turned out to be OS5.26.

The sources visible in Explore GilLab are 5.27.

https://gitlab.riscosopen.org/RiscOS/Sources/Kernel/blob/master/Version

 
May 26, 2019 9:08am
Avatar Jeffrey Lee (213) 6024 posts

It turned out to be OS5.26.

Correct. AFAIK ROOL haven’t set up the “dev” products yet. Possibly there’s some head-scratching going on as to how best deal with some awkward aspects of git submodules (you can get them to track branches instead of specific commits – but you still need to make commits to the parent repository to “move them forward”, which seems like it could result in annoying merge conflicts).

 
May 26, 2019 9:42am
Avatar David Pitt (3386) 1248 posts

AFAIK ROOL haven’t set up the “dev” products yet.

Thanks for that. The good news is that simple git works very well. Thanks for that as well.

 
Jun 8, 2019 11:06am
Avatar David Pitt (3386) 1248 posts

AFAIK ROOL haven’t set up the “dev” products yet.

Given that ROOL are now building for download ‘dev’ products is it possible to directly ‘sgit’ these yet and if so what needs to be done to the script above.

TIA, assuming I am not being too previous.

 
Jun 28, 2019 8:10pm
Avatar Jeffrey Lee (213) 6024 posts

AFAIK ROOL haven’t set up the “dev” products yet. Possibly there’s some head-scratching going on as to how best deal with some awkward aspects of git submodules (you can get them to track branches instead of specific commits – but you still need to make commits to the parent repository to “move them forward”, which seems like it could result in annoying merge conflicts).

Silly me – ROOL are already using branch-tracking submodules. So (with standard git) you can just do “git submodule update —remote” from the root of the repository to pull any changes & update the submodules to the new tip of the relevant branches.

And in reality, although you’d typically want to do a local commit to clean up your status view, there’s no need to push that commit to the remote server (especially if you’re working on code changes, since you’ll have updated some of the submodules to point to your forks/clones). So pushes are only needed when components are added/removed or changed to different branches (or to tag stable builds) – which should be rare enough to not be too much of a nuisance.

Of course, this doesn’t help SimpleGit users, since that currently lacks support for the “—remote” option.

 
Jun 28, 2019 9:18pm
Avatar David Pitt (3386) 1248 posts

So (with standard git) you can just do “git submodule update —remote” from the root of the repository to pull any changes & update the submodules to the new tip of the relevant branches.

Magic!! Many thanks indeed.

I have just retrieved the OS5.27 Titanium ROM using git on the Mac, tar/bz2’d it on the Mac and built it on the Titanium. Better still the ROM is running on the Titanium.

It does not appear to have messed anything up at all but the Mac git reported an "Unable to checkout … in submodule path ‘RiscOS/Sources/Desktop/Wimp’ which is the file with the silly name in TestO in Wimp as previously mentioned. As it is the last item in the terminal it looked as if the checkout stopped at that point, but the ROM did build so it is only the one file missing.

Thanks for that, there was not the remotest chance of me working this out for myself.

Reply

To post replies, please first log in.

Forums → Announcements →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

Announce and discuss new hardware and software releases.

Voices

  • Jeffrey Lee (213)
  • Tristan M. (2946)
  • Andy S (2979)
  • Rick Murray (539)
  • patric aristide (434)
  • Chris Gransden (337)
  • David Pitt (3386)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys