Autor Beitrag
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: So 22.01.12 22:59 
Hi,

ich überlege ob ich mit meinen SVN Repositorys auf GIT umsteige, nutzen GIT in der Firma und finde es da gar nicht so verkehrt.

Allerdings habe ich dazu ein paar fragen wo ich irgendwie keine konkrete Antwort im Internet finde.
Zur Info vorweg, mein GIT Server auf dem die Bare-Repositorys liegen und den ich konfigurieren möchte läuft mit Debian Squeeze.

1) Über HTTP pushen/pullen
Ist es möglich über HTTP, also port 80 zu pushen und pullen?
Das ganze sollte dann natürlich über https und mit authentifizierung sein.

Falls das möglich ist, wie? :)

2) Web Frontend
Ich suche ein schönes und natürlich gutes Webfrontend.
Für SVN hatte ich WebSVN benutzt, schlicht, hübsch und konnte alles was ich brauchte.

GitWeb finde ich vom look her nicht wirklich prickelnd.. ich weiß, das ist nicht wichtig, aber ich mag es halt optisch immer gern auch ansprechend.
Kennt ihr ein gutes Web Frontend?

3) svn+ssh://
Ich habe bei SVN immer alles über svn+ssh:// bzw. über http:// gemacht, das äquivalent für svn+ssh:// ist bei GIT einfach ganz normal ssh://, oder?

4) git://
Ich finde diese git:// URLs eigentlich ganz praktisch, allerdings erlauben diese ja keine user authentifizierung, oder?


Bin etwas verwirrt was GIT angeht leider.. wäre super wenn ihr mir ein wenig helfen könntet :)

Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 22.01.12 23:33 
Hallo,

user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
ich überlege ob ich mit meinen SVN Repositorys auf GIT umsteige, nutzen GIT in der Firma und finde es da gar nicht so verkehrt.
Gute Entscheidung ;) Eins vorneweg: das Ding heißt Git, nicht GIT :P

user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
1) Über HTTP pushen/pullen
Ist es möglich über HTTP, also port 80 zu pushen und pullen?
Das ganze sollte dann natürlich über https und mit authentifizierung sein.
Ja, das geht mit dem passenden Apache-Modul dafür. Vom Prinzip ist das WebDAV, die Administration ist also vergleichbar.
Schöne Übersicht gibts hier. Access Control geht dann über normales auth-basic.

Meistens macht man aber git-ssh.

user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
2) Web Frontend
Ich suche ein schönes und natürlich gutes Webfrontend.
Für SVN hatte ich WebSVN benutzt, schlicht, hübsch und konnte alles was ich brauchte.

GitWeb finde ich vom look her nicht wirklich prickelnd.. ich weiß, das ist nicht wichtig, aber ich mag es halt optisch immer gern auch ansprechend.
Kennt ihr ein gutes Web Frontend?
Wie viel Geld hast du?
Im Ernst, alles gute (was ich kenne) (GitHub) richtet sich an Firmen und kostet dementsprechend viel.
Muss allerdings sagen, sowas braucht man eigentlich nicht. Die diversen Client-Tools für Git reichen da völlig aus. Das komplette Repo hat man ja sowieso, dementsprechend hat man da auch alle Funktionen.

user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
3) svn+ssh://
Siehe den Link weiter oben, da wird das für das gitosis-Paket beschrieben.

user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
4) git://
Ich finde diese git:// URLs eigentlich ganz praktisch, allerdings erlauben diese ja keine user authentifizierung, oder?
Genau.

user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
Bin etwas verwirrt was GIT angeht leider.. wäre super wenn ihr mir ein wenig helfen könntet :)
Ich hoffe da waren ein paar verwertbare Antworten drin ;)

Wie aber schonmal woanders geschrieben bin ich keiner der sowas freiwillig selbst administrieren würde. Die Wolke bietet da einiges in Form von Google Code, Sourceforge, Github (bezahlt privat) oder Atlassian BitBucket (auch free&private), das ist durchgehend besser als man das selber könnte.
Auch wenn user profile iconBenBE sowas anbietet, ggf. kann der hier was sagen.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."

Für diesen Beitrag haben gedankt: Yogu
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mo 23.01.12 11:25 
Tausend dank, werd ich mir mal genauer angucken die links - hat mir schon soweit gut geholfen :)

user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Wie viel Geld hast du?
Im Ernst, alles gute (was ich kenne) (GitHub) richtet sich an Firmen und kostet dementsprechend viel.
Muss allerdings sagen, sowas braucht man eigentlich nicht. Die diversen Client-Tools für Git reichen da völlig aus. Das komplette Repo hat man ja sowieso, dementsprechend hat man da auch alle Funktionen.


Ich möchte gern was haben das auf meinem eigenen Server läuft. Prinzipiell ist es zwar natürlich nicht nötig da man ja eh das Repository immer lokal hat - aber mir geht es dabei grad um so momente wie, dass ich in der Arbeit sitze und gern kurz eine code stelle von meinem Source daheim angucken will. Da will ich dann nicht bei der Arbeit das Repo clonen, sondern einfach nur kurz im WebSVN/Git reinschauen in den code :)


Eine weitere Frage habe ich aber direkt noch:
Für die Userverwaltung gibt es ja dieses gitolite.. das nutzt irgendwie SSH Keys zur userverwaltung?
Gibt es dann pro SSH Key nur einen User? Also was ist wenn man von mehreren PCs aus an das Repo möchte?
Und, muß ich dann jeden SSH Key irgendwie im Server hinterlegen?

Ich arbeite z.B. mit meinem Freund an einem Spiel, wir nutzen beide das Repository. Ich bin für die Server administration zuständig. Was wäre jetzt wenn er z.B. aufeinal von irgendwo an das Repo muß wo er noch keinen SSH Key angelegt hat, und ich nicht erreichbar bin um das einzurichten?


Danke~
Aya

EDIT: Und, wenn ich via http/WebDAV share, kann ich dann auch darüber pushen?
Überall liest man nur das darüber nur read only zugriff ist...

EDIT2: Zu Gitweb hab ich auch noch eine frage... wo findet man das denn?
Die url git.wiki.kernel.org/index.php/Gitweb scheint es nichtmehr zu geben..

_________________
Aya
I aim for my endless dreams and I know they will come true!
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 23.01.12 17:32 
user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
Da will ich dann nicht bei der Arbeit das Repo clonen, sondern einfach nur kurz im WebSVN/Git reinschauen in den code :)
Hm, stimmt. Tut mir aber leid, da kenn ich mich so gar nicht mit aus.


user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
Eine weitere Frage habe ich aber direkt noch:
Für die Userverwaltung gibt es ja dieses gitolite.. das nutzt irgendwie SSH Keys zur userverwaltung?
Gibt es dann pro SSH Key nur einen User? Also was ist wenn man von mehreren PCs aus an das Repo möchte?
Und, muß ich dann jeden SSH Key irgendwie im Server hinterlegen?
So wie ich das sehe kann gitolite das nicht (nach der Doku).
Was du machen kannst: "User" anlegen, die $username-$pc.pub heißen. Nicht schön, aber sollte gehen.
Bei Github und BitBucket kann man mehrere Pubkeys eintragen und sagen "die bitte alle auf meinen Usernamen mappen". So direkt scheint das nicht zu gehen.

user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
EDIT: Und, wenn ich via http/WebDAV share, kann ich dann auch darüber pushen?
Überall liest man nur das darüber nur read only zugriff ist...
Doch, das geht. Also zumindest praktisch, BitBucket bietet das an. Scheint dann auch Authentication:Basic zu sein, jedenfallls wollte der immer mein Passwort haben dafür.
Viel mehr als "ja oder nein"-Zugriffskontrolle gibts da allerdings nicht.


user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
EDIT2: Zu Gitweb hab ich auch noch eine frage... wo findet man das denn?
Die url git.wiki.kernel.org/index.php/Gitweb scheint es nichtmehr zu geben..
Die haben das Wiki auf total seltsame URLs umgestellt... Hier ist die neue Liste

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 28.01.12 01:17 
Also auf git://-URLs kann man durchaus mehrere User authentisieren. Also git://alice@server.com/repo, git://bob@server.com/repo, git://malory@server.com/repo. Solange alle Nutzer auf das Verzeichnis mit dem Repo Schreibrechte haben passt das. Für die automatisierten Management-Systeme hat man aber in der Regel nur einen Shell-Account dahinter und unterscheidet die Nutzer dann anhand des verwendeten Private Key.

Das Pushen über HTTP geht seit Git 1.6, wobei das etwas frickelig einzustellen ist, da die meisten Git-Clients die HTTP-Basic-Auth nicht sauber für alle nötigen Anfragen sauber durchgereicht werden. Wenn man aber einmal die Konfiguration dazu raus hat (eine Datei anlegen im Home-Verzeichnis), dann geht das genauso schmerzfrei, wie mit PubKeys auch. Es ist allerdings spürbar langsamer und erfordert auf dem Server mehr Arbeit. Via SSH reicht ein beliebiger SSH-Zugang vollkommen aus, solange Git auf dem Server vorhanden ist. Für Git über HTTP muss auf dem Apache WebDAV installiert sein und alles an Repos für den Apache lesbar sein. Von der Trennung der BEnutzerrechte ist das also recht ungünstig.

Für die Verwaltung von Git-Repos verwende ich in der Regel Gitosis; und das kann AFAIR beliebig viele Keys für einen Nutzer, solange die alle im gleichen .pub-File drin stehen. Ansonsten aber einfach nutzer.pc.pub und das passt genauso.

Zur Konfiguration für Git über HTTP ist im Wesentlichen zu beachten: Repo für www-data schreibbar und den Post-Update-Hook aktivieren, der git-update-server-info aufruft. Ist also ohne Aufwand sowohl für Shell als auch HTTP-Zugang einzurichten. Außer mod_dav_fs, den man eh für SVN braucht, also nix BEsonderes.

HTH.

P.S.: Setze Git und SVN bei mir auf'm Server schon länger ein, bzw. verwalte für mehrere Stellen entsprechende Systeme.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.

Für diesen Beitrag haben gedankt: Martok, Yogu