[Quicktip] Wie ändere ich nachträglich die Email und den Namen von git Commits?

Stellt euch folgende Situation vor: ihr habt lokal ein Tool entwickelt und während der Entwicklung natürlich bereits mit einem git Repository gearbeitet. Nun wollt ihr das Repository mit einem Server synchronisieren und bemerkt, dass ihr unter falschenm Namen/Email Adresse die Commits abgesetzt habt. Um dies nun nachträglich noch zu ändern, haben die Jungs von Github ein nettes Script zusammengebastelt:

https://help.github.com/articles/changing-author-info

Kopiert den Code in eine Datei namens “replace.sh” in den jeweiligen Repository Ordner und ersetzt die Stellen “your@email.to.match” mit der Email Adresse, bei der ihr eine Ersetzung durchführen wollt. Bei “Your New Committer Name” und “Your New Committer Email” (und das gleiche für “Author”) fügt ihr die neuen Daten ein, die ihr in den jeweiligen Commit Messages sehen wollt.

Wenn ihr nun das Script per “./replace.sh” ausführt, geht git jeden einzelnen Commit durch, schaut, ob die “your@email.to.match” Email Adresse passt und ersetzt in diesen Commits die Daten mit den von euch hinterlegten Ersetzungen.

BITTE AUFPASSEN: Führt dieses Script keinesfalls in git Repositories aus, die bereits mit einem Server bzw. anderen Usern synchronisiert wurden. Dies kann fatale Auswirkungen haben!

[Quicktip] Apache Ant sshexec Befehle per && kombinieren

Wenn man in einem Apache Ant Build Script bei einem sshexec mehrere Befehle aneinanderreihen möchte, dann kann man nicht wie von Linux gewohnt mittels “&&” konkatinieren – Ant wirft dann einen Fehler, dass ein & nicht von einem & gefolgt werden darf. Die Lösung ist sehr banal:

<sshexec host=”${host.name}” trust=”true” username=”${user}” password=”${pw}” keyfile=”${optional.keypair}” command=”command1 &amp;&amp; command2  &amp; &amp; command3″/>

[Quicktip] zypper refresh schlägt mit ‘connection failed’ fehl

Wenn man beim Aufruf von ‘zypper refresh’ folgende bzw. eine ähnliche Fehlermeldung erhält

Fehler beim Download (curl) für 'http://download.opensuse.org/distribution/11.1/repo/oss/content':
Fehlercode: 'Connection failed'
Fehlermeldung: 'Failed to connect to 2001:67c:2178:8::13: Das Netzwerk ist nicht erreichbar'

versucht zypper trotz aktiver ipv4 Verbindung über ipv6 seine Daten zu beziehen. Da die wenigsten von uns derzeit bereits mit aktiven ipv6 Verbindungen unterwegs sind, könnte folgender Tipp helfen:

gebt einfach

export ZYPP_ARIA2C=0

auf eurer (Suse) Linux Console ein und führt das refresh erneut aus – und siehe da, es wird laufen 😉

Der Parameter bewirkt eigentlich nur, dass zypper an Stelle von aria2c, was so eine Art wget ist, einen anderen Downloadmanager verwendet. Und das ist nötig, weil aria2c in einigen Konstellationen unbedingt ipv6 verwenden will…

[Quicktip] Vagrant zeigt plötzlich Config-Fehler beim Hochfahren einer VM

Beispiel:

"Vagrantfile:4:in `forward_port': wrong number of arguments (2 for 3) (ArgumentError)"

In solchen Fällen hat man evtl. vergessen, sein System zu updaten. Ein einfaches Update von Vagrant hatte das Problem bei mir sehr schnell gelöst:

gem update vagrant

[Einzeiler] Dateien nach einem String durchsuchen, aber nur, wenn ein zweiter String nicht vorkommt

Sorry für die verwirrende Überschrift, aber anders kann ich es nicht in einen Satz zusammenfassen 😉

mit grep alle Dateien im aktuellen Ordner rekursiv durchsuchen

Ihr wollt in einem Ordner inkl. Unterordner alle Dateien nach einer Zeichenkette durchsuchen? Dann verwendet folgendes Kommando:

grep -ir "das will ich finden" ./*

Der Parameter “i” bewirkt, dass bei dem zu suchenden Begriff nicht auf die Groß-/Kleinschreibung geachtet wird, das “r” sorgt dafür, dass der zu durchsuchende Ordner auch rekursiv, also mit allen Unterordnern, durchsucht wird.

grep mit einem NOT verwenden

Wollt ihr nun noch nach Wort Nummer 1 suchen, aber Wort Nummer 2 soll nicht in der gleichen Zeile vorkommen? Dann kommt folgendes Kommando zum Einsatz:

grep -ir "das will ich finden" ./* | grep -iv "das soll nicht in der gleichen Zeile stehen"

Wie ihr seht, filtern wir das Ergebnis des ersten grep einfach nochmal mit grep, wenden aber den Parameter “v” an. Dieser bewirkt, dass grep sich genau umgekehrt wie sonst verhält – es werden also alle Zeilen angezeigt, die das gesuchte Wort NICHT enthalten.

[Quicktip] Wie installiere ich “ar” unter Debian nach?

Debian Installationspakete (.deb) werden mit dem GNU Archiver zusammengepackt. Will man diese manuell entpacken, benötigt man “ar”. Dieses Tool ist eigentlich standardmäßig in Debian vorhanden. Sollte dies nicht der Fall sein – so ging es mir – geht die große Suche los. Nach einiger Recherche fand ich dann endlich das richtige Paket: “binutils”. Also ruft man folgenden Befehl auf:

aptitude install binutils

Und schon kann man “ar” verwenden.

F.Lux – und dein Rechner schont deine Augen

Seit einiger Zeit bin ich fleißiger Hörer der Nerdtanke, einem Podcast von Nerds für Nerds. In Folge 4 wurde ein Tool vorgestellt, welches die Bildschirmfarben eures Rechners an den aktuellen Stand der Sonne anpasst: F.Lux.

Was passiert da genau?
F.Lux prüft per Geolocation, an welchem Ort ihr euch befindet, wodurch die Zeit des Sonnenuntergangs bestimmt werden kann. Ist die Sonne untergegangen, dann ändert die App die Farbtemperatur (ist einstellbar, ich empfehle “Fluorescent”) eures Monitors in wärmere Farben. Dies geschieht entweder innerhalb von 20 Sekunden, oder einer Stunde. Dabei wird die Temperatur langsam gefadet, sodass die Augen sich daran gewöhnen können.

Was bringt das?
Die App Beschreibung sagt folgendes: Obwohl die Sonne am Abend untergeht, schauen wir, wenn unser Monitor mit normalen Farben betrieben wird, Abends in eine weitere Sonne. Dadurch denkt der Körper, dass die Sonne weiterhin scheint und kommt schlechter zur Ruhe – was in schlechtem Schlaf enden kann. Verwendet man F.Lux, erlebt man eine natürliche Abendröte bzw. angenehmere Farben und kann somit besser schlafen.

Sagen wir es mal so: ich hab nicht viel von der Erklärung gehalten. Allerdings muss ich sagen: Das Tool bringt wirklich was. Nach einer Woche Betrieb hab ich es testweise mal deaktiviert und hab bald einen Schock bekommen, wie grell das Bild auf einmal war. Natürlich kann man die Monitorhelligkeit anpassen, was aber nicht so viel bringt wie diese App. Probiert’s einfach mal aus.

ACHTUNG: Falls ihr in den Abendstunden Fotobearbeitung betreiben wollt, sollte das Tool natürlich nicht aktiv sein, weil ihr sonst Farben mit einem Rotstich habt. Dafür gibt’s einen eigenen Menüpunkt – und die Farbtemperatur wird für eine Stunde wieder auf “normal” gestellt.

Sehr geiles weiteres Feature: solltet ihr ein iPhone mit Jailbreak betreiben, so gibt es die App dafür auch im Cydia Store. Sonst gibt es Versionen für Mac, Windows und Linux.

Links
Nerdtanke
F.Lux