Recent

Author Topic: FPC & Lazarus moving to gitlab  (Read 99917 times)

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: FPC & Lazarus moving to gitlab
« Reply #75 on: June 27, 2021, 04:47:13 pm »
Does this mean that it will no longer be possible to refer to a particular stage of trunk development as "revision such-and-such", and to step forwards and backwards from that point using a contiguous sequence of revision numbers?
Mainly, yes.

The exact details on the below are still being evaluated. Outcome not yet known....

Ok, we now have an example of what it will likely be for the Lazarus repro (might still get some amendments, but should be close).
https://gitlab.com/freepascal.org/lazarus-ide/lazarus_test_conversion_2

Code: Bash  [Select][+][-]
  1. git describe
will return output like this
Code: Text  [Select][+][-]
  1. trunk-2_3-59-gd9603ca06a
  2. lazarus_2_0_8-144-g532537c6c4

This are 3 fields
* The name of a label
* The amount of commits from that label (everything git log would see for that range)
* The short hash-id (for access to the exact commit)

You may notice that the example in the fixes branch is based on 2.0.8, even though I can tell you the commit for this is past 2.0.12.
The reason is that 2.0.12 "branched" from the fixes branch. Therefore the 2.0.12 label was not found.
But the general idea, of having some sort of "sortable" reference is still valid.

However those numbers are not 100% unique.
When branches divert (e.g. pulled in merge requests / or new branches without tag at their base), then both lines of the branch use the same numbers.
That is usually only a small amount of commits. So you still can tell a rough relation between 2 describes.
After the merge, when the branch continues as one, each commit has only ONE number, (even if the 2 branch line differed in commit count)

MarkMLl

  • Hero Member
  • *****
  • Posts: 6647
Re: FPC & Lazarus moving to gitlab
« Reply #76 on: June 27, 2021, 09:43:37 pm »
Code: Bash  [Select][+][-]
  1. git describe
will return output like this
Code: Text  [Select][+][-]
  1. trunk-2_3-59-gd9603ca06a
  2. lazarus_2_0_8-144-g532537c6c4

This are 3 fields
* The name of a label
* The amount of commits from that label (everything git log would see for that range)
* The short hash-id (for access to the exact commit)

You may notice that the example in the fixes branch is based on 2.0.8, even though I can tell you the commit for this is past 2.0.12.
The reason is that 2.0.12 "branched" from the fixes branch. Therefore the 2.0.12 label was not found.
But the general idea, of having some sort of "sortable" reference is still valid.

However those numbers are not 100% unique.

Definitely getting there though, congratulations.

Do you envisage some way of doing a binary chop based on that reference?

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: FPC & Lazarus moving to gitlab
« Reply #77 on: June 27, 2021, 10:55:17 pm »
Do you envisage some way of doing a binary chop based on that reference?

Bisect? No.

First of all this is for estimating where are reporter is at. (at least the tag + number)
Someone tells me his IDE about says svn rev 34009 => I ask where he was the last 10 years.
Same for "trunk-0_9_30-200-HASH"


Assume this branch, with a merge
Code: Text  [Select][+][-]
  1.     / - A - B - C \
  2. tag                   - E - F
  3.     \ - D -      /
  4.  
A and D both are "tag + 1"
E  is at "tag + 5" (all 4 commits are seen before it)

And there wont be a tag on every little merge branch. (Even though merges will be for features, pull requests ... otherwise we hopefully keep it linear)

However similar issues in svn. You look at r300. You do not know if r301 is in a different branch.


Code: Pascal  [Select][+][-]
  1. lazarus_2_0_8-144-g532537c6c4

Git has no function that takes the  "lazarus_2_0_8-144" part and computes a  commit (it can't / svn can, but you may still end in a diff branch). You can compute it for git, by getting the list of all commits between the start and end point, and then get the element from the list, but that is not what you want?

To see the commit, you need the hash part, that is why it is included.

If you have the HASH, you can go n parents towards the root.
Code: Text  [Select][+][-]
  1.   g532537c6c4~1
  2.   g532537c6c4~2
  3.   g532537c6c4~3
But you cannot walk children towards the current most recent commit.


Code: Text  [Select][+][-]
  1. git rev-list   g532537c6c4..HEAD
gives you a list of all commits from (exclusive)   g532537c6c4 to (inclusive) head. (current)

Code: Text  [Select][+][-]
  1. git rev-list  --bisect  g532537c6c4..HEAD
(not tested) gets you the one in the middle

Code: Text  [Select][+][-]
  1. git log --oneline g532537c6c4..HEAD
gets you the log to look on



before I go into more.
Describe more closely how you bisect in svn.

Because either you use all commits (and hope no numbers in that range are in a branch) => and then you do (r1 + r2) div 2 => but then you can do git bisect. (or rev-list --bisect)

Or you do something else (pre-select commits), but the svn rev numbers are just from a list with gaps, no longer contineous, and all math is gone.
If there are gaps in your svn list, how to you get the commit + 60 ? 

Yes, the svn numbers are easier to copy. You  look at them, and you can memorize them just until you typed them.
The git hashes => copy and paste.
« Last Edit: June 27, 2021, 10:59:45 pm by Martin_fr »

Okoba

  • Hero Member
  • *****
  • Posts: 528
Re: FPC & Lazarus moving to gitlab
« Reply #78 on: June 29, 2021, 11:51:14 pm »
Thank you team, especially Martin  ;D

Okoba

  • Hero Member
  • *****
  • Posts: 528
Re: FPC & Lazarus moving to gitlab
« Reply #79 on: July 01, 2021, 12:06:19 pm »
@Martin_fr Suggestion: Removing "-IDE" from Lazarus group name. It eases daily work like copying and pasting a link, project name or folder of the project and generally it seems redundant. I know the website is called Lazarus-IDE, but it seems fine to have only Lazarus as the name of the group and project, especially as you've created Lazarus in the FPC group, so no misunderstanding seems likely.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: FPC & Lazarus moving to gitlab
« Reply #80 on: July 01, 2021, 04:35:44 pm »
Does this mean that it will no longer be possible to refer to a particular stage of trunk development as "revision such-and-such", and to step forwards and backwards from that point using a contiguous sequence of revision numbers?

MarkMLl
We could use Firebird's build number schema via CI/CD [Continuous Integration and Continuous Delivery]:
https://github.com/FirebirdSQL/firebird/branches
https://github.com/FirebirdSQL/firebird/commits/master
increment build number [via CI/CD]:
https://github.com/FirebirdSQL/firebird/commit/6bf7834d30a28d0624bc12c0a28692c7724f99ca

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: FPC & Lazarus moving to gitlab
« Reply #81 on: July 01, 2021, 09:32:54 pm »
@Martin_fr Suggestion: Removing "-IDE" from Lazarus group name.
I've changed the URL.

Okoba

  • Hero Member
  • *****
  • Posts: 528
Re: FPC & Lazarus moving to gitlab
« Reply #82 on: July 01, 2021, 09:46:16 pm »
What URL?
I meant Gitlab project name for Lazarus.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: FPC & Lazarus moving to gitlab
« Reply #83 on: July 01, 2021, 10:30:34 pm »
What URL?
I meant Gitlab project name for Lazarus.
The group name itself can afaik not be changed (other than starting from scratch / no thanks). But that is a display name. So it should not be a problem. (if you copy and paste it as "lazarus" people will still know)

The URL is now
https://gitlab.com/groups/freepascal.org/lazarus
And the test repro is at
https://gitlab.com/freepascal.org/lazarus/lazarus_test_conversion_2

both without the "-ide".




EDIT: it can be changed. Just not in the advanced settings.
« Last Edit: July 01, 2021, 10:36:38 pm by Martin_fr »

Okoba

  • Hero Member
  • *****
  • Posts: 528
Re: FPC & Lazarus moving to gitlab
« Reply #84 on: July 01, 2021, 10:55:10 pm »
It was not updated the previous check but now it is Lazarus.
Thank you for the update!
Project names will be FPC and Lazarus like the group names?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: FPC & Lazarus moving to gitlab
« Reply #85 on: July 01, 2021, 11:03:47 pm »
It was not updated the previous check but now it is Lazarus.
Thank you for the update!
Project names will be FPC and Lazarus like the group names?

Lazarus has a 2 repositories. It's likely the main one will end up as just Lazarus. (the other is for binaries, gdb,qt... / there is a test of it too).

I don't know how fpc is going to handle their build repro and all...

Okoba

  • Hero Member
  • *****
  • Posts: 528
Re: FPC & Lazarus moving to gitlab
« Reply #86 on: July 01, 2021, 11:05:57 pm »
Fantastic. And again thank you for the great work.
I will be happy if I can help in any way but you have my best wishes anytime.

Zaher

  • Hero Member
  • *****
  • Posts: 679
    • parmaja.org
Re: FPC & Lazarus moving to gitlab
« Reply #87 on: July 08, 2021, 11:59:22 am »
It is a bad news for who live underground world, like me.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: FPC & Lazarus moving to gitlab
« Reply #88 on: July 08, 2021, 01:06:18 pm »
It is a bad news for who live underground world, like me.
Meaning?

Zaher

  • Hero Member
  • *****
  • Posts: 679
    • parmaja.org
Re: FPC & Lazarus moving to gitlab
« Reply #89 on: July 08, 2021, 01:21:15 pm »
« Last Edit: July 08, 2021, 01:24:37 pm by Zaher »

 

TinyPortal © 2005-2018