Hallo!
Da ich häufig mal mit Notebook (Arch Linux) und mal mit PC (Ebenfalls Arch Linux) programmiere, dachte ich mir, ich setze mir auf meinem Raspberry Pi einen gitosis-Server auf. Dazu habe ich unter Arch Linux ARM das gitosis-git Paket aus dem AUR installiert.
Mit "gitosis-init < andreas@andilaptop.pub" habe ich dann gitosis initialisiert und mit dem Befehl wurde das gitosis-admin Repo in "/srv/gitosis/repositories/gitosis-admin.git" erstellt.
Am Notebook habe ich das ganze dann mit dem folgenden Befehl in mein lokales Dateisystem geklont:
Dann gitosis.conf um den letzten Abschnitt hier erweitert:
In die neue Gruppe "andreas" werde ich dann zusätzlich zum Notebook noch den PC einfügen.
Änderung committen, push:
Am Notebook erscheint nun das hier, sieht also ganz gut aus finde ich:
Wenn ich mich nun mit dem git-Account am Raspberry Pi anmelde und "cat /srv/gitosis/repositories/gitosis-admin.git/gitosis.conf" ausführe ist die Datei immer noch die alte Version auf dem Stand vor der Änderung. "git show" auf dem Raspberry Pi gibt folgendes aus:
Wenn ich jetzt das gitosis-admin repo in einen anderen Ordner auf dem Notebook klone, bekomme ich dort im lokalen Dateisystem eine gitosis.conf mit dem richtigen, neuen Inhalt. Nach einem pull im ersten lokalen Repo erscheint eine Änderung aus dem zweiten auch dort.
Da gitosis sich seine Konfiguration allerdings aus genau dem remote Repo direkt aus dem Dateisystem holt und die Datei auf dem Server noch die selbe ist, bekommt die Software die Änderung der Berechtigungen allerdings nicht mit...
Es sieht ja so aus, als wäre der commit angekommen. Aber wieso erscheint er nach einem push nicht so im Dateisystem? Oder verstehe ich da das git-System grundlegend falsch?
Da ich häufig mal mit Notebook (Arch Linux) und mal mit PC (Ebenfalls Arch Linux) programmiere, dachte ich mir, ich setze mir auf meinem Raspberry Pi einen gitosis-Server auf. Dazu habe ich unter Arch Linux ARM das gitosis-git Paket aus dem AUR installiert.
Mit "gitosis-init < andreas@andilaptop.pub" habe ich dann gitosis initialisiert und mit dem Befehl wurde das gitosis-admin Repo in "/srv/gitosis/repositories/gitosis-admin.git" erstellt.
Am Notebook habe ich das ganze dann mit dem folgenden Befehl in mein lokales Dateisystem geklont:
Code:
git clone git@raspberrypi.fritz.box:gitosis-admin.git
Dann gitosis.conf um den letzten Abschnitt hier erweitert:
Code:
[gitosis]
[group gitosis-admin]
members = andreas@andilaptop
writable = gitosis-admin
[group andreas]
members = andreas@andilaptop
writable = test
In die neue Gruppe "andreas" werde ich dann zusätzlich zum Notebook noch den PC einfügen.
Änderung committen, push:
Code:
git commit -am "Created group andreas for future purposes"
git push
Am Notebook erscheint nun das hier, sieht also ganz gut aus finde ich:
Code:
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 382 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@raspberrypi.fritz.box:gitosis-admin.git
8a1707d..70fcf92 master -> master
Wenn ich mich nun mit dem git-Account am Raspberry Pi anmelde und "cat /srv/gitosis/repositories/gitosis-admin.git/gitosis.conf" ausführe ist die Datei immer noch die alte Version auf dem Stand vor der Änderung. "git show" auf dem Raspberry Pi gibt folgendes aus:
Code:
commit 70fcf92669924146cf527b34d6c87cad2aa5aaee
Author: Andreas xxx <xxx>
Date: Tue Aug 20 19:58:44 2013 +0200
Created group andreas for future purposes
diff --git a/gitosis.conf b/gitosis.conf
index 247120f..8e9b588 100644
--- a/gitosis.conf
+++ b/gitosis.conf
@@ -4,3 +4,6 @@
members = andreas@andilaptop
writable = gitosis-admin
+[group andreas]
+members = andreas@andilaptop
+writable = test
Wenn ich jetzt das gitosis-admin repo in einen anderen Ordner auf dem Notebook klone, bekomme ich dort im lokalen Dateisystem eine gitosis.conf mit dem richtigen, neuen Inhalt. Nach einem pull im ersten lokalen Repo erscheint eine Änderung aus dem zweiten auch dort.
Da gitosis sich seine Konfiguration allerdings aus genau dem remote Repo direkt aus dem Dateisystem holt und die Datei auf dem Server noch die selbe ist, bekommt die Software die Änderung der Berechtigungen allerdings nicht mit...
Es sieht ja so aus, als wäre der commit angekommen. Aber wieso erscheint er nach einem push nicht so im Dateisystem? Oder verstehe ich da das git-System grundlegend falsch?