summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2019-07-19 03:04:09 +0000
committerEvan Read <eread@gitlab.com>2019-07-19 03:04:09 +0000
commitdf96b7c075ca7e59ed5c7b321290eb869a17e44c (patch)
tree6ae3c0a478597d4b034e68a620c6916ad252203f /doc
parent4ae7068e49cbd0a9d53e0cdb2ebf701ff9566a3a (diff)
downloadgitlab-ce-df96b7c075ca7e59ed5c7b321290eb869a17e44c.tar.gz
Document interacting GitLab components and features
It's not uncommon that a single code change can reflect and interact with multiple parts of GitLab codebase, making it possible to break an existing feature. This commit expands documentation in that regard for developers.
Diffstat (limited to 'doc')
-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/