aboutsummaryrefslogtreecommitdiff
path: root/GitServer.wiki
blob: c0b7fcb6d40a0cb3d4adc1b22e3d5bbd81aabe86 (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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
= 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#Att dokumentera|Att dokumentera]]
          - [[#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
- [X] liu/TDDD86-labbar should get a README clarifying it's only a mirror
- [ ] liu/TDDD86-labbar is broken

= Hooks =
{{{
ithryn [~/code/r11k] $ git push
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (8/8), 794 bytes | 794.00 KiB/s, done.
Total 8 (delta 3), reused 0 (delta 0), pack-reused 0
remote: fatal: Not a valid object name HEAD:.gitconfig
To git.hornquist.se:git/r11k.git
   87acf40..5fb0e6c  cs -> cs
}}}

=== Att dokumentera ===
- Hur körs krokar
    - Standardkrokar
    - Lägga till egna
- Hur sätts git konfiguration
- Här sätts description
- Hur byter man standardgren
- Hur underkataloger och taggar interagerar
    - Vad de olika underkatalogerna är till för
    - Vad de olika taggarna är till för
- Is owner from cgit? Is it supported?
- Which configuration variables are supported, and what do they do
- Allow shared repositories?

=== 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

{{{
[gitweb] category = Liu
}}}
4a7ec14607090979f0b8a040e9a766da

{{{
[gitweb] category = fork
}}}
fe8d1fed27f4e9e7a89fde75007ba8eb

{{{
[gitweb] category = archive
}}}
9df34b64ba47fc85ed73fe98c6626397

{{{
[gitweb] category = doc
}}}
ca367e334f62a408ec13f182af14f99b


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

===== VVVVVV =====
[cgit]
    defbranch = ps
    homepage = https://github.com/TerryCavanagh/VVVVVV
    desc = VVVVVV With sysadmin mod
    logo = /extra-content/VVVVVV/logo.png
[gitweb]
    category = fork

[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/*`

`liu/TDDD86-Labbar` byt standardgren till redovisning