summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Read <eread@gitlab.com>2019-07-19 03:04:10 +0000
committerEvan Read <eread@gitlab.com>2019-07-19 03:04:10 +0000
commitbccd61b550371be20a3bda24fa51bd6f58eff8c3 (patch)
tree6ae3c0a478597d4b034e68a620c6916ad252203f
parent4ae7068e49cbd0a9d53e0cdb2ebf701ff9566a3a (diff)
parentdf96b7c075ca7e59ed5c7b321290eb869a17e44c (diff)
downloadgitlab-ce-bccd61b550371be20a3bda24fa51bd6f58eff8c3.tar.gz
Merge branch 'docs-interacting-components-to-reason-about' into 'master'
Document interacting GitLab components and features See merge request gitlab-org/gitlab-ce!30813
-rw-r--r--doc/development/README.md1
-rw-r--r--doc/development/interacting_components.md29
2 files changed, 30 insertions, 0 deletions
diff --git a/doc/development/README.md b/doc/development/README.md
index a74770ae383..4f16473e7e2 100644
--- a/doc/development/README.md
+++ b/doc/development/README.md
@@ -63,6 +63,7 @@ description: 'Learn how to contribute to GitLab.'
- [Routing](routing.md)
- [Repository mirroring](repository_mirroring.md)
- [Git LFS](lfs.md)
+- [Developing against interacting components or features](interacting_components.md)
## Performance guides
diff --git a/doc/development/interacting_components.md b/doc/development/interacting_components.md
new file mode 100644
index 00000000000..74d52d808e2
--- /dev/null
+++ b/doc/development/interacting_components.md
@@ -0,0 +1,29 @@
+# Developing against interacting components or features
+
+It's not uncommon that a single code change can reflect and interact with multiple parts of GitLab
+codebase. Furthermore, an existing feature might have an underlying integration or behavior that
+might go unnoticed even by reviewers and maintainers.
+
+The goal of this section is to briefly list interacting pieces to think about
+when making _backend_ changes that might involve multiple features or [components](architecture.md#components).
+
+## Uploads
+
+GitLab supports uploads to [object storage]. That means every feature and
+change that affects uploads should also be tested against [object storage],
+which is _not_ enabled by default in [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit).
+
+When working on a related feature, make sure to enable and test it
+against [Minio](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/object_storage.md).
+
+See also [File Storage in GitLab](file_storage.md).
+
+## Merge requests
+
+### Forks
+
+GitLab supports a great amount of features for [merge requests](../user/project/merge_requests/index.md). One
+of them is the ability to create merge requests from and to [forks](../gitlab-basics/fork-project.md),
+which should also be highly considered and tested upon development phase.
+
+[object storage]: https://docs.gitlab.com/charts/advanced/external-object-storage/