Mercurial > kallithea
annotate docs/usage/locking.rst @ 5294:cd655fbd79ce
repogroups: compute repo group id lists on demand where they are needed
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Thu, 23 Jul 2015 00:52:29 +0200 |
parents | 8d065db04909 |
children | 5ae8e644aa88 |
rev | line source |
---|---|
2726
aa17c7a1b8a5
Implemented basic locking functionality.
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 .. _locking: |
aa17c7a1b8a5
Implemented basic locking functionality.
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2 |
4973
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
3 ================== |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
4 Repository locking |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
5 ================== |
2726
aa17c7a1b8a5
Implemented basic locking functionality.
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6 |
4973
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
7 Kallithea has a ``repository locking`` feature, disabled by default. When |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
8 enabled, every initial clone and every pull gives users (with write permission) |
4902 | 9 the exclusive right to do a push. |
10 | |
4973
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
11 When repository locking is enabled, repositories get a ``locked`` state that |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
12 can be true or false. The hg/git commands ``hg/git clone``, ``hg/git pull``, |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
13 and ``hg/git push`` influence this state: |
2726
aa17c7a1b8a5
Implemented basic locking functionality.
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
14 |
4973
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
15 - A ``clone`` or ``pull`` action on the repository locks it (``locked=true``) |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
16 if the user has write/admin permissions on this repository. |
2726
aa17c7a1b8a5
Implemented basic locking functionality.
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
17 |
4973
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
18 - Kallithea will remember the user who locked the repository so only this |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
19 specific user can unlock the repo (``locked=false``) by performing a ``push`` |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
20 command. |
2726
aa17c7a1b8a5
Implemented basic locking functionality.
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
21 |
4973
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
22 - Every other command on a locked repository from this user and every command |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
23 from any other user will result in an HTTP return code 423 (Locked). |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
24 Additionally, the HTTP error includes the <user> that locked the repository |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
25 (e.g., “repository <repo> locked by user <user>”). |
2726
aa17c7a1b8a5
Implemented basic locking functionality.
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
26 |
4973
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
27 Each repository can be manually unlocked by an administrator from the |
8d065db04909
docs/usage: rework section 'repository locking'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4955
diff
changeset
|
28 repository settings menu. |