- In Ruby/HAML, we have two ways of adding format to dates and times:
- In Ruby/HAML, we have two ways of adding format to dates and times:
...
@@ -404,9 +402,7 @@ This also applies when using links in between translated sentences, otherwise th
...
@@ -404,9 +402,7 @@ This also applies when using links in between translated sentences, otherwise th
The reasoning behind this is that in some languages words change depending on context. For example in Japanese は is added to the subject of a sentence and を to the object. This is impossible to translate correctly if we extract individual words from the sentence.
The reasoning behind this is that in some languages words change depending on context. For example in Japanese は is added to the subject of a sentence and を to the object. This is impossible to translate correctly if we extract individual words from the sentence.
When in doubt, try to follow the best practices described in this [Mozilla
When in doubt, try to follow the best practices described in this [Mozilla
@@ -121,7 +121,7 @@ are very appreciative of the work done by translators and proofreaders!
...
@@ -121,7 +121,7 @@ are very appreciative of the work done by translators and proofreaders!
1. Request proofreader permissions by opening a merge request to add yourself
1. Request proofreader permissions by opening a merge request to add yourself
to the list of proofreaders.
to the list of proofreaders.
Open the [proofreader.md source file][proofreader-src] and click **Edit**.
Open the [proofreader.md source file](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/i18n/proofreader.md) and click **Edit**.
Add your language in alphabetical order, and add yourself to the list
Add your language in alphabetical order, and add yourself to the list
including:
including:
...
@@ -138,5 +138,3 @@ are very appreciative of the work done by translators and proofreaders!
...
@@ -138,5 +138,3 @@ are very appreciative of the work done by translators and proofreaders!
the language or current proofreaders.
the language or current proofreaders.
- When a request is made for the first proofreader for a language and there are no [GitLab team members](https://about.gitlab.com/company/team/)
- When a request is made for the first proofreader for a language and there are no [GitLab team members](https://about.gitlab.com/company/team/)
or [Core team members](https://about.gitlab.com/community/core-team/) who speak the language, we will request links to previous translation work in other communities or projects.
or [Core team members](https://about.gitlab.com/community/core-team/) who speak the language, we will request links to previous translation work in other communities or projects.
In April 2019, Francisco Javier López hosted a [Deep Dive] on GitLab's [Git LFS] implementation to share his domain specific knowledge with anyone who may work in this part of the code base in the future. You can find the [recording on YouTube], and the slides on [Google Slides] and in [PDF]. Everything covered in this deep dive was accurate as of GitLab 11.10, and while specific details may have changed since then, it should still serve as a good introduction.
In April 2019, Francisco Javier López hosted a [Deep Dive](https://gitlab.com/gitlab-org/create-stage/issues/1)
on GitLab's [Git LFS](../topics/git/lfs/index.md) implementation to share his domain
@@ -25,23 +25,18 @@ After that, the next pipeline will use the up-to-date `knapsack/report-master.js
...
@@ -25,23 +25,18 @@ After that, the next pipeline will use the up-to-date `knapsack/report-master.js
## Monitoring
## Monitoring
The GitLab test suite is [monitored] for the `master` branch, and any branch
The GitLab test suite is [monitored](../performance.md#rspec-profiling) for the `master` branch, and any branch
that includes `rspec-profile` in their name.
that includes `rspec-profile` in their name.
A [public dashboard] is available for everyone to see. Feel free to look at the
A [public dashboard](https://redash.gitlab.com/public/dashboards/l1WhHXaxrCWM5Ai9D7YDqHKehq6OU3bx5gssaiWe?org_slug=default) is available for everyone to see. Feel free to look at the
@@ -20,7 +20,7 @@ please refer to the [Git book](https://git-scm.com/book/en/v2).
...
@@ -20,7 +20,7 @@ please refer to the [Git book](https://git-scm.com/book/en/v2).
We will explain a few different techniques to undo your changes based on the stage
We will explain a few different techniques to undo your changes based on the stage
of the change in your current development. Also, keep in mind that [nothing in
of the change in your current development. Also, keep in mind that [nothing in
Git is really deleted][git-autoclean-ref].
Git is really deleted](https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery).
This means that until Git automatically cleans detached commits (which cannot be
This means that until Git automatically cleans detached commits (which cannot be
accessed by branch or tag) it will be possible to view them with `git reflog` command
accessed by branch or tag) it will be possible to view them with `git reflog` command
...
@@ -28,7 +28,7 @@ and access them with direct commit-id. Read more about _[redoing the undo](#redo
...
@@ -28,7 +28,7 @@ and access them with direct commit-id. Read more about _[redoing the undo](#redo
## Introduction
## Introduction
This guide is organized depending on the [stage of development][git-basics]
This guide is organized depending on the [stage of development](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository)
where you want to undo your changes from and if they were shared with other developers
where you want to undo your changes from and if they were shared with other developers
or not. Because Git is tracking changes a created or edited file is in the unstaged state
or not. Because Git is tracking changes a created or edited file is in the unstaged state
(if created it is untracked by Git). After you add it to a repository (`git add`) you put
(if created it is untracked by Git). After you add it to a repository (`git add`) you put
...
@@ -52,16 +52,16 @@ Here's what we'll cover in this tutorial:
...
@@ -52,16 +52,16 @@ Here's what we'll cover in this tutorial:
### Branching strategy
### Branching strategy
[Git][git-official] is a de-centralized version control system, which means that beside regular
[Git](https://git-scm.com/) is a de-centralized version control system, which means that beside regular
versioning of the whole repository, it has possibilities to exchange changes
versioning of the whole repository, it has possibilities to exchange changes
with other repositories.
with other repositories.
To avoid chaos with
To avoid chaos with
[multiple sources of truth][git-distributed], various
[multiple sources of truth](https://git-scm.com/about/distributed), various
development workflows have to be followed, and it depends on your internal
development workflows have to be followed, and it depends on your internal
workflow how certain changes or commits can be undone or changed.
workflow how certain changes or commits can be undone or changed.
[GitLab Flow][gitlab-flow] provides a good
[GitLab Flow](https://about.gitlab.com/blog/2014/09/29/gitlab-flow/) provides a good
balance between developers clashing with each other while
balance between developers clashing with each other while
developing the same feature and cooperating seamlessly, but it does not enable
developing the same feature and cooperating seamlessly, but it does not enable
joined development of the same feature by multiple developers by default.
joined development of the same feature by multiple developers by default.
...
@@ -71,7 +71,7 @@ with every synchronization is unavoidable, but a proper or chosen Git Workflow w
...
@@ -71,7 +71,7 @@ with every synchronization is unavoidable, but a proper or chosen Git Workflow w
prevent that anything is lost or out of sync when feature is complete.
prevent that anything is lost or out of sync when feature is complete.
You can also
You can also
read through this blog post on [Git Tips & Tricks][gitlab-git-tips-n-tricks]
read through this blog post on [Git Tips & Tricks](https://about.gitlab.com/blog/2016/12/08/git-tips-and-tricks/)
to learn how to easily **do** things in Git.
to learn how to easily **do** things in Git.
## Undo local changes
## Undo local changes
...
@@ -234,7 +234,7 @@ git bisect A..E
...
@@ -234,7 +234,7 @@ git bisect A..E
```
```
Bisect will provide us with commit-id of the middle commit to test, and then guide us
Bisect will provide us with commit-id of the middle commit to test, and then guide us
through simple bisection process. You can read more about it [in official Git Tools][git-debug]
through simple bisection process. You can read more about it [in official Git Tools](https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git)
In our example we will end up with commit `B`, that introduced bug/error. We have
In our example we will end up with commit `B`, that introduced bug/error. We have
4 options on how to remove it (or part of it) from our repository.
4 options on how to remove it (or part of it) from our repository.
...
@@ -333,7 +333,7 @@ Sometimes you realize that the changes you undid were useful and you want them
...
@@ -333,7 +333,7 @@ Sometimes you realize that the changes you undid were useful and you want them
back. Well because of first paragraph you are in luck. Command `git reflog`
back. Well because of first paragraph you are in luck. Command `git reflog`
enables you to *recall* detached local commits by referencing or applying them
enables you to *recall* detached local commits by referencing or applying them
via commit-id. Although, do not expect to see really old commits in reflog, because
via commit-id. Although, do not expect to see really old commits in reflog, because
Git regularly [cleans the commits which are *unreachable* by branches or tags][git-autoclean-ref].
Git regularly [cleans the commits which are *unreachable* by branches or tags](https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery).
To view repository history and to track older commits you can use below command:
To view repository history and to track older commits you can use below command:
...
@@ -403,7 +403,7 @@ the cleanup of detached commits (happens automatically).
...
@@ -403,7 +403,7 @@ the cleanup of detached commits (happens automatically).
Modified history breaks the development chain of other developers, as changed
Modified history breaks the development chain of other developers, as changed
history does not have matching commits'ids. For that reason it should not be
history does not have matching commits'ids. For that reason it should not be
used on any public branch or on branch that *might* be used by other developers.
used on any public branch or on branch that *might* be used by other developers.
When contributing to big open source repositories (for example, [GitLab][gitlab]
When contributing to big open source repositories (for example, [GitLab](https://gitlab.com/gitlab-org/gitlab/blob/master/CONTRIBUTING.md#contribution-acceptance-criteria)
itself), it is acceptable to *squash* commits into a single one, to present a
itself), it is acceptable to *squash* commits into a single one, to present a
nicer history of your contribution.
nicer history of your contribution.
...
@@ -476,7 +476,7 @@ Git also enables you to delete sensitive information from your past commits and
...
@@ -476,7 +476,7 @@ Git also enables you to delete sensitive information from your past commits and
it does modify history in the progress. That is why we have included it in this
it does modify history in the progress. That is why we have included it in this
section and not as a standalone topic. To do so, you should run the
section and not as a standalone topic. To do so, you should run the
`git filter-branch`, which enables you to rewrite history with
`git filter-branch`, which enables you to rewrite history with
@@ -42,7 +42,7 @@ set to 50MB. The default is 1MB.
...
@@ -42,7 +42,7 @@ set to 50MB. The default is 1MB.
**If pushing over SSH**, first check your SSH configuration as 'Broken pipe'
**If pushing over SSH**, first check your SSH configuration as 'Broken pipe'
errors can sometimes be caused by underlying issues with SSH (such as
errors can sometimes be caused by underlying issues with SSH (such as
authentication). Make sure that SSH is correctly configured by following the
authentication). Make sure that SSH is correctly configured by following the
instructions in the [SSH troubleshooting] docs.
instructions in the [SSH troubleshooting](../../ssh/README.md#troubleshooting) docs.
There's another option where you can prevent session timeouts by configuring
There's another option where you can prevent session timeouts by configuring
SSH 'keep alive' either on the client or on the server (if you are a GitLab
SSH 'keep alive' either on the client or on the server (if you are a GitLab
...
@@ -86,7 +86,7 @@ git push
...
@@ -86,7 +86,7 @@ git push
### Upgrade your Git client
### Upgrade your Git client
In case you're running an older version of Git (< 2.9), consider upgrading
In case you're running an older version of Git (< 2.9), consider upgrading
to >= 2.9 (see [Broken pipe when pushing to Git repository][Broken-Pipe]).
to >= 2.9 (see [Broken pipe when pushing to Git repository](https://stackoverflow.com/questions/19120120/broken-pipe-when-pushing-to-git-repository/36971469#36971469)).
## `ssh_exchange_identification` error
## `ssh_exchange_identification` error
...
@@ -168,6 +168,3 @@ The default value of `http.postBuffer`, 1 MiB, is applied if the setting is not
...
@@ -168,6 +168,3 @@ The default value of `http.postBuffer`, 1 MiB, is applied if the setting is not
[Broken-Pipe]:https://stackoverflow.com/questions/19120120/broken-pipe-when-pushing-to-git-repository/36971469#36971469"StackOverflow: 'Broken pipe when pushing to Git repository'"