aboutsummaryrefslogtreecommitdiff
path: root/GitServer.wiki
blob: ff34888bd008a5574ec0339b8f46b2d6ae42fb39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
= Contents =
  - [[#Git Server|Git Server]]
      - [[#Git Server#Autentisering|Autentisering]]
          - [[#Git Server#Autentisering#Autentisering HTTP|Autentisering HTTP]]
              - [[#Git Server#Autentisering#Autentisering HTTP#Nuläget|Nuläget]]
              - [[#Git Server#Autentisering#Autentisering HTTP#Framtiden|Framtiden]]
          - [[#Git Server#Autentisering#Autentisering SSH|Autentisering SSH]]
              - [[#Git Server#Autentisering#Autentisering SSH#Problem|Problem]]
              - [[#Git Server#Autentisering#Autentisering SSH#HTTP access|HTTP access]]
              - [[#Git Server#Autentisering#Autentisering SSH#gitweb.owner|gitweb.owner]]
      - [[#Git Server#Pull Requests|Pull Requests]]
  - [[#Taggning|Taggning]]
      - [[#Taggning#Cleanup|Cleanup]]
  - [[#Hooks|Hooks]]
          - [[#Hooks#Framtida förbättringar|Framtida förbättringar]]
          - [[#Hooks#Default config|Default config]]
                  - [[#Hooks#Default config#cclite|cclite]]
                  - [[#Hooks#Default config#VVVVVV|VVVVVV]]
                  - [[#Hooks#Default config#password-store|password-store]]
                  - [[#Hooks#Default config#reddit-parenthesis-bot|reddit-parenthesis-bot]]
                  - [[#Hooks#Default config#cgit|cgit]]
                  - [[#Hooks#Default config#guile-cairo|guile-cairo]]

= Git Server =
https://git.hornquist.se

[[wn.private:git-hooks]]

== Autentisering ==

=== Autentisering HTTP ===
==== Nuläget ====
Det finns grunderna till ett autentiseringsscript skviret. I nuläget
släpps alla in på https://git.hornquist.se/vimwiki , men enbart jag
släpps in på övriga sidor.

Vid felaktig inloggning och försök till inloggning på rootsidan hamnar
man på en suspekt 404 sida. Se istället till att min:
- [ ] kan logga in på root-sidan
- [ ] vid misslyckande hamnar tillbaka på login-sidan med ett
      felmedelande.

==== Framtiden ====

Det jag vill ha är ett grupp-baserat system där jag enkelt kan lägga
till användare. Varje användare är med i ett antal gruppen, och varje
repo har en användare och en grupp. Autentiseringssystemet ska gärna
vara skillt från Unix's system (men fungera ungefär lika dant).

=== Autentisering SSH ===

Gitolite används för authentisering på serversidan. Dock har det vissa
problem:

- [[#HTTP access]]
- [[#gitweb.owner]]

==== Problem ====
:TODO:
2018-12-28

Jag satte upp gitolite, och pull fungerade bra. Dock med vissa
autentiseringsskavanker enligt nedan. Dock gick repon:a sönder när jag
drog från dem via HTTP. Tror det hade att göra med filrättigheter. Om
nginx låter en sätta användare per sub-sida skulle det lösa problemen.

==== HTTP access ====
För nuvarande är HTTP-access allt eller inget på repo:na markerade
daemon. Förhoppningen är att det ska gå att sätta upp HTTP konton,
vilkas rättigheter sedan administreras genom gitolite.

Även vilka konton som finns får gärna administreras genom gitolite.

==== gitweb.owner ====
Då (planen är att) cgit ska autentisera användare mot fälten
`gitweb.{owner,group}` behöver dem propageras ut från gitolite.
Alternativt att någon form av gemensamm config sätts, som trycker till
dem båda.

== Pull Requests ==

Taget från [[Vimwiki]]:

    Jag bör från varje wiki sida länka till motsvarande git sida.
    (http://wiki.hornquist.se & http://git.hornquist.se/vimwiki ).
    Sen bör servern tillåta smidiga pull-requests för att andra ska kunna
    förbättra.

En lösning är att ha fyra access-nivåer till servern (eller
åtminstånde repo):
- Enbart läsning
- Push skapar ny gren (pull request)
- Kan jobba på existerande grenar (som de inte skapat)
- Full access

= Taggning =
{{{
find -type d -name \*.git -execdir env GIT_DIR={} git config gitweb.category Liu \;
}}}

== Cleanup ==
:TODO:

- [X] `gitweb.gatecory` is set on most right now.
- [ ] `gitweb.category` should be set automaticly

= Hooks =

- [[gitserver-documentation]]

=== Framtida förbättringar ===
- Resterande krokar
- kör olika krokar beroende på `git config gitweb.category`
- `enable-remote-branches` ([[man:cgitrc#5]])
- Alt-text för speciella bilder


=== Default config ===
{{{
[core]
    repositoryformatversion = 0
    filemode = true
    bare = true
}}}
41adefcd1f91e91d473275a100d31a2c

===== cclite =====
[remote "origin"]
    url = https://github.com/Sorroko/cclite

===== VVVVVV =====
[remote "origin"]
    url = https://github.com/TerryCavanagh/VVVVVV
    fetch = `+refs/heads/*:refs/remotes/origin/*`

===== password-store =====
[remote "upstream"]
    url = https://git.zx2c4.com/password-store
    fetch = `+refs/heads/*:refs/remotes/upstream`

===== reddit-parenthesis-bot =====
[gitweb]
	category = fork
[remote "origin"]
	url = https://github.com/HugoNikanor/reddit-parenthesis-bot

===== cgit =====
[gitweb]
    group = cgit
    category = fork
[remote "upstream"]
    url = git://git.zx2c4.com/cgit
    fetch = `+refs/heads/*:refs/remotes/upstream/*`

===== guile-cairo =====
[gitweb]
    category = fork
[remote "upstream"]
    url = git://git.savannah.nongnu.org/guile-cairo.git
    fetch = `+refs/heads/*:refs/remotes/upstream/*`