Lazarus

Announcements => Free Pascal => Topic started by: marcov on August 09, 2021, 07:29:46 am

Title: gitlab conversion online.
Post by: marcov on August 09, 2021, 07:29:46 am
Hello,

After several technical issues (8 tries were needed to convert the FPC
sources to git), the move from svn/mantis to gitlab has been completed.

The FPC sources are now available at

https://gitlab.com/freepascal.org/fpc/source

All FPC git repositories are available at:

https://gitlab.com/freepascal.org/fpc

This is also where bugs can be reported from now on:

All Mantis issues have been converted to Gitlab issues.

Depending on where you report an issue, the Gitlab system will ask you to
select a project under which to report a bug.

Note that e.g. documentation bugs should be reported in the documentation
repository:

https://gitlab.com/freepascal.org/fpc/documentation

etc.

A redirect has been put in place for the old bug system, if possible the
system will redirect you to the correct issue in Gitlab.
A similar redirect will be put in place for the viewvc repository view tool.

The "development" page has been updated with the necessary instructions to
connect with Git:
https://www.freepascal.org/develop.html

More information about git has been placed in the WIKI:

https://wiki.freepascal.org/FPC_git

The lazarus team also placed a version at

https://wiki.freepascal.org/SVN_to_GIT_Cheatsheet

If you see places where we overlooked updating the SVN to git or mantis to
gitlab information, please let us know on the maillist...

Michael.
Title: Re: gitlab conversion online.
Post by: stocki on August 09, 2021, 10:03:42 am
Does that really work? After about 60% git clone I get an RPC error or something like that. The download stops. Git is a dubious technology. SVN was much more stable.
Title: Re: gitlab conversion online.
Post by: MarkMLl on August 09, 2021, 10:23:29 am
Marco, please could that list be placed on a webpage somewhere with an *UNCHANGING* URL so that it can be bookmarked for reference.

MarkMLl
Title: Re: gitlab conversion online.
Post by: lucamar on August 09, 2021, 10:25:11 am
Does that really work? After about 60% git clone I get an RPC error or something like that.

Yes, it works, Might be a glitch on your network:
Code: Text  [Select][+][-]
  1. lucamar@Diana:~/temp$ git clone https://gitlab.com/freepascal.org/fpc/source.git fpc
  2. Clonando en 'fpc'...
  3. remote: Enumerating objects: 662979, done.
  4. remote: Counting objects: 100% (662979/662979), done.
  5. remote: Compressing objects: 100% (127961/127961), done.
  6. remote: Total 662979 (delta 533037), reused 662489 (delta 532575), pack-reused 0
  7. Recibiendo objetos: 100% (662979/662979), 164.45 MiB | 1.40 MiB/s, listo.
  8. Resolviendo deltas: 100% (533037/533037), listo.
  9. Revisando archivos: 100% (20100/20100), listo.
  10. lucamar@Diana:~/temp$

Git is a dubious technology. SVN was much more stable.

While it's true that SVN is much more mature (and I prefer it too), I seriously doubt that Git is "dubious tech". Remember: it was created (and is actively used) to control the Linux kernel source; it's difficult to think of a bigger or more demanding piece of software to maintain.
Title: Re: gitlab conversion online.
Post by: stocki on August 09, 2021, 10:32:15 am
Why a glitch in my network? SVN worked for years. Git sucks.
Title: Re: gitlab conversion online.
Post by: dseligo on August 09, 2021, 11:34:25 am
Why a glitch in my network? SVN worked for years. Git sucks.

For me it works without problem.

Code: Text  [Select][+][-]
  1. dseligo@router:~/priv$ git clone https://gitlab.com/freepascal.org/fpc/source.git fpc
  2. Cloning into 'fpc'...
  3. remote: Enumerating objects: 662986, done.
  4. remote: Counting objects: 100% (662986/662986), done.
  5. remote: Compressing objects: 100% (127967/127967), done.
  6. remote: Total 662986 (delta 533038), reused 662495 (delta 532575), pack-reused 0
  7. Receiving objects: 100% (662986/662986), 164.46 MiB | 9.92 MiB/s, done.
  8. Resolving deltas: 100% (533038/533038), done.
  9. Checking out files: 100% (20100/20100), done.
  10. dseligo@router:~/priv$
Title: Re: gitlab conversion online.
Post by: marcov on August 09, 2021, 12:03:07 pm
Does that really work? After about 60% git clone I get an RPC error or something like that. The download stops. Git is a dubious technology. SVN was much more stable.

Yes. I also had to try twice. Moreover I had to answer 20 sodding questions for tortoisegit + git config statements, while I needed 3 for tortoisesvn

Personally I was not a proponent of moving to GIT. It might have some cracking features, but usability and safety doesn't convince me.
Title: Re: gitlab conversion online.
Post by: ccrause on August 09, 2021, 12:05:42 pm
Why a glitch in my network? SVN worked for years. Git sucks.
Consider a shallow clone:
Code: Text  [Select][+][-]
  1. git clone --depth=1 https://gitlab.com/freepascal.org/fpc/source.git fpc-1
  2. Cloning into 'fpc-1'...
  3. remote: Enumerating objects: 21014, done.
  4. remote: Counting objects: 100% (21014/21014), done.
  5. remote: Compressing objects: 100% (18082/18082), done.
  6. remote: Total 21014 (delta 4060), reused 15100 (delta 2522), pack-reused 0
  7. Receiving objects: 100% (21014/21014), 48.29 MiB | 2.06 MiB/s, done.
  8. Resolving deltas: 100% (4060/4060), done.
  9. Updating files: 100% (20100/20100), done.
This will clone only the latest state of branch main without any history.

Or you can specify a shallow clone of all the branches:
Code: Text  [Select][+][-]
  1. git clone --depth=1 --no-single-branch https://gitlab.com/freepascal.org/fpc/source.git fpc-2
  2. Cloning into 'fpc-2'...
  3. remote: Enumerating objects: 148851, done.
  4. remote: Counting objects: 100% (148851/148851), done.
  5. remote: Compressing objects: 100% (78871/78871), done.
  6. remote: Total 148851 (delta 109987), reused 102454 (delta 68874), pack-reused 0
  7. Receiving objects: 100% (148851/148851), 108.72 MiB | 2.04 MiB/s, done.
  8. Resolving deltas: 100% (109987/109987), done.
  9. Updating files: 100% (20100/20100), done.

Or clone a specific branch only, say fixes branch for 3.2:
Code: Text  [Select][+][-]
  1. git clone --depth=1 --branch fixes_3_2 --single-branch https://gitlab.com/freepascal.org/fpc/source.git fpc-fixes_3_2
  2. Cloning into 'fpc-fixes_3_2'...
  3. remote: Enumerating objects: 19875, done.
  4. remote: Counting objects: 100% (19875/19875), done.
  5. remote: Compressing objects: 100% (17677/17677), done.
  6. remote: Total 19875 (delta 3749), reused 12745 (delta 1808), pack-reused 0
  7. Receiving objects: 100% (19875/19875), 46.04 MiB | 2.54 MiB/s, done.
  8. Resolving deltas: 100% (3749/3749), done.
  9. Updating files: 100% (18957/18957), done.

As you can see there is considerable differences in the size of the transferred data.

And just for reference:
Code: Text  [Select][+][-]
  1. git --version
  2. git version 2.25.1
Title: Re: gitlab conversion online.
Post by: MarkMLl on August 09, 2021, 12:52:37 pm
As you can see there is considerable differences in the size of the transferred data.

Two points there: first, that doesn't show how much metadata is being moved around. Second, it doesn't show how much data Subversion would have moved around.

I've previously expressed my own doubts about Git for the sort of distribution that most users here need (the case for core developers, and the degree of integration with bug reporting etc., is a completely different issue). However the decision has been made.

MarkMLl
Title: Re: gitlab conversion online.
Post by: stocki on August 10, 2021, 09:25:11 am
Seems to me the git timeout kills the connection on slow DSL connections. The server needs to be configured correctly.
Title: Re: gitlab conversion online.
Post by: El Salvador on August 10, 2021, 09:37:27 am
@stocki, tried with the shallow clone (as @ccrause suggested)?

Quote
Two points there: first, that doesn't show how much metadata is being moved around. Second, it doesn't show how much data Subversion would have moved around.
I believe @ccrause meant the difference in data transferred between the shallow clone (48mb) and the normal clone (108mb).
Title: Re: gitlab conversion online.
Post by: Marc on August 10, 2021, 09:42:35 am
Seems to me the git timeout kills the connection on slow DSL connections. The server needs to be configured correctly.
Gitlab is hosted by the Gitlab organization itself, if it timeout, file a ticket there.

Marc
Title: Re: gitlab conversion online.
Post by: Bart on August 10, 2021, 04:24:11 pm
https://gitlab.com/freepascal.org/fpc/source

Somebody should change "Installing the Free Pascal Compiler" (https://wiki.lazarus.freepascal.org/Installing_the_Free_Pascal_Compiler#Update_from_the_source_repository_using_SVN_or_Git) accordingly.

Bart
Title: Re: gitlab conversion online.
Post by: stocki on August 11, 2021, 12:25:01 am
I don't know if gitlab is a good decision in the long run. Services get shut down pretty quickly or go to people you don't like.
Title: Re: gitlab conversion online.
Post by: marcov on August 11, 2021, 08:28:55 am
I don't know if gitlab is a good decision in the long run. Services get shut down pretty quickly or go to people you don't like.

I don't think anybody has the illusion of *forever*, neither gitlab, nor the free premium tier for open-source projects that we get from it. But it will also not be a matter of only a couple of years, and if we have a run of 8-10 years, that still saves considerably on server administration and fees.

Title: Re: gitlab conversion online.
Post by: Martin_fr on August 11, 2021, 02:18:15 pm
Does that really work? After about 60% git clone I get an RPC error or something like that. The download stops. Git is a dubious technology. SVN was much more stable.
Well you were lucky with svn then.
I had frequent aborts, when  I switched between fpc branches on svn. Or worse, it finished, but the result was broken (i.e. comparing the switched data to a new fresh checkout had diffs).
Of course, my personal experience may not be representative.

Anyway, if it is an issues with a server or firewall then it's not really git or fpc, it's just the choice of hoster that came with it.

I don't know if there will be a fpc mirror on github. If so that might work better (diff hoster)

Title: Re: gitlab conversion online.
Post by: MarkMLl on August 11, 2021, 03:03:32 pm
Well you were lucky with svn then.
I had frequent aborts, when  I switched between fpc branches on svn. Or worse, it finished, but the result was broken (i.e. comparing the switched data to a new fresh checkout had diffs).
Of course, my personal experience may not be representative.

The only time that I had problems with svn was when trying to use a non-standard program to create and maintain a local clone of the server... I forget the details.

Without wanting to take sides on this particular bit of the argument: is a randomly dropped session likely to be more harmful to a version of a project checked out from svn, or to an attempted clone (shallow or otherwise) from git?

MarkMLl
Title: Re: gitlab conversion online.
Post by: PascalDragon on August 12, 2021, 08:52:43 am
I don't know if there will be a fpc mirror on github. If so that might work better (diff hoster)

There already is (https://github.com/fpc/FPCSource). ;)
Title: Re: gitlab conversion online.
Post by: marcov on August 12, 2021, 09:49:29 pm
Using SVN on sf.net was also horrible, and the FPC server is saintly in comparison. A cloud problem, possibly.

I also don't recognize the problem Martin describes, but I rarely switched branches on checkouts, usually having a fixes and trunk checkout of both projects.

Normal SVN checkouts always worked for me with cabled systems. On wireless a checkout (as opposed to an update)  didn't run to completion sometimes. Another update or in rare cases a "cleanup" fixed it.

Title: Re: gitlab conversion online.
Post by: Artlav on August 13, 2021, 12:25:11 am
So, how do you link the accounts between gitlab bug tracker and the old bug tracker?

I see many people have "Note by Florian @FPK2" kind of links there, but no obvious way to link the two.
Title: Re: gitlab conversion online.
Post by: avra on August 13, 2021, 08:01:44 am
So, how do you link the accounts between gitlab bug tracker and the old bug tracker?
There used to be a notification period when you could send a mail with your mantis and gitlab account names which were later matched in an automated conversion process.
Title: Re: gitlab conversion online.
Post by: lucamar on August 13, 2021, 01:48:02 pm
So, how do you link the accounts between gitlab bug tracker and the old bug tracker?

I see many people have "Note by Florian @FPK2" kind of links there, but no obvious way to link the two.

One can always do a "Search" for fpk2 in gitlab, which in this case leads to three members, the first of which is @FPK2 (https://gitlab.com/FPK2) :)

Of course, for more common nicks, the search result might have thousands of users, which makes it a "little" unwieldly ...
Title: Re: gitlab conversion online.
Post by: Martin_fr on August 13, 2021, 02:23:11 pm
It is not possible for us to create issues in another persons name. Gitlab will not allow that (for obvious reasons).

We announced a while back, that people who wanted their GitLab name mentioned in their issues/notes, should report it to us. Those who did were mentioned.

In either case you can search for the mantis or gitlab name.

For "reported issues"  search for (including the quotes):
Code: Text  [Select][+][-]
  1. "<small>Martin"
Where martin is the mantis user name.

Or for notes and reports
Code: Text  [Select][+][-]
  1. "** Martin"
(This time the "full name" from mantis)

For monitored issues, search for (including the quotes / mind the space too):
Code: Text  [Select][+][-]
  1. "» @martin_frb"
  2. "» martin"
The "@" is the GitLab name, the other is mantis. (the mantis name only works, if no GitLab name was given)

Title: Re: gitlab conversion online.
Post by: olly on September 17, 2021, 02:45:17 pm
Question: Should the bootstrappers be available on Gitlab?

Currently only accessable via FTP, I think.
ftp://ftp.freepascal.org/pub/fpc/dist/3.2.0/bootstrap/
Title: Re: gitlab conversion online.
Post by: funlw65 on September 20, 2021, 02:40:30 am
It should!
TinyPortal © 2005-2018