Wie funktioniert das mit Lazarus-Gitlab?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Wie funktioniert das mit Lazarus-Gitlab?

Beitrag von Soner »

Hallo,
ich möchte local von Lazarus die beiden Verison(Branch) fixes_2_2 und aktuelle Entwickler-Version(früher svn) haben.
Ich habe Git for Windows Portable heruntergeladen, egal was ich mache, meldet git-programm Fehler "repository ... does not exist" oder "not a git repisotory ...".
Weiß jemand wie man:
1) Zum erstmall für ein Branch, nicht alle, auscheckt ?
2)Dann ab und zu aktualisiert (ähnlich zu svn update) ?
3)Diff für einen Patch erstellt (ähnlich zu svn diff) ?
4)Lokale Änderungen rückgängig macht (ähnlich zu svn revert Dateiname) ?
5)Konflikte Anzeigt (ählich zu svn status) ?

Vielen Dank.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Wie funktioniert das mit Lazarus-Gitlab?

Beitrag von wp_xyz »


PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Wie funktioniert das mit Lazarus-Gitlab?

Beitrag von PascalDragon »

Soner hat geschrieben:
Mo 9. Aug 2021, 17:19
1) Zum erstmall für ein Branch, nicht alle, auscheckt ?
Als Anmerkung am Rande zusätzlich zu dem Link von wp_xyz: der Download des gesamten Git Repositories (was der Standard ist) ist in etwa so groß oder gar kleiner als ein SVN Checkout von nur trunk, mit dem zusätzlichen Vorteil, dass du leicht zwischen Branches wechseln kannst.
FPC Compiler Entwickler

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Wie funktioniert das mit Lazarus-Gitlab?

Beitrag von Socke »

1) Zum erstmall für ein Branch, nicht alle, auscheckt ?

Code: Alles auswählen

# clone only the remote primary HEAD (default: origin/master)
git clone <url> --single-branch

# as in:
git clone <url> --branch <branch> --single-branch [<folder>]
https://stackoverflow.com/questions/177 ... nch-in-git

2)Dann ab und zu aktualisiert (ähnlich zu svn update) ?

Code: Alles auswählen

git pull
git fetch
3)Diff für einen Patch erstellt (ähnlich zu svn diff) ?

Code: Alles auswählen

git diff
4)Lokale Änderungen rückgängig macht (ähnlich zu svn revert Dateiname) ?

Code: Alles auswählen

git checkout HEAD -- path/to/some/file.txt
https://stackoverflow.com/questions/216 ... ent-in-git

5)Konflikte Anzeigt (ählich zu svn status) ?

Code: Alles auswählen

git status
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Wie funktioniert das mit Lazarus-Gitlab?

Beitrag von Soner »

Danke euch, ich habe fixes_2_2 geklont, ich glaube es hat funktioniert. Die IDE zeigt "v.2.2.0.RC2" "Revision: Unknown".

Ich glaube "main"-Branch ist die frühere SVN-Version, oder irre ich mich?

Die IDE zeigt beim Compilieren "Warning: svn not in path", wahrscheinlich muss das noch aus Lazarus entfernt werden, weil es ja nicht mehr SVN ist. Aber das hat es bei mir immer angezeigt, weil ich SVN nie in Path hatte.

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Wie funktioniert das mit Lazarus-Gitlab?

Beitrag von Socke »

Soner hat geschrieben:
Di 10. Aug 2021, 16:57
Ich glaube "main"-Branch ist die frühere SVN-Version, oder irre ich mich?
Bei SVN gilt die Revisionsnummer für das gesamte Repository. Im main-Branch gibt die meisten Änderungen, sodass sich dort die Revisionsnummer häufig ändert. Die Release-Branches werden nur einmal angelegt, und erhalten dann keine Commits mehr. Dadurch ändern sich in diesen Branches bei weiteren Revisionen keine Dateien mehr.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Wie funktioniert das mit Lazarus-Gitlab?

Beitrag von Soner »

Danke für die Erklärung.
Dann ist main-Brach in Git Trunk-Version in SVN.

>>Ich glaube "main"-Branch ist die frühere SVN-Version, oder irre ich mich?
Hiermit meinte ich natürlich Trunk-Version in Svn. Da ich mein Trunk-Version immer in den Ordner Lazsvn gespeichert habe, ist es mir so hängen geblieben.

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Wie funktioniert das mit Lazarus-Gitlab?

Beitrag von martin_frb »

Socke hat geschrieben:
Di 10. Aug 2021, 10:38
4)Lokale Änderungen rückgängig macht (ähnlich zu svn revert Dateiname) ?

Code: Alles auswählen

git checkout HEAD -- path/to/some/file.txt
https://stackoverflow.com/questions/216 ... ent-in-git
Ich empfehle https://git-scm.com/docs/git-restore

Code: Alles auswählen

   git restore path/file
weniger zu tippen.

Oder einen ganzen Ordner (rekursiv)

Code: Alles auswählen

   git restore path
Oder alles

Code: Alles auswählen

   git restore .

Und man kann auch einfach ein file/folder auf einen älteren commit zurücksetzten

Code: Alles auswählen

   git restore --source=<sha1> path/file
Bzw, den "parent commit"

Code: Alles auswählen

   git restore --source=HEAD~ path/file
Oder n commits zurück (hier n=5)

Code: Alles auswählen

   git restore --source=HEAD~5 path/file
"parent" oder "n zurück" bezieht sich auf alle parents, auch solche die das File nicht verändern.

Antworten