Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2020-10

Github hosting of FPC utilities and [stable] sources

12 messages · 8 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Alfred

Hello to All,

Again I would like to ask for a central GIT repo of FPC [stable] sources and FPC external utilities.

Arguments.

FPC [stable] sources.

On newest macOS, svn is no longer made available (by Xcode). Only git command line tools are installed.
To accommodate for this, I am hosting stable releases of FPC and Lazarus on Github.
FPC trunk versions of FPC and Lazarus are already available on Github. On newest macOS, fpcupdeluxe can use these git repos to get the sources.

FPC external utilities.

Personally, I like to cross-compile. Its too much work to compile all OS-versions of fpcupdeluxe in all kinds of [virtual] machines. To do this, tools are needed. And libraries.

I have just updated the tools to cross-compile towards macOS and iPhone. These tools do not need the dylibs anymore. Only the tbd-files are needed. This allows for crossing towards the latest macOS and iPhone versions, without needing Apple-protected dylibs.
See:
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/wincrossbins_v1.1/WinCrossBinsDarwinAll.zip https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/wincrossbins_v1.1/WinCrossBinsIOSAll.zip https://github.com/LongDirtyAnimAlf/cctools-port

I am also hosting OpenBSD binutils that can be compiled by MSYS2 (on Windows) and also easily on Linux and others. This makes crossing towards OpenBSD a breeze.
https://github.com/LongDirtyAnimAlf/binutils-openbsd https://github.com/LongDirtyAnimAlf/gcc-openbsd

Naturally, fpcupdeluxe is a tool that should/could also be hosted in this repo. I am not the owner, just a maintainer.

Github makes cooperated maintenance of sources and tools very easy.

Thanks for your thoughts.

Alfred.

Michael Van Canneyt
to Alfred
Alfred wrote
Hello to All, Again I would like to ask for a central GIT repo of FPC [stable] sources and FPC external utilities.

This is planned, we wait for 3.2.2 and then we move to git.

Michael.

Ryan Joseph
to Michael Van Canneyt
On Oct 13, 2020, at 7:06 AM, Michael Van Canneyt via fpc-devel wrote: This is planned, we wait for 3.2.2 and then we move to git.

will it go on GitHub also and replace the old mirror site we've been using or will you host it on the free pascal website?

Regards,
Ryan Joseph

Michael Van Canneyt
to Ryan Joseph
Ryan Joseph wrote 7 lines
> On Oct 13, 2020, at 7:06 AM, Michael Van Canneyt via fpc-devel wrote: > > This is planned, we wait for 3.2.2 and then we move to git. will it go on GitHub also and replace the old mirror site we've been using or will you host it on the free pascal website?

We will host it on the FreePascal website (using an on-premise gitlab installation), but there will be official mirrors on GitLab and Github.

Michael.

Michael Van Canneyt
to Michael Fuchs
Michael Fuchs wrote
Am 13.10.20 um 15:06 schrieb Michael Van Canneyt via fpc-devel: > This is planned, we wait for 3.2.2 and then we move to git. Will there still be an access via SVN or is git the only possibility?

There are no plans to support SVN after the switch.

Michael.

Michael Fuchs
to Michael Van Canneyt
Michael Van Canneyt wrote
> Will there still be an access via SVN or is git the only possibility? There are no plans to support SVN after the switch.

That is a great pity. But I understand that additional access also means additional time and effort.

Best regards
Michael

Florian Klämpfl
to Michael Fuchs
Michael Fuchs wrote 8 lines
Am 14.10.20 um 00:59 schrieb Michael Van Canneyt via fpc-devel: >> Will there still be an access via SVN or is git the only possibility? > > There are no plans to support SVN after the switch. That is a great pity. But I understand that additional access also means additional time and effort.

What use case do you have for svn? Maybe it's possible to offer another way to access things like rsync?

Michael Fuchs
to Florian Klämpfl
Florian Klämpfl wrote
What use case do you have for svn? Maybe it's possible to offer another way to access things like rsync?

Read log entries and changesets without downloading the whole repository. Git cannot do this. But this is only a secondary problem and I can do without it. Please don't invest any work in it.

Best regards
Michael

Sven Barth
to Michael Fuchs
Michael Fuchs wrote 6 lines
Am 15.10.20 um 22:13 schrieb Florian Klämpfl via fpc-devel: > What use case do you have for svn? Maybe it's possible to offer another > way to access things like rsync? Read log entries and changesets without downloading the whole repository. Git cannot do this. But this is only a secondary problem and I can do without it. Please don't invest any work in it.

You can do that on both the GitHub and GitLab pages as well. You'll need to use a browser instead of using a command line however. There should also be URLs that you can use to retrieve the differences of a commit as a raw diff, though you'll need to look that up.

Regards,
Sven

Kevin Lyda
to Michael Fuchs: Read log entries and changesets without downloading the whole repository. Git cannot do…
AM Michael Fuchs wrote
Read log entries and changesets without downloading the whole repository. Git cannot do this. But this is only a secondary problem and I can do without it. Please don't invest any work in it.

time git clone fpc-git
[...]
git clone fpc-git 57.40s user
3.87s system 157% cpu 38.862 total
time svn checkout https://svn.freepascal.org/svn/fpc/trunk fpc-svn [...]
svn checkout https://svn.freepascal.org/svn/fpc/trunk fpc-svn 8.80s user 7.43s system 49% cpu 32.790 total
du -sh *
626M fpc-git
728M fpc-svn

The git repo takes 6 wall clock seconds longer to clone and consumes 100M less space.

If you want your git repo to be smaller and can burn some cpu: git gc --aggressive; du -sh .
485M .

Regarding remote svn diffs vs local git diffs:

time svn log https://svn.freepascal.org/svn/fpc/trunk svn log https://svn.freepascal.org/svn/fpc/trunk 1.02s user 0.45s system 5% cpu 25.414 total
time git log | cat
git log 0.49s user 0.09s system 37% cpu 1.531 total cat 0.02s user 0.37s system 25% cpu 1.531 total

You can dump all the logs in 25 wall clock seconds for svn; 1.5 seconds for git. You can also do things like git grep, git log -S and so on.

And you can work without a network entirely for days. You won't be able to access things added since you last connected, but you can commit, do diffs, merges and blames and search history - all without a network.

Kevin