From 7973a22ff4f3ca4d34f69864e2438f1e44c1cfe2 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 5 Sep 2016 12:13:11 +0200 Subject: Move `workflow/merge_requests.md` to `user/project/merge_requests.md` --- doc/workflow/README.md | 2 +- doc/workflow/merge_requests.md | 91 +-------------------- doc/workflow/merge_requests/commit_compare.png | Bin 65010 -> 0 bytes doc/workflow/merge_requests/merge_request_diff.png | Bin 103239 -> 0 bytes .../merge_request_diff_without_whitespace.png | Bin 71896 -> 0 bytes .../only_allow_merge_if_build_succeeds.png | Bin 17552 -> 0 bytes doc/workflow/merge_requests/versions.png | Bin 100566 -> 0 bytes 7 files changed, 2 insertions(+), 91 deletions(-) delete mode 100644 doc/workflow/merge_requests/commit_compare.png delete mode 100644 doc/workflow/merge_requests/merge_request_diff.png delete mode 100644 doc/workflow/merge_requests/merge_request_diff_without_whitespace.png delete mode 100644 doc/workflow/merge_requests/only_allow_merge_if_build_succeeds.png delete mode 100644 doc/workflow/merge_requests/versions.png (limited to 'doc/workflow') diff --git a/doc/workflow/README.md b/doc/workflow/README.md index 0cf56449de2..d626b1311a2 100644 --- a/doc/workflow/README.md +++ b/doc/workflow/README.md @@ -21,7 +21,7 @@ - [Web Editor](web_editor.md) - [Releases](releases.md) - [Milestones](milestones.md) -- [Merge Requests](merge_requests.md) +- [Merge Requests](../user/project/merge_requests.md) - [Revert changes](revert_changes.md) - [Cherry-pick changes](cherry_pick_changes.md) - ["Work In Progress" Merge Requests](wip_merge_requests.md) diff --git a/doc/workflow/merge_requests.md b/doc/workflow/merge_requests.md index 40a5e4476be..a68bb8b27ca 100644 --- a/doc/workflow/merge_requests.md +++ b/doc/workflow/merge_requests.md @@ -1,90 +1 @@ -# Merge Requests - -Merge requests allow you to exchange changes you made to source code - -## Only allow merge requests to be merged if the build succeeds - -You can prevent merge requests from being merged if their build did not succeed -in the project settings page. - -![only_allow_merge_if_build_succeeds](merge_requests/only_allow_merge_if_build_succeeds.png) - -Navigate to project settings page and select the `Only allow merge requests to be merged if the build succeeds` check box. - -Please note that you need to have builds configured to enable this feature. - -## Checkout merge requests locally - -### By adding a git alias - -Add the following alias to your `~/.gitconfig`: - -``` -[alias] - mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' - -``` - -Now you can check out a particular merge request from any repository and any remote, e.g. to check out a merge request number 5 as shown in GitLab from the `upstream` remote, do: - -``` -$ git mr upstream 5 -``` - -This will fetch the merge request into a local `mr-upstream-5` branch and check it out. - -### By modifying `.git/config` for a given repository - -Locate the section for your GitLab remote in the `.git/config` file. It looks like this: - -``` -[remote "origin"] - url = https://gitlab.com/gitlab-org/gitlab-ce.git - fetch = +refs/heads/*:refs/remotes/origin/* -``` - -Now add the line `fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*` to this section. - -It should look like this: - -``` -[remote "origin"] - url = https://gitlab.com/gitlab-org/gitlab-ce.git - fetch = +refs/heads/*:refs/remotes/origin/* - fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/* -``` - -Now you can fetch all the merge requests: - -``` -$ git fetch origin -From https://gitlab.com/gitlab-org/gitlab-ce.git - * [new ref] refs/merge-requests/1/head -> origin/merge-requests/1 - * [new ref] refs/merge-requests/2/head -> origin/merge-requests/2 -... -``` - -To check out a particular merge request: - -``` -$ git checkout origin/merge-requests/1 -``` - -## Ignore whitespace changes in Merge Request diff view - -![MR diff](merge_requests/merge_request_diff.png) - -If you click the "Hide whitespace changes" button, you can see the diff without whitespace changes. - -![MR diff without whitespace](merge_requests/merge_request_diff_without_whitespace.png) - -It is also working on commits compare view. - -![Commit Compare](merge_requests/commit_compare.png) - -## Merge Requests versions - -Every time you push to merge request branch, a new version of merge request diff -is created. When you visit the merge request page you see latest version of changes. -However you can select an older one from version dropdown - -![Merge Request Versions](merge_requests/versions.png) +This document was moved to [user/project/merge_requests](../user/project/merge_requests.md). diff --git a/doc/workflow/merge_requests/commit_compare.png b/doc/workflow/merge_requests/commit_compare.png deleted file mode 100644 index 0e4a2b23c04..00000000000 Binary files a/doc/workflow/merge_requests/commit_compare.png and /dev/null differ diff --git a/doc/workflow/merge_requests/merge_request_diff.png b/doc/workflow/merge_requests/merge_request_diff.png deleted file mode 100644 index 3ebbfb75ea3..00000000000 Binary files a/doc/workflow/merge_requests/merge_request_diff.png and /dev/null differ diff --git a/doc/workflow/merge_requests/merge_request_diff_without_whitespace.png b/doc/workflow/merge_requests/merge_request_diff_without_whitespace.png deleted file mode 100644 index a0db535019c..00000000000 Binary files a/doc/workflow/merge_requests/merge_request_diff_without_whitespace.png and /dev/null differ diff --git a/doc/workflow/merge_requests/only_allow_merge_if_build_succeeds.png b/doc/workflow/merge_requests/only_allow_merge_if_build_succeeds.png deleted file mode 100644 index 18bebf5fe92..00000000000 Binary files a/doc/workflow/merge_requests/only_allow_merge_if_build_succeeds.png and /dev/null differ diff --git a/doc/workflow/merge_requests/versions.png b/doc/workflow/merge_requests/versions.png deleted file mode 100644 index c0a6dfe6806..00000000000 Binary files a/doc/workflow/merge_requests/versions.png and /dev/null differ -- cgit v1.2.1 From cd93b90f85b197dc0b386bbcaa027beaa93e3410 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 5 Sep 2016 12:36:14 +0200 Subject: Move authorization_for_merge_requests.md to new location --- doc/workflow/authorization_for_merge_requests.md | 41 +----------------------- 1 file changed, 1 insertion(+), 40 deletions(-) (limited to 'doc/workflow') diff --git a/doc/workflow/authorization_for_merge_requests.md b/doc/workflow/authorization_for_merge_requests.md index d1d6d94ec11..7bf80a3ad0d 100644 --- a/doc/workflow/authorization_for_merge_requests.md +++ b/doc/workflow/authorization_for_merge_requests.md @@ -1,40 +1 @@ -# Authorization for Merge requests - -There are two main ways to have a merge request flow with GitLab: working with protected branches in a single repository, or working with forks of an authoritative project. - -## Protected branch flow - -With the protected branch flow everybody works within the same GitLab project. - -The project maintainers get Master access and the regular developers get Developer access. - -The maintainers mark the authoritative branches as 'Protected'. - -The developers push feature branches to the project and create merge requests to have their feature branches reviewed and merged into one of the protected branches. - -Only users with Master access can merge changes into a protected branch. - -### Advantages - -- fewer projects means less clutter -- developers need to consider only one remote repository - -### Disadvantages - -- manual setup of protected branch required for each new project - -## Forking workflow - -With the forking workflow the maintainers get Master access and the regular developers get Reporter access to the authoritative repository, which prohibits them from pushing any changes to it. - -Developers create forks of the authoritative project and push their feature branches to their own forks. - -To get their changes into master they need to create a merge request across forks. - -### Advantages - -- in an appropriately configured GitLab group, new projects automatically get the required access restrictions for regular developers: fewer manual steps to configure authorization for new projects - -### Disadvantages - -- the project need to keep their forks up to date, which requires more advanced Git skills (managing multiple remotes) +This document was moved to [user/project/merge_requests/authorization_for_merge_requests](../user/project/merge_requests/authorization_for_merge_requests.md) -- cgit v1.2.1 From cbc97870bc03d987d82dac679d2a81eee54a4448 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 5 Sep 2016 13:21:22 +0200 Subject: Move merge_when_build_succeeds.md to new location --- doc/workflow/merge_when_build_succeeds.md | 16 +--------------- doc/workflow/merge_when_build_succeeds/enable.png | Bin 68769 -> 0 bytes doc/workflow/merge_when_build_succeeds/status.png | Bin 82655 -> 0 bytes 3 files changed, 1 insertion(+), 15 deletions(-) delete mode 100644 doc/workflow/merge_when_build_succeeds/enable.png delete mode 100644 doc/workflow/merge_when_build_succeeds/status.png (limited to 'doc/workflow') diff --git a/doc/workflow/merge_when_build_succeeds.md b/doc/workflow/merge_when_build_succeeds.md index 75e1fdff2b2..95afd12ebdb 100644 --- a/doc/workflow/merge_when_build_succeeds.md +++ b/doc/workflow/merge_when_build_succeeds.md @@ -1,15 +1 @@ -# Merge When Build Succeeds - -When reviewing a merge request that looks ready to merge but still has one or more CI builds running, you can set it to be merged automatically when all builds succeed. This way, you don't have to wait for the builds to finish and remember to merge the request manually. - -![Enable](merge_when_build_succeeds/enable.png) - -When you hit the "Merge When Build Succeeds" button, the status of the merge request will be updated to represent the impending merge. If you cannot wait for the build to succeed and want to merge immediately, this option is available in the dropdown menu on the right of the main button. - -Both team developers and the author of the merge request have the option to cancel the automatic merge if they find a reason why it shouldn't be merged after all. - -![Status](merge_when_build_succeeds/status.png) - -When the build succeeds, the merge request will automatically be merged. When the build fails, the author gets a chance to retry any failed builds, or to push new commits to fix the failure. - -When the builds are retried and succeed on the second try, the merge request will automatically be merged after all. When the merge request is updated with new commits, the automatic merge is automatically canceled to allow the new changes to be reviewed. +This document was moved to [user/project/merge_requests/merge_when_build_succeeds](../user/project/merge_requests/merge_when_build_succeeds.md). diff --git a/doc/workflow/merge_when_build_succeeds/enable.png b/doc/workflow/merge_when_build_succeeds/enable.png deleted file mode 100644 index b86e6d7b3fd..00000000000 Binary files a/doc/workflow/merge_when_build_succeeds/enable.png and /dev/null differ diff --git a/doc/workflow/merge_when_build_succeeds/status.png b/doc/workflow/merge_when_build_succeeds/status.png deleted file mode 100644 index f3ea61d8147..00000000000 Binary files a/doc/workflow/merge_when_build_succeeds/status.png and /dev/null differ -- cgit v1.2.1 From 99e03f80ca875d261622268cf11eb63a02ae2bf5 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 5 Sep 2016 13:33:45 +0200 Subject: Move `wip_merge_requests.md` to a new location --- doc/workflow/wip_merge_requests.md | 14 +------------- .../wip_merge_requests/blocked_accept_button.png | Bin 32720 -> 0 bytes doc/workflow/wip_merge_requests/mark_as_wip.png | Bin 21640 -> 0 bytes doc/workflow/wip_merge_requests/unmark_as_wip.png | Bin 16606 -> 0 bytes 4 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 doc/workflow/wip_merge_requests/blocked_accept_button.png delete mode 100644 doc/workflow/wip_merge_requests/mark_as_wip.png delete mode 100644 doc/workflow/wip_merge_requests/unmark_as_wip.png (limited to 'doc/workflow') diff --git a/doc/workflow/wip_merge_requests.md b/doc/workflow/wip_merge_requests.md index 46035a5e6b6..abb8002f442 100644 --- a/doc/workflow/wip_merge_requests.md +++ b/doc/workflow/wip_merge_requests.md @@ -1,13 +1 @@ -# "Work In Progress" Merge Requests - -To prevent merge requests from accidentally being accepted before they're completely ready, GitLab blocks the "Accept" button for merge requests that have been marked a **Work In Progress**. - -![Blocked Accept Button](wip_merge_requests/blocked_accept_button.png) - -To mark a merge request a Work In Progress, simply start its title with `[WIP]` or `WIP:`. - -![Mark as WIP](wip_merge_requests/mark_as_wip.png) - -To allow a Work In Progress merge request to be accepted again when it's ready, simply remove the `WIP` prefix. - -![Unark as WIP](wip_merge_requests/unmark_as_wip.png) +This document was moved to [user/project/merge_requests/work_in_progress_merge_requests](../user/project/merge_requests/work_in_progress_merge_requests.md). diff --git a/doc/workflow/wip_merge_requests/blocked_accept_button.png b/doc/workflow/wip_merge_requests/blocked_accept_button.png deleted file mode 100644 index 89c458aa8d9..00000000000 Binary files a/doc/workflow/wip_merge_requests/blocked_accept_button.png and /dev/null differ diff --git a/doc/workflow/wip_merge_requests/mark_as_wip.png b/doc/workflow/wip_merge_requests/mark_as_wip.png deleted file mode 100644 index 9c37354a653..00000000000 Binary files a/doc/workflow/wip_merge_requests/mark_as_wip.png and /dev/null differ diff --git a/doc/workflow/wip_merge_requests/unmark_as_wip.png b/doc/workflow/wip_merge_requests/unmark_as_wip.png deleted file mode 100644 index 31f7326beb0..00000000000 Binary files a/doc/workflow/wip_merge_requests/unmark_as_wip.png and /dev/null differ -- cgit v1.2.1 From 14a96a1ad2d96078cbd73a60e260601f47373060 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 5 Sep 2016 13:40:41 +0200 Subject: Move cherry_pick_changes.md to new location --- doc/workflow/cherry_pick_changes.md | 53 +-------------------- doc/workflow/img/cherry_pick_changes_commit.png | Bin 304098 -> 0 bytes .../img/cherry_pick_changes_commit_modal.png | Bin 264883 -> 0 bytes doc/workflow/img/cherry_pick_changes_mr.png | Bin 212267 -> 0 bytes doc/workflow/img/cherry_pick_changes_mr_modal.png | Bin 186597 -> 0 bytes 5 files changed, 1 insertion(+), 52 deletions(-) delete mode 100644 doc/workflow/img/cherry_pick_changes_commit.png delete mode 100644 doc/workflow/img/cherry_pick_changes_commit_modal.png delete mode 100644 doc/workflow/img/cherry_pick_changes_mr.png delete mode 100644 doc/workflow/img/cherry_pick_changes_mr_modal.png (limited to 'doc/workflow') diff --git a/doc/workflow/cherry_pick_changes.md b/doc/workflow/cherry_pick_changes.md index 64b94d81024..663ffd3f746 100644 --- a/doc/workflow/cherry_pick_changes.md +++ b/doc/workflow/cherry_pick_changes.md @@ -1,52 +1 @@ -# Cherry-pick changes - -> [Introduced][ce-3514] in GitLab 8.7. - ---- - -GitLab implements Git's powerful feature to [cherry-pick any commit][git-cherry-pick] -with introducing a **Cherry-pick** button in Merge Requests and commit details. - -## Cherry-picking a Merge Request - -After the Merge Request has been merged, a **Cherry-pick** button will be available -to cherry-pick the changes introduced by that Merge Request: - -![Cherry-pick Merge Request](img/cherry_pick_changes_mr.png) - ---- - -You can cherry-pick the changes directly into the selected branch or you can opt to -create a new Merge Request with the cherry-pick changes: - -![Cherry-pick Merge Request modal](img/cherry_pick_changes_mr_modal.png) - -## Cherry-picking a Commit - -You can cherry-pick a Commit from the Commit details page: - -![Cherry-pick commit](img/cherry_pick_changes_commit.png) - ---- - -Similar to cherry-picking a Merge Request, you can opt to cherry-pick the changes -directly into the target branch or create a new Merge Request to cherry-pick the -changes: - -![Cherry-pick commit modal](img/cherry_pick_changes_commit_modal.png) - ---- - -Please note that when cherry-picking merge commits, the mainline will always be the -first parent. If you want to use a different mainline then you need to do that -from the command line. - -Here is a quick example to cherry-pick a merge commit using the second parent as the -mainline: - -```bash -git cherry-pick -m 2 7a39eb0 -``` - -[ce-3514]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3514 "Cherry-pick button Merge Request" -[git-cherry-pick]: https://git-scm.com/docs/git-cherry-pick "Git cherry-pick documentation" +This document was moved to [user/project/merge_requests/cherry_pick_changes](../user/project/merge_requests/cherry_pick_changes.md). diff --git a/doc/workflow/img/cherry_pick_changes_commit.png b/doc/workflow/img/cherry_pick_changes_commit.png deleted file mode 100644 index 7fb68cc9e9b..00000000000 Binary files a/doc/workflow/img/cherry_pick_changes_commit.png and /dev/null differ diff --git a/doc/workflow/img/cherry_pick_changes_commit_modal.png b/doc/workflow/img/cherry_pick_changes_commit_modal.png deleted file mode 100644 index 5267e04562f..00000000000 Binary files a/doc/workflow/img/cherry_pick_changes_commit_modal.png and /dev/null differ diff --git a/doc/workflow/img/cherry_pick_changes_mr.png b/doc/workflow/img/cherry_pick_changes_mr.png deleted file mode 100644 index 975fb13e463..00000000000 Binary files a/doc/workflow/img/cherry_pick_changes_mr.png and /dev/null differ diff --git a/doc/workflow/img/cherry_pick_changes_mr_modal.png b/doc/workflow/img/cherry_pick_changes_mr_modal.png deleted file mode 100644 index 6c003bacbe3..00000000000 Binary files a/doc/workflow/img/cherry_pick_changes_mr_modal.png and /dev/null differ -- cgit v1.2.1 From a8ba5840e0c86f3fb72cf81940674698e02ed025 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 5 Sep 2016 13:46:37 +0200 Subject: Move revert_changes.md to new location --- doc/workflow/img/revert_changes_commit.png | Bin 233750 -> 0 bytes doc/workflow/img/revert_changes_commit_modal.png | Bin 205046 -> 0 bytes doc/workflow/img/revert_changes_mr.png | Bin 241051 -> 0 bytes doc/workflow/img/revert_changes_mr_modal.png | Bin 211022 -> 0 bytes doc/workflow/revert_changes.md | 65 +---------------------- 5 files changed, 1 insertion(+), 64 deletions(-) delete mode 100644 doc/workflow/img/revert_changes_commit.png delete mode 100644 doc/workflow/img/revert_changes_commit_modal.png delete mode 100644 doc/workflow/img/revert_changes_mr.png delete mode 100644 doc/workflow/img/revert_changes_mr_modal.png (limited to 'doc/workflow') diff --git a/doc/workflow/img/revert_changes_commit.png b/doc/workflow/img/revert_changes_commit.png deleted file mode 100644 index e7194fc3504..00000000000 Binary files a/doc/workflow/img/revert_changes_commit.png and /dev/null differ diff --git a/doc/workflow/img/revert_changes_commit_modal.png b/doc/workflow/img/revert_changes_commit_modal.png deleted file mode 100644 index c660ec7eaec..00000000000 Binary files a/doc/workflow/img/revert_changes_commit_modal.png and /dev/null differ diff --git a/doc/workflow/img/revert_changes_mr.png b/doc/workflow/img/revert_changes_mr.png deleted file mode 100644 index 3002f0ac1c5..00000000000 Binary files a/doc/workflow/img/revert_changes_mr.png and /dev/null differ diff --git a/doc/workflow/img/revert_changes_mr_modal.png b/doc/workflow/img/revert_changes_mr_modal.png deleted file mode 100644 index c6aaeecc8a6..00000000000 Binary files a/doc/workflow/img/revert_changes_mr_modal.png and /dev/null differ diff --git a/doc/workflow/revert_changes.md b/doc/workflow/revert_changes.md index 5ead9f4177f..cf1292253fc 100644 --- a/doc/workflow/revert_changes.md +++ b/doc/workflow/revert_changes.md @@ -1,64 +1 @@ -# Reverting changes - -> [Introduced][ce-1990] in GitLab 8.5. - ---- - -GitLab implements Git's powerful feature to [revert any commit][git-revert] -with introducing a **Revert** button in Merge Requests and commit details. - -## Reverting a Merge Request - -_**Note:** The **Revert** button will only be available for Merge Requests -created since GitLab 8.5. However, you can still revert a Merge Request -by reverting the merge commit from the list of Commits page._ - -After the Merge Request has been merged, a **Revert** button will be available -to revert the changes introduced by that Merge Request: - -![Revert Merge Request](img/revert_changes_mr.png) - ---- - -You can revert the changes directly into the selected branch or you can opt to -create a new Merge Request with the revert changes: - -![Revert Merge Request modal](img/revert_changes_mr_modal.png) - ---- - -After the Merge Request has been reverted, the **Revert** button will not be -available anymore. - -## Reverting a Commit - -You can revert a Commit from the Commit details page: - -![Revert commit](img/revert_changes_commit.png) - ---- - -Similar to reverting a Merge Request, you can opt to revert the changes -directly into the target branch or create a new Merge Request to revert the -changes: - -![Revert commit modal](img/revert_changes_commit_modal.png) - ---- - -After the Commit has been reverted, the **Revert** button will not be available -anymore. - -Please note that when reverting merge commits, the mainline will always be the -first parent. If you want to use a different mainline then you need to do that -from the command line. - -Here is a quick example to revert a merge commit using the second parent as the -mainline: - -```bash -git revert -m 2 7a39eb0 -``` - -[ce-1990]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1990 "Revert button Merge Request" -[git-revert]: https://git-scm.com/docs/git-revert "Git revert documentation" +This document was moved to [user/project/merge_requests/revert_changes](../user/project/merge_requests/revert_changes.md). -- cgit v1.2.1 From bf00e0f4b2fd8994df8f7b567839f12715a05fde Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 5 Sep 2016 18:25:05 +0200 Subject: Add links to new docs in merge_requests.md and workflow/README.md --- doc/workflow/README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'doc/workflow') diff --git a/doc/workflow/README.md b/doc/workflow/README.md index d626b1311a2..d021cca7c38 100644 --- a/doc/workflow/README.md +++ b/doc/workflow/README.md @@ -1,6 +1,5 @@ # Workflow -- [Authorization for merge requests](authorization_for_merge_requests.md) - [Change your time zone](timezone.md) - [Description templates](../user/project/description_templates.md) - [Feature branch workflow](workflow.md) @@ -22,10 +21,14 @@ - [Releases](releases.md) - [Milestones](milestones.md) - [Merge Requests](../user/project/merge_requests.md) -- [Revert changes](revert_changes.md) -- [Cherry-pick changes](cherry_pick_changes.md) -- ["Work In Progress" Merge Requests](wip_merge_requests.md) -- [Merge When Build Succeeds](merge_when_build_succeeds.md) + - [Authorization for merge requests](../user/project/merge_requests/authorization_for_merge_requests.md) + - [Cherry-pick changes](../user/project/merge_requests/cherry_pick_changes.md) + - [Merge when build succeeds](../user/project/merge_requests/merge_when_build_succeeds.md) + - [Resolve discussion comments in merge requests reviews](../user/project/merge_requests/merge_request_discussion_resolution.md) + - [Resolve merge conflicts in the UI](../user/project/merge_requests/resolve_conflicts.md) + - [Revert changes in the UI](../user/project/merge_requests/revert_changes.md) + - [Merge requests versions](../user/project/merge_requests/versions.md) + - ["Work In Progress" merge requests](../user/project/merge_requests/work_in_progress_merge_requests.md) - [Manage large binaries with Git LFS](lfs/manage_large_binaries_with_git_lfs.md) - [Importing from SVN, GitHub, BitBucket, etc](importing/README.md) - [Todos](todos.md) -- cgit v1.2.1