Mehrere GitHub-Repositories mit verschiedenen SSH-Keys benutzen

GitHub ist mittlerweile der De-facto-Standard für Git-Repositories, weshalb es nicht selten vorkommt, dass man mehrere private GitHub-Repositories mit verschiedenen SSH-Keys verwenden möchte. Um das zu erledigen, braucht man zum einen die SSH-Keys und zum anderen eine Konfigurationsdatei namens config innerhalb des .ssh Ordners.
Mehrere GitHub-Repositories mit verschiedenen SSH-Keys benutzen weiterlesen

Add PrimeFaces dependencies with Maven

Repository:

<id>prime-repo</id>  
  <name>PrimeFaces Maven Repository</name>  
  <url>http://repository.primefaces.org</url>  
  <layout>default</layout>  
</repository>

Dependencies:

<dependency>
  <groupId>org.primefaces</groupId>
  <artifactId>primefaces</artifactId>
  <version>3.5</version>
  <type>jar</type>
</dependency>
 
<dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.3</version>
  <type>jar</type>
</dependency>

Handhabung von Formulareingaben mit JSF 2.2

Mit JavaServer Faces können bequem und leicht Formulare verwaltet werden. Als Beispiel soll ein Formular zur Registrierung eines Benutzers dienen. Damit die Eingaben in einem Formular serverseitig ausgewertet werden können, braucht jedes JSF-Formular neben seiner XHTML-Ansicht auch eine Instanz, an welche die Eingabedaten gekoppelt werden können. In Java EE 5 wurde eine solche Instanz als Backing Bean bezeichnet. Mit Java EE 6 hat man die Backing Bean dann als eine Variante der Managed Bean untergeordnet und mit Java EE 7 wird in Zukunft alles unter den Begriff Web Beans bzw. CDI fallen. Bevor wir uns aber mit CDI (Contexts and Dependency Injection) auseinandersetzen, möchte ich kurz zeigen, wie das Zusammenspiel aus Managed Bean und JSF-Formular aussieht.
Handhabung von Formulareingaben mit JSF 2.2 weiterlesen

svn: Could not open the requested SVN filesystem

Die Fehlermeldung „svn: Could not open the requested SVN filesystem“ tritt auf, wenn versucht wird ein SVN-Kommando auf eine URL oder einen Pfad auszuführen, auf den SVN keinen Zugriff hat -oder der schlichtweg einfach falsch ist. Mir ist der Fehler begegnet, als ich versucht habe mit svn -v log http://localhost/svn/my_repository -r 40 auf ein Repository zuzugreifen, das überhaupt nicht existiert hat (die URL war falsch).

Ob ein Repository gültig ist, kann mit folgendem Befehl geprüft werden (funktioniert nur mit Dateisystem-Pfaden):

svnadmin verify C:/apache/svn/my_repository

Git – failed to push some refs

Wenn Git eine Fehlermeldung ausgibt, die dieser ähnelt:

Push: failed to push some refs to ’ssh://gituser@angelcode.de:22/~/repos/primatrainer-android.git‘ refusing to update checked out branch: refs/heads/master. By default, updating the current branch in a non-bare repository is denied, because it will make the index and work tree inconsistent with what you pushed, and will require ‚git reset –hard‘ to match the work tree to HEAD. You can set ‚receive.denyCurrentBranch‘ configuration variable to ‚ignore‘ or ‚warn‘ in the remote repository to allow pushing into its current branch; however, this is not recommended unless you arranged to update its work tree to match what you pushed in some other way. To squelch this message and still keep the default behaviour, set ‚receive.denyCurrentBranch‘ configuration variable to ‚refuse‘.

Dann hilft folgender Handgriff:

  1. Am Terminal anmelden
  2. Ins betroffene Git-Repository wechseln
  3. Die Zeile git config receive.denycurrentbranch ignore eingeben

Git – project description file hasn’t been set

Der Fehler: „project description file hasn’t been set“ wird einem bei der Verwendung von Git angezeigt, wenn im Git-Repository im Ordner „.git“ in der Datei „description“ keine Beschreibung gesetzt wurde. Der Fehler kann unter besonderen Umständen aber auch durch vorinstallierte Git-Hooks entstehen.

Bei der Initialisierung eines Repositorys werden im Ordner „.git/hooks“ ein paar Beispieldateien angelegt. Diese sind standardmäßig nicht ausführbar (durch chmod-geregelt). Hat man versehentlicherweise diese Dateien aber ausführbar gemacht, so können sie diesen Fehler hervorrufen. In neueren Git-Versionen haben die entsprechenden Dateien die Endung „.sample“, um auch bei falschem chmods nicht sofort aktiviert zu werden.

Wer den genannten Fehler trotzdem hat, der sollte in seinem Git-Repository serverseitig alle Beispiel-Hooks löschen und erst danach das Repository clonen.