aboutsummaryrefslogtreecommitdiff
path: root/GitServer.wiki
blob: f4b42083d532ff5f43b280a7f43b995b4fad547f (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
= Contents =
  - [[#Git Server|Git Server]]
      - [[#Git Server#Autentisering|Autentisering]]
          - [[#Git Server#Autentisering#Autentisering HTTP|Autentisering HTTP]]
              - [[#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 ===
==== 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:
- [ ] `gitweb.category` should be set automaticly

= Hooks =

- [[gitserver-documentation]]

=== Framtida förbättringar ===
- `enable-remote-branches` ([[man:cgitrc#5]])
- Vad händer om ett repo har både subdir och kattegori
    - Vad händer om de inte stämmer överrens?
- Delade repositories
    - gitolite?

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