View previous topic :: View next topic |
Author |
Message |
Finswimmer Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1672586922424daf205ec26.jpg)
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Mon Feb 11, 2008 11:36 pm Post subject: Skript für git/svn Updates |
|
|
Hi!
Ich verweise mal auf mein Skript, welches es ermöglicht git/svn automatisch upzudaten. Und zwar nur die, die wirklich nötig sind.
--> https://forums.gentoo.org/viewtopic-t-659795-highlight-.html
Anregung/Kritik/etc immer willkommen.
Tobi _________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
franzf Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/13378569704a2d5c2dc51c1.jpg)
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Tue Feb 12, 2008 6:16 am Post subject: |
|
|
Hi Tobi,
Ich hab mir ne kleine (nützliche) Funktion gebastelt, die mir für BASE und HEAD die jeweilige Revision zurückgibt. Diese vergleichen und du weißt ob upgedatet werden muss. Das verhindert den checkout beim Testen (mit --silent und z.B. kdeartwork, wo schon mal zig MB an Icons aktualisiert werden, kann das beim Benutzer den Eindruck "Ooops, aufgehangen" auslösen )
Code: | #arg1: package
#arg2: [BASE,HEAD]
revision() {
pattern="Last Changed Rev: "
cd $svn_base_path$1/$1/ # hier solltest du dann entsprechend deines Scripts ändern :)
rev_info="$(svn info -r $2 | grep "$pattern")"
rev="${rev_info/"$pattern"/}"
echo "$rev"
} |
Geht wahrscheinlich auch besser, aber mein bash ist schlechter als mein Französisch
Grüße
Franz
edit:
wichtig ist (im übrigen auch in deinem script) noch LC_ALL auf en_US zu setzen. Dein Script hat bei mir nie funktioniert, da ich svn-Meldungen auf Deutsch bekomm ![Wink ;)](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Finswimmer Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1672586922424daf205ec26.jpg)
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Tue Feb 12, 2008 6:55 am Post subject: |
|
|
Super. Das baue ich nachher ein. Danke!
In der vorherigen Version wurde bei SVN der gesamte Output angezeigt, das war mir aber zu unübersichtlich.
franzf wrote: |
wichtig ist (im übrigen auch in deinem script) noch LC_ALL auf en_US zu setzen. Dein Script hat bei mir nie funktioniert, da ich svn-Meldungen auf Deutsch bekomm ![Wink ;)](images/smiles/icon_wink.gif) |
Das ist ja auch böse. Wie sieht denn sowas aus!?
EDIT:
Dann hat man aber nur 2(warum 2) Revision-Nummern aus dem Internet. Woher bekomm ich die lokale Rev Nummer?
Tobi _________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke
Last edited by Finswimmer on Tue Feb 12, 2008 7:20 am; edited 2 times in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
franzf Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/13378569704a2d5c2dc51c1.jpg)
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Tue Feb 12, 2008 7:12 am Post subject: |
|
|
Finswimmer wrote: | franzf wrote: |
wichtig ist (im übrigen auch in deinem script) noch LC_ALL auf en_US zu setzen. Dein Script hat bei mir nie funktioniert, da ich svn-Meldungen auf Deutsch bekomm ![Wink ;)](images/smiles/icon_wink.gif) |
Das ist ja auch böse. Wie sieht denn sowas aus!? ![Wink ;)](images/smiles/icon_wink.gif) |
Deine Frage ist nicht ganz eindeutig
1) meinst du den output?
Code: | svn info -r HEAD
Pfad: kdebase
URL: svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
Basis des Projektarchivs: svn://anonsvn.kde.org/home/kde
UUID des Projektarchivs: 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Revision: 773936
Knotentyp: Verzeichnis
Letzter Autor: duffeck
Letzte geänderte Rev: 773933
Letztes Änderungsdatum: 2008-02-12 06:52:49 +0100 (Di, 12 Feb 2008) |
2) LC_ALL verändern? Naja, slltest du eigentlich selber hinbekommen (kleiner tip: an den Anfang deines Scripts setzt du ein export LC_ALL=en_US )
3) oder warum ich überhaupt die Ausgaben auf Deutsch haben will? Wo man als fortgeschrittener Linux-User sowieso alles nur auf Englisch haben sollte? Am besten noch auf dem Desktop? Tja, ist be mir reiner Selbstschutz vor der eigenen Unwisseheit
4) oder war es gar ein kleiner Anflug von Selbstkritik? ^^
(P.S.: bitte nicht alles zu ernst nehmen ) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Finswimmer Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1672586922424daf205ec26.jpg)
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Tue Feb 12, 2008 7:24 am Post subject: |
|
|
NUMMER 3 !!!11einself
ICH habe alles auf Englisch, sogar hier das Forum
Gehe ich richtig davon aus, dass BASE meine lokale Kopie und HEAD der SVN Tree im Internet ist?
Tobi _________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
franzf Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/13378569704a2d5c2dc51c1.jpg)
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Tue Feb 12, 2008 8:03 am Post subject: |
|
|
Finswimmer wrote: | NUMMER 3 !!!11einself
ICH habe alles auf Englisch, sogar hier das Forum ![Wink ;)](images/smiles/icon_wink.gif) |
Dann bin ich wohl zu wenig l33t für diese Forum (oder sogar für Linux?)
Aber vllt. werd ich mich ja noch bessern. Wobei... Ich verwende ja zu Testzwecken ca. 2h pro Tag kde-svn - und dafür gibt es (SWIW (==de(AFAIK) ) keine Übersetzung...
Quote: | Gehe ich richtig davon aus, dass BASE meine lokale Kopie und HEAD der SVN Tree im Internet ist? |
Code: | svn info -r HEAD
Revision: 773945
Last Changed Rev: 773942
Last Changed Date: 2008-02-12 08:33:07 +0100 (Tue, 12 Feb 2008)
localhost kdebase # svn info -r BASE
Revision: 773528
Last Changed Rev: 773505
Last Changed Date: 2008-02-11 09:24:09 +0100 (Mon, 11 Feb 2008) |
Schaut also schon irgendwo so aus ![Smile :)](images/smiles/icon_smile.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
franzf Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/13378569704a2d5c2dc51c1.jpg)
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Tue Feb 12, 2008 8:38 am Post subject: |
|
|
Was vllt. für unbedarftere Nutzer wichtig wäre:
In der config vor EMCMD noch als info, falls man emerge benutzt man noch als Option --oneshot setzen sollte um sich sein worldfile nicht zu zu müllen.
Ansonsten an dieser Stelle meinen Respekt für ein sehr schönes und nützliches Script ![Smile :)](images/smiles/icon_smile.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Finswimmer Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1672586922424daf205ec26.jpg)
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Tue Feb 12, 2008 8:47 am Post subject: |
|
|
franzf wrote: | Was vllt. für unbedarftere Nutzer wichtig wäre:
In der config vor EMCMD noch als info, falls man emerge benutzt man noch als Option --oneshot setzen sollte um sich sein worldfile nicht zu zu müllen.
|
Nö, nö, nö
Code: |
if [ $rueck = y ]; then
[ -s /tmp/kdesvn-merge ] && $EMCMD $(cat /tmp/kdesvn-merge) -1 $1
##Rest emergen
[ -n "$rest" ] && $EMCMD $rest -1 $1
|
franzf wrote: |
Ansonsten an dieser Stelle meinen Respekt für ein sehr schönes und nützliches Script ![Smile :)](images/smiles/icon_smile.gif) |
Danke ![Smile :)](images/smiles/icon_smile.gif) _________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Necoro Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/163672451943ab3dcad64df.gif)
Joined: 18 Dec 2005 Posts: 1912 Location: Germany
|
Posted: Tue Feb 12, 2008 10:26 am Post subject: |
|
|
franzf wrote: | 2) LC_ALL verändern? Naja, slltest du eigentlich selber hinbekommen (kleiner tip: an den Anfang deines Scripts setzt du ein export LC_ALL=en_US ) |
LC_ALL=C ist glaube ich sinnvoller (sollte zwar das gleiche rauskommen - aber so weit ich weiß ist "C" der Standard für sowas) ...
@Finswimmer: Jetzt noch n ebuild dazu bitte ![Razz :P](images/smiles/icon_razz.gif) _________________ Inter Deum Et Diabolum Semper Musica Est. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
franzf Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/13378569704a2d5c2dc51c1.jpg)
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Tue Feb 12, 2008 11:00 am Post subject: |
|
|
Necoro wrote: | franzf wrote: | 2) LC_ALL verändern? Naja, slltest du eigentlich selber hinbekommen (kleiner tip: an den Anfang deines Scripts setzt du ein export LC_ALL=en_US ) |
LC_ALL=C ist glaube ich sinnvoller (sollte zwar das gleiche rauskommen - aber so weit ich weiß ist "C" der Standard für sowas) ... |
OK, danke für die Aufklärung
Aber wenn nun das Programm ein Thaiwanese geschrieben hat (der kein Englisch kann...) sollte ich als im Gegenzug dem Thaiwanesischen nicht mächtiger Erdenbewohner besser en_US nehmen (so diese Übersetzung existiert). Oder liege ich da falsch?
@Finswimmer:
Was mir auch noch gaaanz spontan kommt:
Wie wäre es mit "Untersektionen" für verschiedene Nutzungen? Wenn jemand KDE und GNOME aus svn baut, wäre es doch dolle wenn man dein Script mit aufrufen könnte. In der Config gibt es passende Sektionen ([gnome], [kde4]), in denen entsprechend die Parameter gesetzt werden.
Ich weiß leider nicht wie schwer das in bash ist Aber nützlich wäre es, da es deinem Script jegliche Grenzen nehmen würde
Grüße
Franz |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Necoro Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/163672451943ab3dcad64df.gif)
Joined: 18 Dec 2005 Posts: 1912 Location: Germany
|
Posted: Tue Feb 12, 2008 12:26 pm Post subject: |
|
|
franzf wrote: | Necoro wrote: | franzf wrote: | 2) LC_ALL verändern? Naja, slltest du eigentlich selber hinbekommen (kleiner tip: an den Anfang deines Scripts setzt du ein export LC_ALL=en_US ) |
LC_ALL=C ist glaube ich sinnvoller (sollte zwar das gleiche rauskommen - aber so weit ich weiß ist "C" der Standard für sowas) ... |
OK, danke für die Aufklärung
Aber wenn nun das Programm ein Thaiwanese geschrieben hat (der kein Englisch kann...) sollte ich als im Gegenzug dem Thaiwanesischen nicht mächtiger Erdenbewohner besser en_US nehmen (so diese Übersetzung existiert). Oder liege ich da falsch? |
Ich versteh deine Frage nicht ^^... "C" bedeutet quasi die "C-Lokalisierung" (ergo so wie in irgendeinem Standard festgelegt) und sollte eigentlich "en_US" entsprechen - muss aber nicht zwingend. _________________ Inter Deum Et Diabolum Semper Musica Est. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Knieper l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
Joined: 10 Nov 2005 Posts: 846
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Finswimmer Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1672586922424daf205ec26.jpg)
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Tue Feb 12, 2008 8:51 pm Post subject: |
|
|
franzf wrote: |
@Finswimmer:
Was mir auch noch gaaanz spontan kommt:
Wie wäre es mit "Untersektionen" für verschiedene Nutzungen? Wenn jemand KDE und GNOME aus svn baut, wäre es doch dolle wenn man dein Script mit aufrufen könnte. In der Config gibt es passende Sektionen ([gnome], [kde4]), in denen entsprechend die Parameter gesetzt werden.
Ich weiß leider nicht wie schwer das in bash ist Aber nützlich wäre es, da es deinem Script jegliche Grenzen nehmen würde
|
So...Nun bin ich zuhause und sitz am Skripten.
Welche Parameter sollen denn in Gnome=, KDE4= ?
Die Pakete?
Tobi _________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
franzf Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/13378569704a2d5c2dc51c1.jpg)
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Wed Feb 13, 2008 7:12 am Post subject: |
|
|
Finswimmer wrote: | Welche Parameter sollen denn in Gnome=, KDE4= ?
Die Pakete? |
Nö, ich dachte daran, dass man sich verschiedene Sections mit unterschiedlichen Paket-Konfigurationen zurecht legen kann. Du hast jetzt einen Variable "CHECK", in der Pakete stehen, welche neu gebaut werden sollen. Wenn das mehr werden ist es wahrscheinlich unübersichtlich.
Ein Bespiel-Konfiguration (so wie ich es gedacht hätte) wäre z.B.:
Code: | [section=kde4]
SUB="
KDE"
CHECK="
kdeutils"
DIFFER="/extragear/extragear-plasma/"
BEFORE="strigi soprano kdelibs kdepimlibs kdebase"
[section=gnome]
SUB="
GNOME"
CHECK="
gnome-<wasweißich>"
DIFFER="/gnome-extra
BEFORE="alles moegliche was gnome so braucht" |
Um die Konfiguration von z.B. gnome zu nutzen machst du ein
Code: | updatesvn --section=gnome |
oder so in der Art.
War das jetzt verständlicher? ![Smile :)](images/smiles/icon_smile.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Finswimmer Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1672586922424daf205ec26.jpg)
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Wed Feb 13, 2008 7:18 am Post subject: |
|
|
franzf wrote: | Finswimmer wrote: | Welche Parameter sollen denn in Gnome=, KDE4= ?
Die Pakete? |
Nö, ich dachte daran, dass man sich verschiedene Sections mit unterschiedlichen Paket-Konfigurationen zurecht legen kann. Du hast jetzt einen Variable "CHECK", in der Pakete stehen, welche neu gebaut werden sollen. Wenn das mehr werden ist es wahrscheinlich unübersichtlich.
Ein Bespiel-Konfiguration (so wie ich es gedacht hätte) wäre z.B.:
Code: | [section=kde4]
SUB="
KDE"
CHECK="
kdeutils"
DIFFER="/extragear/extragear-plasma/"
BEFORE="strigi soprano kdelibs kdepimlibs kdebase"
[section=gnome]
SUB="
GNOME"
CHECK="
gnome-<wasweißich>"
DIFFER="/gnome-extra
BEFORE="alles moegliche was gnome so braucht" |
Um die Konfiguration von z.B. gnome zu nutzen machst du ein
Code: | updatesvn --section=gnome |
oder so in der Art.
War das jetzt verständlicher? ![Smile :)](images/smiles/icon_smile.gif) |
Jo.
Aber die meisten Variablen (DIFFER, BEFORE, SUB) können bleiben, denke ich. Das sind feste Einstellungen die nicht stören sollten.
Aber die Idee es nach Rubriken aufzusplitten ist sehr gut. Wird gleich in die Todo Liste aufgenommen.
Dann soll es so aussehen:
updatesvn all --> alles
updatesvn kde --> alle die in KDE=$"$PAKETE" sind
Tobi _________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Finswimmer Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1672586922424daf205ec26.jpg)
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Thu Feb 14, 2008 10:20 pm Post subject: |
|
|
Nur in Kürze:
UPDATE:
1) per $1 können Paketsets ausgewählt werden. Diese werden über KDE="foo bar" in der updatesvn.conf deklariert.
2) EVERY in der .conf definiert alle Pakete, die vor allen anderen Paketen JEDESMAL emerged werden.
Alles Weitere im englischen Thread...
Bitte testen/weitere Anregungen.
Danke/Bitte
Tobi _________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|