Schlagwort-Archiv: git

Kaleidoscope — File comparison for Mac

Media_httpwwwkaleidos_oipcc

Ich habe die Anwen­dung soeben mal instal­liert und auf den ers­ten Blick macht sie einen wirk­lich ziem­lich coo­len Ein­druck. Sie inte­griert sich in Git, Text­mate und noch viele wei­tere Tools. Auch eine CLI-Unterstützung ist vor­han­den. Ich werde die Anwen­dung wohl mal in Ruhe tes­ten, einen Kauf schliesse ich aber schon jetzt nicht aus.

Git und der Mac

Ich arbeite nun schon geraume Zeit, unge­fähr ein hal­bes Jahr, mit Git. Wis­sen viel­leicht einige schon, da ich, eben­falls vor einer Weile, eine Instal­la­ti­ons­an­lei­tung für den eige­nen Git-Server publi­ziert habe.

Nun möchte ich aber ein paar Worte der Client-Seite wid­men, in mei­nem Falle also der Ver­wen­dung von Git unter Mac OS X. Wirk­li­che Pro­bleme gibt es dabei nicht, nur einige “nice-to-knows”, die ich an die­ser Stelle kurz zusam­men­fas­sen möchte. Sollte einem mei­ner Leser noch etwas feh­len, so möge er es über die Kom­men­tare hin­zu­fü­gen ;-) . Danke schon mal.

1. Installation

Den Instal­ler habe ich bei Google code gefun­den: http://code.google.com/p/git-osx-installer/. Damit ist die Instal­la­tion ein Klacks. Auf mei­nem Sys­tem mit Mac OS 10.6 Snow Leo­pard musste ich aber noch einen klei­nen Hack anwen­den, damit auch tat­säch­lich die aktu­elle Ver­sion aus die­sem Instal­ler ver­wen­det wird. Das liegt daran, dass Mac OS, wie jedes andere UNIX auch, die PATH-Variable linear durch­sucht und den ers­ten Tref­fer ver­wen­det. Auf mei­nem Sys­tem war es nun lei­der so, dass ich eine alte Ver­sion von Git unter /usr/local/bin lie­gen hatte, die neue Ver­sion aber unter /usr/local/git/bin liegt. Ver­wen­det hat Mac OS immer die alte Ver­sion, da die PATH-Variable den Pfad zur neue­ren Git-Version als ers­tes auflistete.

Um das Pro­blem zu behe­ben, habe ich die Datei

/etc/profiles

edi­tiert (sudo nano /etc/profiles), die die glo­bale PATH-Variable beinhal­tet. Bei mir sieht die ent­spre­chende Zeile wie folgt aus:

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/bin:/usr/texbin:/usr/X11/bin

Somit sucht Mac OS nun zuerst nach der aktu­el­len Ver­sion. Andere Mac-OS-Installer von Git mögen die Bina­rys von Git woan­ders able­gen, der kor­re­spon­die­rende Pfad müsste dann ent­spre­chend ange­passt werden.

2. Konfiguration

Eine wei­ter­ge­hende Kon­fi­gu­ra­tion von Git ist eigent­lich nicht erfor­der­lich, als sinn­voll haben sich aber einige Varia­blen her­aus­ge­stellt. Fol­gende Kom­man­dos habe ich für meine Git-Konfiguration verwendet:

2.1 Benutzerkonfiguration

git config --global user.name "Vorname Nachname" git config --global user.email "user@domain.tld"

Diese Kom­man­dos set­zen die ent­spre­chen­den Git-Einstellungen glo­bal für den Sys­tem­benut­zer. Diese sind somit für alle Repo­sito­rys eures Sys­tem­benut­zers gül­tig. Abge­legt wer­den die Ein­stel­lun­gen in der Datei ~/.gitconfig. Um die Ein­stel­lun­gen spe­zi­fisch für ein Repo­sitory zu über­schrei­ben, könnt ihr fol­gende Befehle verwenden:

git config user.name "Vorname Nachname" git config user.email "user@domain.tld"

Diese Ein­stel­lun­gen wer­den in der Datei .git/config in eurem Repository-Verzeichnis abge­legt und sind somit auch nur für das jewei­lige Repo­sitory gültig.

Es ist durch­aus sinn­voll, diese Varia­blen zu set­zen, da nur so gewähr­leis­tet ist, dass eure Com­mits ein­deu­tig euch zuge­ord­net wer­den kön­nen. Diese Ein­stel­lun­gen kön­nen im Übri­gen unab­hän­gig von even­tu­el­len Benut­zern auf eurem Git-Server gesetzt werden.

2.2 Kon­fi­gu­ra­tion der Ausgabe

Um die Aus­ga­ben von Git far­big zu gestal­ten, müsst ihr fol­gen­des eintippen:

git config --global color.ui "auto"

Auch hier gilt wie­der, dass der Schal­ter –glo­bal die Ein­stel­lun­gen glo­bal setzt.

2.3 Wei­tere Einstellungen

Um Git für die Ver­wen­dung von Multi-Core-CPUs zu kon­fi­gu­rie­ren, fol­gen­den Befehl eingeben:

git config --global pack.threads "0"

Um App­les open­diff für die Anzeige von diffs zu verwenden:

git config --global merge.tool opendiff git config --global merge.summary true

.DS_Store-Dateien vom Repo­sitory ausschliessen:

git config --global core.excludesfile ~/.gitignore echo ".DS_Store" >>~/.gitignore

Text­mate als Standard-Editor set­zen: git config --global core.editor "mate -w"

2.4 Github-spezifische Einstellungen

Damit die geniale Social-Coding-Plattform Git­Hub (https://github.com) euren Benut­zer kor­rekt erkennt, müs­sen zwei wei­tere Ein­stel­lun­gen gesetzt werden:

git config --global github.user git config --global github.token

Eure ent­spre­chen­den Daten fin­det ihr unter https://github.com/account.

2.5 Textmate-Bundle

Für die Textmate-User unter euch gibt es im Übri­gen ein Git-Bundle, wel­ches wie folgt instal­liert wer­den kann:

mkdir -p ~/Library/Application Support/TextMate/Bundles cd !$ git clone git://github.com/jcf/git-tmbundle Git.tmbundle osascript -e 'tell app "TextMate" to reload bundles'

In Text­mate müsst ihr nun noch die Shell-Variable TM_GIT erstel­len. Diese muss (in mei­nem Falle) auf /usr/local/git/bin zeigen.

Wie gesagt, sollte irgendwo noch etwas wich­ti­ges feh­len, lasst es mich bitte über die Kom­men­tare wissen.

Git: Installation eines eigenen Servers auf Basis von Ubuntu 9.10 (samt Trac)

Lei­der haben sowohl Pos­te­rous als auch Blog­ger mich dazu gezwun­gen, das Doku­ment nur im PDF-Format anbie­ten zu kön­nen, da sich beide Sys­tem ent­we­der an der Länge und/oder den Son­der­zei­chen im Text ver­schluckt haben.

Fra­gen und Kom­men­tare bitte trotz­dem in die Kommentare.

Running trac-git on Ubuntu 9.04 Server

It took me around two hours to figure out, why Trac was always thro­wing the fol­lo­wing error, when laun­ched using tracd:

Warning: Can't synchronize with the repository (Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.

The Ubuntu package trac-git was per­fectly instal­led and see­med to work fine. The real rea­son was that the Ubuntu package trac-git depends on python2.6, which obviously doesn’t work with trac-git.

So I did an

aptitude install python2.5 && rm /usr/bin/python && ln -s /usr/bin/python2.5 /usr/bin/python

which did the trick. After that, tracd was able to use the trac plu­gin for Git.

If it still doesn’t work make sure that you have at least the fol­lo­wing lines in your project’s trac.ini:

[components] # for plugin version 0.10 gitplugin.* = enabled  # for plugin version 0.11.0.1+ tracext.git.* = enabled  [git] cached_repository = true git_bin = /usr/bin/git persistent_cache = true shortrev_len = 7  [trac] repository_dir = /path/to/git/repository.git repository_type = git

If ever­y­thing above is set a

tracd --port 8000 /var/trac/yourpath

should start tracd and make it avail­able via port 8000 on your machine.