=_("GitLab will periodically run %{link_to_git_fsck} in all project and wiki repositories to look for silent disk corruption issues.").html_safe%{link_to_git_fsck: link_to_git_fsck}
%code=_("git fsck")
=_("periodically in all project and wiki repositories to look for silent disk corruption issues.")
.form-group
.form-group
.form-text.text-muted
.form-text.text-muted
=_("If you got a lot of false alarms from repository checks you can choose to clear all repository check information from the database.")
=_("If you get a lot of false alarms from repository checks, you can clear all repository check information from the database.")
-clear_repository_checks_link=_('Clear all repository checks')
-clear_repository_checks_link=_('Clear all repository checks')
-clear_repository_checks_message=_('This will clear repository check states for ALL projects in the database. This cannot be undone. Are you sure?')
-clear_repository_checks_message=_('This clears repository check states for all projects in the database and cannot be undone. Are you sure?')
=_("If you keep automatic housekeeping disabled for a long time Git repository access on your GitLab server will become slower and your repositories will use more disk space. We recommend to always leave this enabled.")
=_("Leaving this setting enabled is recommended.")
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
---
# Housekeeping **(FREE)**
# Housekeeping **(FREE SELF)**
GitLab supports and automates housekeeping tasks within your current repository,
GitLab supports and automates housekeeping tasks within your current repository such as:
such as compressing file revisions and removing unreachable objects.
- Compressing Git objects.
- Removing unreachable objects.
## Configure housekeeping
## Configure housekeeping
GitLab automatically runs `git gc` and `git repack` on repositories
GitLab automatically runs `git gc` and `git repack` on repositories after Git pushes:
after Git pushes.
-[`git gc`](https://git-scm.com/docs/git-gc) runs a number of housekeeping tasks such as:
- Compressing Git objects to reduce disk space and increase performance.
- Removing unreachable objects that may have been created from changes to the repository, like force-overwriting branches.
performance. Makes housekeeping take a little longer.
-**Incremental repack period**: Number of Git pushes after which an incremental `git repack` is
run.
-**Full repack period**: Number of Git pushes after which a full `git repack` is run.
-**Git GC period**: Number of Git pushes after which `git gc` is run.
As an example, see the following scenario:
-Project: pushes since GC counter (`pushes_since_gc`) = `10`
-Incremental repack period: 10.
-Git GC period = `200`
-Full repack period: 50.
-Full repack period = `50`
-Git GC period: 200.
When the `pushes_since_gc` value is 50 a `repack -A -d --pack-kept-objects` runs, similarly when
When the:
the `pushes_since_gc` value is 200 a `git gc` runs:
-`git gc` ([man page](https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-gc.html)) runs a number of housekeeping tasks,
-`pushes_since_gc` value is 50, a `repack -A -l -d --pack-kept-objects` runs.
such as compressing file revisions (to reduce disk space and increase performance)
-`pushes_since_gc` value is 200, a `git gc` runs.
and removing unreachable objects which may have been created from prior invocations of
`git add`.
-`git repack` ([man page](https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-repack.html)) re-organize existing packs into a single, more efficient pack.
Housekeeping also [removes unreferenced LFS files](../raketasks/cleanup.md#remove-unreferenced-lfs-files)
Housekeeping also [removes unreferenced LFS files](../raketasks/cleanup.md#remove-unreferenced-lfs-files)
from your project on the same schedule as the `git gc` operation, freeing up storage space for your project.
from your project on the same schedule as the `git gc` operation, freeing up storage space for your
project.
## How housekeeping handles pool repositories
## How housekeeping handles pool repositories
Housekeeping for pool repositories is handled differently from standard repositories.
Housekeeping for pool repositories is handled differently from standard repositories. It is
It is ultimately performed by the Gitaly RPC `FetchIntoObjectPool`.
ultimately performed by the Gitaly RPC `FetchIntoObjectPool`.
This is the current call stack by which it is invoked:
This is the current call stack by which it is invoked:
...
@@ -54,10 +76,10 @@ This is the current call stack by which it is invoked:
...
@@ -54,10 +76,10 @@ This is the current call stack by which it is invoked:
1.`ObjectPoolService#fetch`
1.`ObjectPoolService#fetch`
1.`Gitaly::FetchIntoObjectPoolRequest`
1.`Gitaly::FetchIntoObjectPoolRequest`
To manually invoke it from a Rails console, if needed, you can call `project.pool_repository.object_pool.fetch`.
To manually invoke it from a Rails console if needed, you can call
This is a potentially long-running task, though Gitaly times out in about 8 hours.
`project.pool_repository.object_pool.fetch`. This is a potentially long-running task, though Gitaly
times out in about 8 hours.
WARNING:
WARNING:
Do not run `git prune` or `git gc` in pool repositories! This can
Do not run `git prune` or `git gc` in pool repositories! This can cause data loss in "real"
cause data loss in "real" repositories that depend on the pool in
msgid "Configure %{link} to track events. %{link_start}Learn more.%{link_end}"
msgid "Configure %{link} to track events. %{link_start}Learn more.%{link_end}"
msgstr ""
msgstr ""
...
@@ -8235,9 +8238,6 @@ msgstr ""
...
@@ -8235,9 +8238,6 @@ msgstr ""
msgid "Configure a %{codeStart}.gitlab-webide.yml%{codeEnd} file in the %{codeStart}.gitlab%{codeEnd} directory to start using the Web Terminal. %{helpStart}Learn more.%{helpEnd}"
msgid "Configure a %{codeStart}.gitlab-webide.yml%{codeEnd} file in the %{codeStart}.gitlab%{codeEnd} directory to start using the Web Terminal. %{helpStart}Learn more.%{helpEnd}"
msgstr ""
msgstr ""
msgid "Configure automatic git checks and housekeeping on repositories."
msgstr ""
msgid "Configure existing installation"
msgid "Configure existing installation"
msgstr ""
msgstr ""
...
@@ -9495,9 +9495,6 @@ msgstr ""
...
@@ -9495,9 +9495,6 @@ msgstr ""
msgid "Creating graphs uses the data from the Prometheus server. If this takes a long time, ensure that data is available."
msgid "Creating graphs uses the data from the Prometheus server. If this takes a long time, ensure that data is available."
msgstr ""
msgstr ""
msgid "Creating pack file bitmaps makes housekeeping take a little longer but bitmaps should accelerate 'git clone' performance."
msgid "Enable classification control using an external service"
msgid "Enable classification control using an external service"
...
@@ -12151,6 +12145,9 @@ msgstr ""
...
@@ -12151,6 +12145,9 @@ msgstr ""
msgid "Enable reCAPTCHA, Invisible Captcha, Akismet and set IP limits. For reCAPTCHA, we currently only support %{recaptcha_v2_link_start}v2%{recaptcha_v2_link_end}"
msgid "Enable reCAPTCHA, Invisible Captcha, Akismet and set IP limits. For reCAPTCHA, we currently only support %{recaptcha_v2_link_start}v2%{recaptcha_v2_link_end}"
msgstr ""
msgstr ""
msgid "Enable repository checks"
msgstr ""
msgid "Enable service ping"
msgid "Enable service ping"
msgstr ""
msgstr ""
...
@@ -14962,9 +14959,6 @@ msgstr ""
...
@@ -14962,9 +14959,6 @@ msgstr ""
msgid "GitLab will inform you if a new version is available."
msgid "GitLab will inform you if a new version is available."
msgstr ""
msgstr ""
msgid "GitLab will periodically run %{link_to_git_fsck} in all project and wiki repositories to look for silent disk corruption issues."
msgstr ""
msgid "GitLab will run a background job that will produce pseudonymized CSVs of the GitLab database that will be uploaded to your configured object storage directory."
msgid "GitLab will run a background job that will produce pseudonymized CSVs of the GitLab database that will be uploaded to your configured object storage directory."
msgstr ""
msgstr ""
...
@@ -16448,10 +16442,7 @@ msgstr ""
...
@@ -16448,10 +16442,7 @@ msgstr ""
msgid "If you did not recently sign in, you should immediately change your password: %{password_link}."
msgid "If you did not recently sign in, you should immediately change your password: %{password_link}."
msgstr ""
msgstr ""
msgid "If you got a lot of false alarms from repository checks you can choose to clear all repository check information from the database."
msgid "If you get a lot of false alarms from repository checks, you can clear all repository check information from the database."
msgstr ""
msgid "If you keep automatic housekeeping disabled for a long time Git repository access on your GitLab server will become slower and your repositories will use more disk space. We recommend to always leave this enabled."
msgstr ""
msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
...
@@ -16685,6 +16676,9 @@ msgstr ""
...
@@ -16685,6 +16676,9 @@ msgstr ""
msgid "Improve search with Advanced Search and GitLab Enterprise Edition."
msgid "Improve search with Advanced Search and GitLab Enterprise Edition."
msgstr ""
msgstr ""
msgid "Improves Git cloning performance."
msgstr ""
msgid "In %{time_to_now}"
msgid "In %{time_to_now}"
msgstr ""
msgstr ""
...
@@ -19338,6 +19332,9 @@ msgstr ""
...
@@ -19338,6 +19332,9 @@ msgstr ""
msgid "Leave zen mode"
msgid "Leave zen mode"
msgstr ""
msgstr ""
msgid "Leaving this setting enabled is recommended."
msgstr ""
msgid "Legacy burndown chart"
msgid "Legacy burndown chart"
msgstr ""
msgstr ""
...
@@ -22545,13 +22542,13 @@ msgstr ""
...
@@ -22545,13 +22542,13 @@ msgstr ""
msgid "Number of Elasticsearch shards and replicas (per index)"
msgid "Number of Elasticsearch shards and replicas (per index)"
msgstr ""
msgstr ""
msgid "Number of Git pushes after which 'git gc' is run."
msgid "Number of Git pushes after which"
msgstr ""
msgstr ""
msgid "Number of Git pushes after which a full 'git repack' is run."
msgid "Number of Git pushes after which a full"
msgstr ""
msgstr ""
msgid "Number of Git pushes after which an incremental 'git repack' is run."
msgid "Number of Git pushes after which an incremental"
msgstr ""
msgstr ""
msgid "Number of LOCs per commit"
msgid "Number of LOCs per commit"
...
@@ -28045,6 +28042,9 @@ msgstr ""
...
@@ -28045,6 +28042,9 @@ msgstr ""
msgid "Rules that define what git pushes are accepted for a project. All newly created projects will use these settings."
msgid "Rules that define what git pushes are accepted for a project. All newly created projects will use these settings."
msgstr ""
msgstr ""
msgid "Run"
msgstr ""
msgid "Run CI/CD pipelines for external repositories"
msgid "Run CI/CD pipelines for external repositories"
msgstr ""
msgstr ""
...
@@ -33162,6 +33162,9 @@ msgstr ""
...
@@ -33162,6 +33162,9 @@ msgstr ""
msgid "This chart could not be displayed"
msgid "This chart could not be displayed"
msgstr ""
msgstr ""
msgid "This clears repository check states for all projects in the database and cannot be undone. Are you sure?"
msgstr ""
msgid "This code snippet contains everything reflected in the configuration form. Copy and paste it into %{linkStart}.gitlab-ci.yml%{linkEnd} file and save your changes. Future %{scanType} scans will use these settings."
msgid "This code snippet contains everything reflected in the configuration form. Copy and paste it into %{linkStart}.gitlab-ci.yml%{linkEnd} file and save your changes. Future %{scanType} scans will use these settings."
msgstr ""
msgstr ""
...
@@ -33588,9 +33591,6 @@ msgstr ""
...
@@ -33588,9 +33591,6 @@ msgstr ""
msgid "This variable can not be masked."
msgid "This variable can not be masked."
msgstr ""
msgstr ""
msgid "This will clear repository check states for ALL projects in the database. This cannot be undone. Are you sure?"
msgstr ""
msgid "This will redirect you to an external sign in page."
msgid "This will redirect you to an external sign in page."