Seite 1 von 1

Eine Datei aus git repro übers Netz ziehen...

Verfasst: Donnerstag 29. Januar 2015, 09:31
von jens
In "bootstrap_env" Projekt ziehe ich per "urlopen" von https://raw.githubusercontent.com/pypa/ ... get-pip.py die aktuelle 'get-pip.py'... Danach vergleiche ich den Inhalt per SHA256 hash:

https://github.com/jedie/bootstrap_env/ ... #L108-L115

Dumm natürlich, wenn 'get-pip.py' aktualisiert wird.

Nun könnte ich die URL tauschen und master durch den letzten Hash ersetzten:

Code: Alles auswählen

statt:
https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py
das nehmen:
https://raw.githubusercontent.com/pypa/pip/cfd03c17cfcab063bc15b7a1e68a7a13e13cfde2/contrib/get-pip.py
Dann passt der SHA256 Hash auch "immer"... Dafür ziehe ich evtl. eine veraltete Version :(


Die Frage ist nun, wie kann ich auf einfacher weise erkennen, das es eine neuere get-pip.py gibt?
Per html die Seite https://github.com/pypa/pip/commits/dev ... get-pip.py parsen ist dämlich.
Evtl. per subprocess git mit --remote=https://github.com/pypa/pip.git nutzten? Aber wie?

Sonstige Ideen?

EDIT: Ich könnte natürlich einmal 'master' und einmal mit git-hash ziehen und vergleichen :?

Re: Eine Datei aus git repro übers Netz ziehen...

Verfasst: Donnerstag 29. Januar 2015, 09:56
von jens
So, hab mich schnell mal für die einfache Idee entschieden: https://github.com/jedie/bootstrap_env/ ... 648f9c9L94

Also einmal von master und einmal mit hash ziehen und vergleichen. So bekommt man immer eine Lauffähige Version, aber bekommt eine WARNING, falls beide nicht übereinstimmen...


Aber wie besser Lösen?

Re: Eine Datei aus git repro übers Netz ziehen...

Verfasst: Donnerstag 29. Januar 2015, 14:40
von darktrym
Hast du mal geschaut wie Android das macht? Das repo Skript ist in Python und parst den Kram von git.

Re: Eine Datei aus git repro übers Netz ziehen...

Verfasst: Donnerstag 29. Januar 2015, 14:42
von jens
Hast du ein Link für mich?

Re: Eine Datei aus git repro übers Netz ziehen...

Verfasst: Donnerstag 29. Januar 2015, 14:45
von darktrym

Re: Eine Datei aus git repro übers Netz ziehen...

Verfasst: Donnerstag 29. Januar 2015, 14:50
von jens
Ja, danke. Allerdings sehe ich jetzt spontan nicht, wie wir das helfen könnte.

Eine subprocess("git"...) Lösung wäre schon was.
Aber wie bekommt man von einem remote repro den hash Wert einer Datei herraus?
Oder den timestamp der letzten Änderung?

Re: Eine Datei aus git repro übers Netz ziehen...

Verfasst: Donnerstag 29. Januar 2015, 19:02
von DasIch
Wie wäre es indem man einfach git bzw. das git Protokoll benutzt? Da gäbe es z.B. die libgit2, für die es wohl auch ein Python Binding gibt pygit2. Zumindest das Inhaltsverzeichnis suggeriert dass die Dokumentation sogar brauchbar ist.