aboutsummaryrefslogtreecommitdiff
path: root/GitServer.wiki
blob: 13d8551762d53cf9a6bcbf69e52f1f7dc98d0006 (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
%title Git Server

Generell information om min git server som inte platsar i dess
[[wn.public:gitserver-documentation|"officiella" dokumentation]].

https://git.hornquist.se

= Publicering av "statiska" filer =
:TODO:
[[https://git.hornquist.se/puppet/profiles/tree/manifests/cgit.pp|Puppetprofilen]]
vilken konfigurerar cgit drar just nu ett antal sidor från CGit's
http-endpoint. Det leder till att de uppdateras varje körning. But ut
till att [[wn.private:Continious deployment|de automatiskt publiceras]]
och dra därifrån istället (kan vara både över HTTP och lokalt).

= Backup =
:TODO:

En bakuplösning måste finnas

[[wn.private:gitlab-mirroring]] ::

= 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

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

== Publish ==

githooks.hornquist.se?

https://git.hornquist.se/githooks/
⇒ https://githooks.hornquist.se/githooks/

/githooks/commit/?id=<hash>
/calp/tag/?h=v0.5.9

=== in repo, for `/.githooks/${hookname}.d}/*.publish` ===
Setup containerized environment?


=== config ===
if `githooks.checkout = true`
end

env
GIT_SOURCE_URL=https://git.hornquist.se/githooks/tree/${filename}
GIT_REPO_DIR=${repo_dir}
TARGET_DIRECTORY=${target_directory}
PUBLISH=${target_directory}/file-to-publish

=== publish ===
{{{
find -t file ?
}}}

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