CVS und binäre Dateien
09.12.2007 12:34 Abgelegt in: Tips&Tricks

Ich habe meine wieder in meinem Home-Verzeichnis abgelegt und sie hat momentan folgenden Inhalt:
*.nib -k 'b'
*.tiff -k 'b'
*.gif -k 'b'
*.png -k 'b'
*.pdf -k 'b'
CVS und ".DS_Store"-Dateien
09.12.2007 11:16 Abgelegt in: Tips&Tricks

Meine "~/.cvsignore" sieht momentan noch so aus:
# ignore the build directories
build
# ignore the .DS_Store files
.DS_Store
# ignore the IB temp files
*~.*
CVS mit Xcode 3.0
07.12.2007 16:25 Abgelegt in: Tips&Tricks

Damit das SCM benutzt werden kann, muss es erst einmal in Xcode eingerichtet werden. Dazu geht man erst mal zu den SCM-Einstellungen: "Xcode | Preferences | SCM".
In dem Reiter "Repositories" habe ich - um an dem Beispiel von heute Morgen zu bleiben - folgendes in das Feld "Root:" eingetragen: ":ext:hansi@213.55.44.33:/cvs". Xcode parst den Feldinhalt und trägt die Werte in die entsprechenden Felder ein. Die Methode "ext" verwende ich wegen dem SSH-Zugriff. Das Feld Passwort und den Port konnte ich leer lassen. Im Feld "Tool:" steht "/usr/bin/cvs". "Use RSH instead of SSH" ist nicht aktiviert.
In dem Reiter "SSH" steht als Key der Pfad zu meinem privaten Schlüssel "~/.ssh/id_dsa". Im gleichen Reiter habe ich auch noch die "Passphrase" von heute Morgen eingegeben.
Sind alle Daten korrekt eingegeben, dann zeigt dies Xcode in dem Reiter "Repositories" mit dem grünen Punkt und dem Text "Authenticated" an. In der Xcode Menüleiste kann nun über "SCM | Repositories" auf das existierende CVS-Repository zugegriffen werden.
SSH und CVS im Terminal
07.12.2007 11:22 Abgelegt in: Tips&Tricks

Bsp. Linux Benutzer : hansi
Bsp. Linux IP : 213.55.44.33
Bsp. Linux SSH-Port : 12345
Ohne Passwort-Eingabe auf den Linux-Rechner zugreifen
Wenn ich mich bisher auf meinem Linux-Rechner anmelden wollte, musste ich "slogin -p 12345 hansi@213.55.44.33" eingeben und mit dem Benutzer-Passwort bestätigen. Die folgenden Schritte ermöglichen schon einmal das Anmelden ohne Passwort:
- Auf dem Mac das Terminal öffnen
- Nun muss der private sowie der öffentliche Schlüssel generiert werden. Dies geschieht durch Eingabe von "ssh-keygen -t dsa". Den Speicherort für die beiden Dateien einfach per Eingabetaste bestätigen. Die "Passphrase" muss dabei nicht eingegeben werden, ist aber sinnvoll! Im Anschluss sollten in dem Verzeichnis "~/.ssh" die beiden Dateien "id_dsa" und "id_dsa.pub" vorliegen
- Der öffentliche Schlüssel "id_dsa.pub" muss nun unter dem neuen Namen "authorized_keys2" in das "~/.ssh"-Verzeichnis des Linux-Benutzers kopiert werden. Dies geht über den Befehl "scp -P 12345 ~/.ssh/id_dsa.pub 213.55.44.33:.ssh/authorized_keys2". Die Port-Angabe "-P 12345" brauche ich nur, weil der SSH-Daemon nicht auf dem Standard-Port 22 läuft.
Ohne Eingabe des SSH-Ports zugreifen
Damit nicht immer der SSH-Port eingeben werden muss, nutzen die SSH-Tools die Konfigurationsdatei "~/.ssh/config". Sie muss allerdings erst noch mit einem Editor angelegt und gefüllt werden. Die Konfigurationsdatei bekommt folgenden Inhalt:
Nun kann ich mich mit "slogin hansi@213.55.44.33" ohne Eingabe des Ports oder eines Passwortes auf dem Linux-Rechner anmelden. So sollte das sein!Host 213.55.44.33
Compression no
Port 12345
CVS Zugriff
Ich greife nur auf das CVS-Repository meines Linux-Rechners zu und möchte das auch so komfortabel wie möglich haben. Dazu gibt es zwei Möglichkeiten.
Man trägt die CVS-Umgebungsvariablen (CVSROOT und CVS_RSH) in die Datei "~/.profile" ein oder man erstellt die Datei ".MacOSX/environment.plist". Die ".profile"-Variante hat den Nachteil dass diese dann nur innerhalb einer Terminal-Sizung gesetzt sind. Bei der zweiten Variante können auch andere Anwendungen als das Terminal diese benutzen. Ich habe mich für die zweite entschieden. Dabei enthält diese plist-Datei folgenden Inhalt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CVSROOT</key>
<string>:ext:hansi@213.55.44.33:/cvs</string>
<key>CVS_RSH</key>
<string>/usr/bin/ssh</string>
</dict>
</plist>
Im Terminal kann nun nach einem erfolgreichen "cvs login" das CVS wie gewohnt benutzt werden. So langsam geht es voran!