Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Skript für git/svn Updates
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Mon Feb 11, 2008 11:36 pm    Post subject: Skript für git/svn Updates Reply with quote

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
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4545

PostPosted: Tue Feb 12, 2008 6:16 am    Post subject: Reply with quote

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 ;)
Back to top
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Tue Feb 12, 2008 6:55 am    Post subject: Reply with quote

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 ;)


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
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4545

PostPosted: Tue Feb 12, 2008 7:12 am    Post subject: Reply with quote

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 ;)


Das ist ja auch böse. Wie sieht denn sowas aus!? ;)

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
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Tue Feb 12, 2008 7:24 am    Post subject: Reply with quote

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
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4545

PostPosted: Tue Feb 12, 2008 8:03 am    Post subject: Reply with quote

Finswimmer wrote:
NUMMER 3 !!!11einself ;)

ICH habe alles auf Englisch, sogar hier das Forum ;)

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 :)
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4545

PostPosted: Tue Feb 12, 2008 8:38 am    Post subject: Reply with quote

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 :)
Back to top
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Tue Feb 12, 2008 8:47 am    Post subject: Reply with quote

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 :)


Danke :)
_________________
Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke
Back to top
View user's profile Send private message
Necoro
Veteran
Veteran


Joined: 18 Dec 2005
Posts: 1912
Location: München (Germany)

PostPosted: Tue Feb 12, 2008 10:26 am    Post subject: Reply with quote

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 :P
_________________
Inter Deum Et Diabolum Semper Musica Est.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4545

PostPosted: Tue Feb 12, 2008 11:00 am    Post subject: Reply with quote

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
Code:
svnmerge gnome
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
View user's profile Send private message
Necoro
Veteran
Veteran


Joined: 18 Dec 2005
Posts: 1912
Location: München (Germany)

PostPosted: Tue Feb 12, 2008 12:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
Knieper
l33t
l33t


Joined: 10 Nov 2005
Posts: 846

PostPosted: Tue Feb 12, 2008 1:08 pm    Post subject: Reply with quote

Na, jetzt mal nicht alles durcheinander hauen: http://opengroup.org/onlinepubs/007908799/xbd/locale.html. "C" entspricht uebrigens "POSIX".
_________________
Je dümmer desto Gnome/KDE.
Back to top
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Tue Feb 12, 2008 8:51 pm    Post subject: Reply with quote

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
Code:
svnmerge gnome
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
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4545

PostPosted: Wed Feb 13, 2008 7:12 am    Post subject: Reply with quote

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? :)
Back to top
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Wed Feb 13, 2008 7:18 am    Post subject: Reply with quote

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? :)


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
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Thu Feb 14, 2008 10:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum