Sourcen verewigen für Tutorial

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben

Sourcen verewigen für Tutorial

Beitragvon Mathias » 14. Jan 2018, 18:11 Sourcen verewigen für Tutorial

Da ich an einem Tutorial am erstellen bin, möchte ich die Source für andere User verewigen.
Momentan liegen die Sourcen auf einer Gratis-Homepage. Nur das Problem dabei, wen man dort längere Zeit nichts mehr macht, werden die Daten dort gelöscht.

Ich habe mal GIT angeguckt, dies ist aber sehr komplex, nur um eine ZIP-Datei abzulegen.
SourceForge habe ich auch angeguckt, aber dort muss man sich irgendwie als Firma registrieren.

Hat jemand eine gute Idee ?

Der Link zum Tutorial:
viewtopic.php?f=29&t=11373
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 14. Jan 2018, 18:44 Re: Sourcen verewigen für Tutorial

github oder sourceforge. Dass sourceforge nur Firmen nimmt, ist falsch. Solange (bei beiden Hostern) die Quelltexte OpenSource sind, ist der Speicher kostenlos. Wenn du auf Windows wärst, würde ich sagen, installiere dir TortoiseGit oder TortoiseSvn, dann geht alles mit ein paar Klicks. Auf Linux musst du ein paar git und svn Befehle lernen - aber das kannst du doch.

Eine zip-Datei würde ich da nicht hochladen, sondern die einzelnen Projekte mit den Einzeldateien. Damit kannst du jederzeit zu vorigen Versionen zurückgehen.
wp_xyz
 
Beiträge: 2696
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 14. Jan 2018, 23:19 Re: Sourcen verewigen für Tutorial

Eine zip-Datei würde ich da nicht hochladen, sondern die einzelnen Projekte mit den Einzeldateien. Damit kannst du jederzeit zu vorigen Versionen zurückgehen.

Das mit den Einzeldateien fände ich auch besser.
Auf SourceForge sind meistens ZIP oder Pakete vorhanden, und auf GIT einzel Dateien.

Wen ich die GIT von fpcupdelux angucke, dies sieht sehr sauber aus. Als Anwender kann man dann das Ganze auch als ZIP haben.

Wenn du auf Windows wärst, würde ich sagen, installiere dir TortoiseGit oder TortoiseSvn, dann geht alles mit ein paar Klicks.
Vielleiocht geht es mit Wine oder in der VB.

Jetzt habe ich es gerade gesehen, mit SVN wäre es eine dritte Variante.
SVN habe ich schon mehrfach verwendet, zB. um die Lazarus-Source zu saugen.
Geht dies mit dem Upload etwa gleich einfach ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mse » 15. Jan 2018, 06:32 Re: Sourcen verewigen für Tutorial

SVN würde ich nicht verwenden, da dies ein zentrales Repository, welches immer erreichbar ist, bedingt. In git sind alle clones (= Repositories) gleichberechtigt. git ist auch gar nicht kompliziert wenn man das Prinzip verstanden hat und keine ausgefallenen Sachen macht, siehe hier:
viewtopic.php?f=53&t=10809
Als git-hoster empfehle ich GitLab:
https://gitlab.com/users/sign_in
GitLab erlaubt auch kostenlose private (=nicht öffentlich zugängliche) Repositories und unterliegt nicht USA-Recht.
Bei allfälligen Problemen frage einfach hier.
mse
 
Beiträge: 2013
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon mischi » 15. Jan 2018, 15:36 Re: Sourcen verewigen für Tutorial

mse hat geschrieben:SVN würde ich nicht verwenden, da dies ein zentrales Repository, welches immer erreichbar ist, bedingt. In git sind alle clones (= Repositories) gleichberechtigt. git ist auch gar nicht kompliziert wenn man das Prinzip verstanden hat und keine ausgefallenen Sachen macht, siehe hier:
viewtopic.php?f=53&t=10809
Als git-hoster empfehle ich GitLab:
https://gitlab.com/users/sign_in
GitLab erlaubt auch kostenlose private (=nicht öffentlich zugängliche) Repositories und unterliegt nicht USA-Recht.
Bei allfälligen Problemen frage einfach hier.

Meine Erfahrungen mit git sind im Vergleich zu svn ziemlich schlecht. Für einige Aktionen braucht man mehr Befehl als für svn. Ich habe auch ein besonders Talent das Repository in einen Zustand zu bringen, aus dem ich mit den normalen Befehlen nicht weiterkomme, die Fehlermeldungen auch überhaupt nichts bringen. Die grafischen Interfaces haben da auch nicht geholfen. Erstmal google anschmeißen, ist maximal nervig. Bei svn gibt es mit dem svn book eine deutlich bessere Dokumentation. Viele Aktionen in git liegen funktional nahe aneinander, wie z. B. clone und fork, commit und push, merge und rebase. Da ist es als Anfänger nicht einfach, die auseinander zu halten und das richtige zu nehmen. Die Syntax von git ist suboptimal, usw. (https://stevebennett.me/2012/02/24/10-t ... -about-git)
Das zentrale Repository ist für mich auch kein Problem mehr, seit es im ICE WLAN gibt. Bleibt zwar noch die Regionalbahn, aber. Leider ist das Interface von Sourceforge von Version zu Version zwar vielleicht hübscher, aber funktional immer schlechter geworden.
MiSchi macht die fink-Pakete
mischi
 
Beiträge: 205
Registriert: 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon mse » 15. Jan 2018, 17:07 Re: Sourcen verewigen für Tutorial

Da muss irgend etwas gründlich schief gegangen sein. Hast du denn das git Grundprinzip mit den SHA's verstanden?
Die offizielle git Dokumentation ist hier:
https://git-scm.com/docs
Ein "git book" gibt es auch:
https://git-scm.com/book/en/v2
mse
 
Beiträge: 2013
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Mathias » 15. Jan 2018, 18:12 Re: Sourcen verewigen für Tutorial

Ich hatte es vor einem ½ Jahr schon mal mit GIT probiert.

Als Notiz habe ich folgende Befehle aufgehoben.
Code: Alles auswählen
git remote add origin https://github.com/sechshelme/Lazarus-O ... torial.git
git add .
git commit
git push -u origin master


Nur, wen ich es nochmals probieren will, kommt bei der ersten Zeile schon ein Fehler. /n4800 ist ein Mount-Point zu meiner NAS, auf der sich auch die Daten befinden.
Code: Alles auswählen
$ git remote add origin https://github.com/sechshelme/Lazarus-O ... torial.git
fatal: Not a git repository (or any parent up to mount point /n4800)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

Ist dies der falsche Weg um die aktuelle Version hoch zu laden ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mse » 15. Jan 2018, 19:29 Re: Sourcen verewigen für Tutorial

Ja, zuerst musst du ein lokales git repository erzeugen. Da das repository auf GitHub schon existiert, erzeuge eine lokale Kopie in ein leeres Verzeichnis (<meingitrepo>).
Code: Alles auswählen
 
cd <meingitrepo>
git clone https://github.com/sechshelme/Lazarus-O ... torial.git .
 

(Punkt am Ende nicht vergessen!)
Oder in MSEgit:
- 'File'-'Clone git repo'.
http://mseide-msegui.sourceforge.net/pics/git1.png
Danach sieht es so aus:
http://mseide-msegui.sourceforge.net/pics/git2.png
Klicke in die 'A'-Spalte im rechtem Fenster bei "master" um die aktuelle remote Branch zu aktivieren.
Nun können die Dateien in <meingitrepo> durch die aktuellen ersetzt werden und zusätzliche ins Repository aufgenommen werden.
Beispielsweise habe ich github.txt geändert und github2.txt hinzugefügt. Ctrl+R frischt die Anzeige auf:
http://mseide-msegui.sourceforge.net/pics/git3.png
RightClick-'Add' auf github2.txt um die Datei aufzunehmen:
http://mseide-msegui.sourceforge.net/pics/git4.png
'git'-'Commit/Stage/Unstage all' um den Zustand im lokalen Repository festzuhalten:
http://mseide-msegui.sourceforge.net/pics/git5.png
'Commit' führt das Kommando aus.
Nun kann der Zustand mit 'git'-'Push to origin/master' zu GitHub übertragen werden.
mse
 
Beiträge: 2013
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Mathias » 15. Jan 2018, 20:11 Re: Sourcen verewigen für Tutorial

Code: Alles auswählen
git clone https://github.com/sechshelme/Lazarus-OpenGL-3.3-Tutorial.git .

Dies habe ich gemacht, jetzt hat es mir den Inhalt vom Server runtergeladen. Das clone habe ich auch schon verwendet, um fremde Pakete runter zu laden.

Mein aktuellen Daten habe ich in diesen Ordner geladen.
Dann habe ich folgendes gemacht:

Code: Alles auswählen
$ git add .
$ git push -u origin master
Username for 'https://github.com': sechshelme
Password for 'https://sechshelme@github.com':
Branch master konfiguriert zum Folgen von Remote-Branch master von origin.
Everything up-to-date
$

Aber eine Upload hat es nicht gegeben, dies würde viel länger dauern.

was habe ich jetzt noch vergessen ?

Dies geht auch nicht:
Code: Alles auswählen
$ git remote add origin https://github.com/sechshelme/Lazarus-OpenGL-3.3-Tutorial.git
fatal: externes Repository origin existiert bereits
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mse » 15. Jan 2018, 20:21 Re: Sourcen verewigen für Tutorial

Es fehlt "commit" nach "add ." um den Zustand festzuhalten.
mse
 
Beiträge: 2013
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Mathias » 15. Jan 2018, 22:43 Re: Sourcen verewigen für Tutorial

Es ist tatsächlich an commit gelegen, obwohl dies nur für einen Kommentar ist.

Reichen in Zukunft diese 3 Kommandos für eine Aktualisierung ?
Code: Alles auswählen
git add .
git commit -m "test"
git push


Was mir ein Rätsel ist, wie kommt das Arduino-Zeugs in meinen Account ?
Dieser ist schon 3 Jahre alt, aber ich habe mich erst vor einem ½ Jahr angemeldet.
https://github.com/sechshelme
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon af0815 » 16. Jan 2018, 06:48 Re: Sourcen verewigen für Tutorial

Mathias hat geschrieben:Was mir ein Rätsel ist, wie kommt das Arduino-Zeugs in meinen Account ?
Dieser ist schon 3 Jahre alt, aber ich habe mich erst vor einem ½ Jahr angemeldet.
https://github.com/sechshelme

Du hast scheinbar einen Fork erstellt = Kopie eines fremden Repo in deinem Account. Dazu muss man auf einem anderen (fremden) Repro nur auf Fork gehen und Ok sagen, dann hat man eine Kopie in seinem Repo, das man dann auch ändern kann wenn man will.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon mse » 16. Jan 2018, 07:43 Re: Sourcen verewigen für Tutorial

Mathias hat geschrieben:Es ist tatsächlich an commit gelegen, obwohl dies nur für einen Kommentar ist.

Mathias, ich rate dir dringend git bei der täglichen Arbeit zu verwenden und nicht nur als unverstandenes Archiv-Tool. Bitte siehe nochmals hier:
viewtopic.php?f=53&t=10809
Du solltest auch eine ".gitignore"-Datei anlegen.
"commit" bildet die Quersumme (SHA) über alle Daten des aktuellen Zustandes und speichert ihn zusammen mit dem Kommentar und der SHA des Vorgängers in der Repository Datenbank, das sind die Dateien im ".git" Verzeichnis. Dieser Zustand kann nun mit "push" an andere Repositories übertragen werden. "add" ist eine Zwischenstufe wo geänderte und neue Dateien zum committen bereitgestellt werden ("stage"). In MSEgit sieht es nach "add ." so aus:
http://mseide-msegui.sourceforge.net/pics/git6.png
http://mseide-msegui.sourceforge.net/pics/git7.png
Der MSEgit 'git'-'Commit/Stage/Unstage all'-'Commit' Button kombiniert "add" und "commit" mit den gewählten Dateien.

Reichen in Zukunft diese 3 Kommandos für eine Aktualisierung ?
Code: Alles auswählen
git add .
git commit -m "test"
git push


Ja.
mse
 
Beiträge: 2013
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Mathias » 16. Jan 2018, 18:47 Re: Sourcen verewigen für Tutorial

Mathias, ich rate dir dringend git bei der täglichen Arbeit zu verwenden und nicht nur als unverstandenes Archiv-Tool.

Da hast du recht. somit gibt es ein Backup der Tutorials.

Du solltest auch eine ".gitignore"-Datei anlegen.

Eine gute Idee, es muss nicht aller Mist hoch geladen werden.

Stimmt dies, wen man GIT richtig versteht, kann man GIT auch direkt im Arbeits-Verzeichnis anwenden ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon af0815 » 16. Jan 2018, 18:55 Re: Sourcen verewigen für Tutorial

Ich verwende GIT für alle alles mögliche. Es ist auch sinnvoll mehrer GIT repos zu haben. Damit kann ich auch zwischen den Rechnern wechseln.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu Dies und Das



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron
porpoises-institution
accuracy-worried