PureBasic OpenSource Projects

Ankündigungen PureBasic oder die Community betreffend.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: PureBasic OpenSource Projects

Beitrag von NicTheQuick »

Du meinst du hast etwas am Code geändert und möchtest die Änderung nun anbieten?
Am besten geht das, wenn man das Repository bei Github auf den eigenen Account forked, den Fork dann auscheckt, einen Branch erstellt, die Änderungen vornimmt, committed, pusht und dann einen Merge Request beim Original Repository von diesem Branch aus stellt. Aber da ich SmartGIT nicht kennen, allerhöchstens mal TortoiseGit gesehen habe, und beide dir vermutlich mit den größten Schritten nicht besonders helfen werden, steige ich lieber aus. Denn das haarklein und so zu erklären, dass man keine Fehler macht, ist echt ne stramme Aufgabe. :D

Bei kleinen Fixes schreibe ich meistens einfach im Issue-Tracker Links zu den Dateien und den Zeilen, wo ich eine Änderung vorschlage, und dann poste ich die Änderung einfach dazu. Dann kann der Inhaber des Repository immer noch schnell genug entscheiden, ob er es einbauen will. Nur hast du dann eben keine Credits in der Commit-History. :wink:
Bild
Benutzeravatar
Shardik
Beiträge: 738
Registriert: 25.01.2005 12:19

Re: PureBasic OpenSource Projects

Beitrag von Shardik »

Ich habe mich anfangs auch sehr schwer mit Git und GitHub getan und vorher jede Menge Tutorials gewälzt. Ich habe allerdings mein Vorgehen für meinen ersten Pull Request genau dokumentiert. Vielleicht hilft Dir ja meine Dokumentation, obwohl ich das Ganze unter MacOS durchgeführt habe. Zumindest ist in MacOS Git schon vorinstalliert. Diese Schritte habe ich bei meinem ersten erfolgreichen Pull Request #87 durchgeführt (natürlich musst Du "Shardik-PB" und die Namen der abgeänderten PureBasic-Dateien durch Deine eigenen ersetzen):

Anlegen eines neuen GitHub-Accounts und Abgleich geänderter Dateien mit lokalem Git

Code: Alles auswählen

- Eigenen GitHub-Account anlegen: Shardik-PB
- Fork von PureBASIC auf GitHub durchführen:
  - Im eigenen GitHub-Account anmelden
  - Im Adressfeld des Browsers das zu klonende Repository angeben:
    https://github.com/fantaisie-software/purebasic
  - Oben rechts auf "Fork" klicken
  - Es wird ein Cloning des Projekts durchgeführt
  - Die Adresse des geklonten Repository lautet:
    https://github.com/Shardik-PB/purebasic
- Terminal öffnen und das Repository vom eigenen Fork auf GitHub auf den lokalen Rechner
  herunterladen:
  - In das Verzeichnis wechseln, wo das GitHub-Repository gespechert werden soll:
    > cd /Volumes/Daten/Programmentwicklung/PureBASIC/IDE/Git
  - Das Repository herunterladen:
    > git clone https://github.com/Shardik-PB/purebasic
- Im GitHub-Repository das lokale Git-Repository hinzufügen:
  > git remote add upstream https://github.com/Shardik-PB/purebasic.git
- In den purebasic-Ordner wechseln
  > cd purebasic
- Im lokalen Git-Repository gewünschte Änderungen durchführen und geänderte Dateien
  für einen Commit kennzeichnen:
  > git add PureBasicIDE/Common.pb
  > git add PureBasicIDE/Language.pb
  > git add PureBasicIDE/Preferences.pb
  > git add PureBasicIDE/ScintillaHighlighting.pb
  > git add PureBasicIDE/dialogs/Preferences.xml
- Commit im aktuellen Branch des lokalen Git-Repository durchführen:
  > git commit -m "New option to indent source code with tab length"
- Im lokalen Git-Repository einen neuen Branch mit dem Namen des neuen Feature anlegen:
  > git checkout -b New_Indentation_Option
- Lokalen Branch vom Git-Repository zum GitHub-Repository hochladen:
  > git push -u origin New_Indentation_Option
- Browser starten
- Im Adressfeld des Browsers das Repository angeben:
  https://github.com/Shardik-PB/purebasic
- Im GitHub-Account anmelden
- Den neuen Branch "New_Indentation_Option" auswählen
- Oben rechts auf "Compare & pull request" klicken
Die für mich hilfreichste Dokumentation war die von Kedar Vijay Kulkarni (Red Hat).

Ach ja, ich habe noch die wichtige Info vergessen, dass vor der Bearbeitung der lokalen PureBasic-Quelltextdateien unbedingt verhindert wird, dass vom Editor beim Speichern ans Ende des Quelltextes die Einstellungen angehängt werden:
Menü > Datei > Einstellungen > Editor > Einstellungen speichern: Gar nichts speichern

Ansonsten werden beim Prüfen in GitHub jede Menge eigentlich nicht vorhandene Unterschiede gefunden... :wink:
Zuletzt geändert von Shardik am 21.10.2020 14:28, insgesamt 2-mal geändert.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: PureBasic OpenSource Projects

Beitrag von NicTheQuick »

@Shardik Sehr cool! :allright:
Bild
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PureBasic OpenSource Projects

Beitrag von Kiffi »

HeX0R hat geschrieben:Kann mir mal bitte jemand kurz erläutern, welche Schritte man durchführen muss, um das als Erweiterung anzubieten?
Am besten so, als würdet ihr es einem Dreijährigen erklären :lol:
NicTheQuick hat geschrieben:Am besten geht das, wenn man das Repository bei Github auf den eigenen Account forked, den Fork dann auscheckt, einen Branch erstellt, die Änderungen vornimmt, committed, pusht und dann einen Merge Request beim Original Repository von diesem Branch aus stellt.
:lol:

(scnr)
Hygge
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: PureBasic OpenSource Projects

Beitrag von HeX0R »

Ja, nach der Antwort von Nic dachte ich nur "hoffentlich is der nicht Vater eines dreijährigen Kindes" :mrgreen:

Aber das von Shardik ist ja mal perfekt, genau sowas hatte ich mir gewünscht, Klasse, vielen Dank!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: PureBasic OpenSource Projects

Beitrag von NicTheQuick »

Ehrlich gesagt fand ich es auch ein bisschen witzig :lol: , aber ich hatte leider keine Zeit für ausführliche Erklärungen, zumal ich das nie dokumentiert hatte. Und wie man das bei Git so kennt, macht man am Ende eh immer mal irgendwo einen Fehler. Und dann gibt's richtig guten Salat.
Bild
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: PureBasic OpenSource Projects

Beitrag von HeX0R »

War natürlich trotzdem nicht so einfach, hat aber wohl letztendlich funktioniert.
Ich habe das mal für SmartGit umgebastelt, weil ich eher ein Freund von GUI anstatt von kryptischen-Befehlen-irgendwo-eintippen bin.
Wer's brauchen kann: -pdf hier-

Danke nochmal an Shardik!
... und natürlich auch an Nic, unserem "ich erkläre meinem Kind die Welt" Profi :mrgreen:
DoctorWhat
Beiträge: 7
Registriert: 21.10.2020 23:22

Re: PureBasic OpenSource Projects

Beitrag von DoctorWhat »

Servus zusammen,

da hier so fleißig über GIT diskutiert wird, hier noch ein guter und vor allem kostenloser Online-Kurs für alle, die sich näher damit beschäftigen möchten: https://open.hpi.de/courses/git2020

Und da es hier ja auch schon zur Sprache gekommen ist, auch wenn es kein Teil des Online-Kurses ist, ich finde ein guter GUI-Client für GIT und ebenfalls kostenlos: https://www.sourcetreeapp.com/

Nutze ich zwar gelegentlich, aber meist nutze ich GIT nur auf der Konsole.

Ich hoffe mal, dieser erste Beitrag wird mir nicht als Werbung ausgelegt, auch wenn es mein erster Beitrag ist.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: PureBasic OpenSource Projects

Beitrag von NicTheQuick »

Also am besten finde ich ja die Integration in eine IDE. Ich nutze eigentlich nur noch VSCode dafür. Das hat super GIT-Support. Du kannst direkt im Editor sehen welche Zeilen du seit dem letzten mal geändert hast, oder welche Zeile zuletzt von wem geändert wurde, wenn du mit mehreren Leuten an einem Projekt arbeitest. Du siehst durch automatisches Fetching, ob sich Serverseitig etwas geändert hat, um dann ein Pull zu machen, und ein Push geht auch sehr übersichtlich.
Und da diese IDE mittlerweile echt so gut ist, auf jedem Betriebssystem funktioniert und sogar remote per SSH oder direkt auf einem WSL-Container arbeiten kann, frage ich mich immer noch, warum es so lange dauert bis jemand mal ein gutes Addon für Purebasic macht. Dann könnte man die Purebasic-IDE nämlich gleich einstampfen. :D
Bild
DoctorWhat
Beiträge: 7
Registriert: 21.10.2020 23:22

Re: PureBasic OpenSource Projects

Beitrag von DoctorWhat »

NicTheQuick hat geschrieben:Ich nutze eigentlich nur noch VSCode dafür. Das hat super GIT-Support. Du kannst direkt im Editor sehen welche Zeilen du seit dem letzten mal geändert hast, oder welche Zeile zuletzt von wem geändert wurde, wenn du mit mehreren Leuten an einem Projekt arbeitest. Du siehst durch automatisches Fetching, ob sich Serverseitig etwas geändert hat, um dann ein Pull zu machen, und ein Push geht auch sehr übersichtlich.
Das liest sich sehr gut. Macht das VSCode von selbst, ober bedarf es dafür ein extra Plugin?
Antworten