From 3fbd2b696440d3c421fc4477141615ce354d14cd Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Fri, 15 Jan 2016 23:40:11 +0100 Subject: Add the version each feature was introduced and remove note --- doc/workflow/importing/import_projects_from_github.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'doc/workflow') diff --git a/doc/workflow/importing/import_projects_from_github.md b/doc/workflow/importing/import_projects_from_github.md index 77fb7ea7cd6..694521ff490 100644 --- a/doc/workflow/importing/import_projects_from_github.md +++ b/doc/workflow/importing/import_projects_from_github.md @@ -5,11 +5,14 @@ enable the [GitHub integration][gh-import] in your GitLab instance._ At its current state, GitHub importer can import: -- the repository description -- the git repository data -- the issues -- the pull requests -- the wiki pages +- the repository description (introduced in GitLab 7.7) +- the git repository data (introduced in GitLab 7.7) +- the issues (introduced in GitLab 7.7) +- the pull requests (introduced in GitLab 8.4) +- the wiki pages (introduced in GitLab 8.4) + +It is not yet possible to import your labels and milestones. We are working on +improving this in the near future. The importer page is visible when you [create a new project][new-project]. Click on the **GitHub** link and you will be redirected to GitHub for @@ -35,12 +38,6 @@ The importer will create any new namespaces if they don't exist or in the case the namespace is taken, the project will be imported on the user's namespace. -### Note - -When you import your projects from GitHub, it is not possible to keep your -labels, milestones, and cross-repository pull requests. We are working on -improving this in the near future. - [gh-import]: ../../integration/github.md "GitHub integration" [ee-gh]: http://doc.gitlab.com/ee/integration/github.html "GitHub integration for GitLab EE" [new-project]: ../../gitlab-basics/create-project.md "How to create a new project in GitLab" -- cgit v1.2.1 From ed969aabddef5fd5911f3704f1843092025b98ec Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Sat, 16 Jan 2016 10:55:44 +0100 Subject: Importing GitHub cross-repository PRs is not supported atm [ci skip] --- doc/workflow/importing/import_projects_from_github.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'doc/workflow') diff --git a/doc/workflow/importing/import_projects_from_github.md b/doc/workflow/importing/import_projects_from_github.md index 694521ff490..f693f430a42 100644 --- a/doc/workflow/importing/import_projects_from_github.md +++ b/doc/workflow/importing/import_projects_from_github.md @@ -11,8 +11,9 @@ At its current state, GitHub importer can import: - the pull requests (introduced in GitLab 8.4) - the wiki pages (introduced in GitLab 8.4) -It is not yet possible to import your labels and milestones. We are working on -improving this in the near future. +It is not yet possible to import your labels, milestones and cross-repository +pull requests (those from forks). We are working on improving this in the near +future. The importer page is visible when you [create a new project][new-project]. Click on the **GitHub** link and you will be redirected to GitHub for -- cgit v1.2.1 From 1c728ddbce1b3e459e9c9332cf8753699955db43 Mon Sep 17 00:00:00 2001 From: John Galt Date: Tue, 19 Jan 2016 16:07:46 +0000 Subject: Fixed typo --- doc/workflow/protected_branches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/workflow') diff --git a/doc/workflow/protected_branches.md b/doc/workflow/protected_branches.md index 0adf9f8e3e8..fdf9a8d391c 100644 --- a/doc/workflow/protected_branches.md +++ b/doc/workflow/protected_branches.md @@ -1,6 +1,6 @@ # Protected branches -Permission in GitLab are fundamentally defined around the idea of having read or write permission to the repository and branches. +Permissions in GitLab are fundamentally defined around the idea of having read or write permission to the repository and branches. To prevent people from messing with history or pushing code without review, we've created protected branches. -- cgit v1.2.1 From 465e4616c980367a7e075ef7f795879810d9b1e2 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Thu, 21 Jan 2016 22:32:55 +0100 Subject: Add file finder documentation [ci skip] --- doc/workflow/README.md | 1 + doc/workflow/file_finder.md | 42 +++++++++++++++++++++++++++ doc/workflow/img/file_finder_find_button.png | Bin 0 -> 30974 bytes doc/workflow/img/file_finder_find_file.png | Bin 0 -> 42658 bytes 4 files changed, 43 insertions(+) create mode 100644 doc/workflow/file_finder.md create mode 100644 doc/workflow/img/file_finder_find_button.png create mode 100644 doc/workflow/img/file_finder_find_file.png (limited to 'doc/workflow') diff --git a/doc/workflow/README.md b/doc/workflow/README.md index 3651b55f438..bf62ab41053 100644 --- a/doc/workflow/README.md +++ b/doc/workflow/README.md @@ -6,6 +6,7 @@ - [GitLab Flow](gitlab_flow.md) - [Groups](groups.md) - [Keyboard shortcuts](shortcuts.md) +- [File finder](file_finder.md) - [Labels](labels.md) - [Notification emails](notifications.md) - [Project Features](project_features.md) diff --git a/doc/workflow/file_finder.md b/doc/workflow/file_finder.md new file mode 100644 index 00000000000..52ac5f032a5 --- /dev/null +++ b/doc/workflow/file_finder.md @@ -0,0 +1,42 @@ +# File finder + +_**Note:** This feature was [introduced][gh-9889] in GitLab 8.4._ + +--- + +The file finder feature allows you to quickly shortcut your way when you are +searching for a file in a repository using the GitLab UI. + +You can find the **Find File** button when in the **Files** section of a +project. + +![Find file button](img/file_finder_find_button.png) + +--- + +For the more lazy, there is a [shortcut button](shortcuts.md) as well. + +Go the **Files** section of a project and press `t` on your keyboard to launch +the search function. Start typing what you are searching for and watch the +magic being unfold. With the up/down arrows, you go up and down the results, +with `Esc` you close the search and go back to **Files**. + +## How it works + +The File finder feature is powered by the [Fuzzy filter] library. + +It implements a fuzzy search with highlight, and tries to provide intuitive +results by recognizing patterns that people use while searching. + +For example, consider the [GitLab CE repository][ce] and that we want to open +the `app/controllers/admin/deploy_keys_controller.rb` file. + +Using fuzzy search, we start by typing letters that get us closer to the file. + +**Protip:** To narrow down your search, include `/` in your search terms. + +![Find file button](img/file_finder_find_file.png) + +[gh-9889]: https://github.com/gitlabhq/gitlabhq/pull/9889 "File finder pull request" +[fuzzy filter]: https://github.com/jeancroy/fuzzaldrin-plus "fuzzaldrin-plus on GitHub" +[ce]: https://gitlab.com/gitlab-org/gitlab-ce/tree/master "GitLab CE repository" diff --git a/doc/workflow/img/file_finder_find_button.png b/doc/workflow/img/file_finder_find_button.png new file mode 100644 index 00000000000..c5005d0d7ca Binary files /dev/null and b/doc/workflow/img/file_finder_find_button.png differ diff --git a/doc/workflow/img/file_finder_find_file.png b/doc/workflow/img/file_finder_find_file.png new file mode 100644 index 00000000000..58500f4c163 Binary files /dev/null and b/doc/workflow/img/file_finder_find_file.png differ -- cgit v1.2.1 From 68ac1a665846676057d4a845a1af3274db70c160 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Fri, 22 Jan 2016 00:23:20 +0100 Subject: File finder can be invoked from anywhere! [ci skip] --- doc/workflow/file_finder.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'doc/workflow') diff --git a/doc/workflow/file_finder.md b/doc/workflow/file_finder.md index 52ac5f032a5..4bf0a179411 100644 --- a/doc/workflow/file_finder.md +++ b/doc/workflow/file_finder.md @@ -14,12 +14,15 @@ project. --- -For the more lazy, there is a [shortcut button](shortcuts.md) as well. +For the more lazy, there is a [shortcut button](shortcuts.md) as well, which +you can invoke from _anywhere_ in a project. -Go the **Files** section of a project and press `t` on your keyboard to launch -the search function. Start typing what you are searching for and watch the -magic being unfold. With the up/down arrows, you go up and down the results, -with `Esc` you close the search and go back to **Files**. +Press `t` on your keyboard to launch the File search function when in **Issues**, +**Merge requests**, **Milestones**, even the project's settings. + +Start typing what you are searching for and watch the magic being unfold. With +the up/down arrows, you go up and down the results, with `Esc` you close the +search and go back to **Files**. ## How it works -- cgit v1.2.1 From de7ee6c37bbf26509c1c533d915f6dbaecdd6ab3 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Fri, 22 Jan 2016 08:26:48 +0100 Subject: Fix grammar and typos in file finder docs [ci skip] --- doc/workflow/file_finder.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'doc/workflow') diff --git a/doc/workflow/file_finder.md b/doc/workflow/file_finder.md index 4bf0a179411..b69ae663272 100644 --- a/doc/workflow/file_finder.md +++ b/doc/workflow/file_finder.md @@ -14,15 +14,16 @@ project. --- -For the more lazy, there is a [shortcut button](shortcuts.md) as well, which -you can invoke from _anywhere_ in a project. +For those who prefer to keep their fingers on the keyboard, there is a +[shortcut button](shortcuts.md) as well, which you can invoke from _anywhere_ +in a project. -Press `t` on your keyboard to launch the File search function when in **Issues**, +Press `t` to launch the File search function when in **Issues**, **Merge requests**, **Milestones**, even the project's settings. -Start typing what you are searching for and watch the magic being unfold. With -the up/down arrows, you go up and down the results, with `Esc` you close the -search and go back to **Files**. +Start typing what you are searching for and watch the magic happen. With the +up/down arrows, you go up and down the results, with `Esc` you close the search +and go back to **Files**. ## How it works -- cgit v1.2.1 From af52158ff83ac6de539af36eea729a59a23340fb Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 27 Jan 2016 11:26:04 +0100 Subject: Conform to doc styleguide on max line length --- doc/workflow/forking_workflow.md | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'doc/workflow') diff --git a/doc/workflow/forking_workflow.md b/doc/workflow/forking_workflow.md index 8edf7c6ab3d..cf9dc01df53 100644 --- a/doc/workflow/forking_workflow.md +++ b/doc/workflow/forking_workflow.md @@ -1,36 +1,44 @@ # Project forking workflow -Forking a project to your own namespace is useful if you have no write access to the project you want to contribute -to. If you do have write access or can request it we recommend working together in the same repository since it is simpler. -See our **[GitLab Flow](https://about.gitlab.com/2014/09/29/gitlab-flow/)** article for more information about using -branches to work together. +Forking a project to your own namespace is useful if you have no write +access to the project you want to contribute to. If you do have write +access or can request it, we recommend working together in the same +repository since it is simpler. See our [GitLab Flow](gitlab_flow.md) +document more information about using branches to work together. ## Creating a fork -In order to create a fork of a project, all you need to do is click on the fork button located on the top right side -of the screen, close to the project's URL and right next to the stars button. +In order to create a fork of a project, all you need to do is click on +the fork button located on the top right side of the screen, close to +the project's URL and right next to the stars button. ![Fork button](forking/fork_button.png) -Once you do that you'll be presented with a screen where you can choose the namespace to fork to. Only namespaces -(groups and your own namespace) where you have write access to, will be shown. Click on the namespace to create your -fork there. +Once you do that you'll be presented with a screen where you can choose +the namespace to fork to. Only namespaces (groups and your own +namespace) where you have write access to, will be shown. Click on the +namespace to create your fork there. ![Groups view](forking/groups.png) -After the forking is done, you can start working on the newly created repository. There you will have full -[Owner](../permissions/permissions.md) access, so you can set it up as you please. +After the forking is done, you can start working on the newly created +repository. There you will have full +[Owner](../permissions/permissions.md) access, so you can set it up as +you please. ## Merging upstream -Once you are ready to send your code back to the main project, you need to create a merge request. Choose your forked -project's main branch as the source and the original project's main branch as the destination and create the merge request. +Once you are ready to send your code back to the main project, you need +to create a merge request. Choose your forked project's main branch as +the source and the original project's main branch as the destination and +create the merge request. ![Selecting branches](forking/branch_select.png) -You can then assign the merge request to someone to have them review your changes. Upon pressing the 'Accept Merge Request' -button, your changes will be added to the repository and branch you're merging into. +You can then assign the merge request to someone to have them review +your changes. Upon pressing the 'Accept Merge Request' button, your +changes will be added to the repository and branch you're merging into. ![New merge request](forking/merge_request.png) - +[gitlab flow]: https://about.gitlab.com/2014/09/29/gitlab-flow/ "GitLab Flow blog post" -- cgit v1.2.1 From b6662c2a8942b3412540219babe3d03511923ceb Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 27 Jan 2016 12:00:51 +0100 Subject: Refactor the forking process and add new images [ci skip] --- doc/workflow/forking/fork_button.png | Bin 68271 -> 0 bytes doc/workflow/forking/groups.png | Bin 98109 -> 0 bytes doc/workflow/forking_workflow.md | 41 ++++++++++++++------- .../img/forking_workflow_choose_namespace.png | Bin 0 -> 70405 bytes doc/workflow/img/forking_workflow_fork_button.png | Bin 0 -> 26438 bytes .../img/forking_workflow_path_taken_error.png | Bin 0 -> 22380 bytes 6 files changed, 28 insertions(+), 13 deletions(-) delete mode 100644 doc/workflow/forking/fork_button.png delete mode 100644 doc/workflow/forking/groups.png create mode 100644 doc/workflow/img/forking_workflow_choose_namespace.png create mode 100644 doc/workflow/img/forking_workflow_fork_button.png create mode 100644 doc/workflow/img/forking_workflow_path_taken_error.png (limited to 'doc/workflow') diff --git a/doc/workflow/forking/fork_button.png b/doc/workflow/forking/fork_button.png deleted file mode 100644 index def4266476a..00000000000 Binary files a/doc/workflow/forking/fork_button.png and /dev/null differ diff --git a/doc/workflow/forking/groups.png b/doc/workflow/forking/groups.png deleted file mode 100644 index 3ac64b3c8e7..00000000000 Binary files a/doc/workflow/forking/groups.png and /dev/null differ diff --git a/doc/workflow/forking_workflow.md b/doc/workflow/forking_workflow.md index cf9dc01df53..217a4a4012f 100644 --- a/doc/workflow/forking_workflow.md +++ b/doc/workflow/forking_workflow.md @@ -8,30 +8,45 @@ document more information about using branches to work together. ## Creating a fork -In order to create a fork of a project, all you need to do is click on -the fork button located on the top right side of the screen, close to -the project's URL and right next to the stars button. +Forking a project is in most cases a two-step process. -![Fork button](forking/fork_button.png) -Once you do that you'll be presented with a screen where you can choose -the namespace to fork to. Only namespaces (groups and your own -namespace) where you have write access to, will be shown. Click on the -namespace to create your fork there. +1. Click on the fork button located in the middle of the page or a project's + home page right next to the stars button. -![Groups view](forking/groups.png) + ![Fork button](img/forking_workflow_fork_button.png) + + --- + +1. Once you do that, you'll be presented with a screen where you can choose + the namespace to fork to. Only namespaces (groups and your own + namespace) where you have write access to, will be shown. Click on the + namespace to create your fork there. + + ![Choose namespace](img/forking_workflow_choose_namespace.png) + + --- + + **Note:** + If the namespace you chose to fork the project to has another project with + the same path name, you will be presented with a warning that the forking + could not be completed. Try to resolve the error and repeat the forking + process. + + ![Path taken error](img/forking_workflow_path_taken_error.png) + + --- After the forking is done, you can start working on the newly created -repository. There you will have full -[Owner](../permissions/permissions.md) access, so you can set it up as -you please. +repository. There, you will have full [Owner](../permissions/permissions.md) +access, so you can set it up as you please. ## Merging upstream Once you are ready to send your code back to the main project, you need to create a merge request. Choose your forked project's main branch as the source and the original project's main branch as the destination and -create the merge request. +create the [merge request](merge_requests.md). ![Selecting branches](forking/branch_select.png) diff --git a/doc/workflow/img/forking_workflow_choose_namespace.png b/doc/workflow/img/forking_workflow_choose_namespace.png new file mode 100644 index 00000000000..eefe5769554 Binary files /dev/null and b/doc/workflow/img/forking_workflow_choose_namespace.png differ diff --git a/doc/workflow/img/forking_workflow_fork_button.png b/doc/workflow/img/forking_workflow_fork_button.png new file mode 100644 index 00000000000..49e68d33e89 Binary files /dev/null and b/doc/workflow/img/forking_workflow_fork_button.png differ diff --git a/doc/workflow/img/forking_workflow_path_taken_error.png b/doc/workflow/img/forking_workflow_path_taken_error.png new file mode 100644 index 00000000000..7a3139506fe Binary files /dev/null and b/doc/workflow/img/forking_workflow_path_taken_error.png differ -- cgit v1.2.1 From 87d3ce88c703c0dd1a7fb99a5371466b19a461c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Fri, 29 Jan 2016 10:39:19 +0100 Subject: Improve GitLab flow documentation regarding the WIP merge requests [ci skip] --- doc/workflow/gitlab_flow.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'doc/workflow') diff --git a/doc/workflow/gitlab_flow.md b/doc/workflow/gitlab_flow.md index 8965e5b3654..be32f0c720b 100644 --- a/doc/workflow/gitlab_flow.md +++ b/doc/workflow/gitlab_flow.md @@ -152,9 +152,10 @@ The name of this branch should start with the issue number, for example '15-requ When you are done or want to discuss the code you open a merge request. This is an online place to discuss the change and review the code. -Creating a branch is a manual action since you do not always want to merge a new branch you push, it could be a long-running environment or release branch. -If you create the merge request but do not assign it to anyone it is a 'work-in-process' merge request. +Opening a merge request is a manual action since you do not always want to merge a new branch you push, it could be a long-running environment or release branch. +If you open the merge request but do not assign it to anyone it is a 'Work In Progress' merge request. These are used to discuss the proposed implementation but are not ready for inclusion in the master branch yet. +_Pro tip:_ Start the title of the merge request with `[WIP]` or `WIP:` to prevent it from being merged before it's ready. When the author thinks the code is ready the merge request is assigned to reviewer. The reviewer presses the merge button when they think the code is ready for inclusion in the master branch. @@ -185,7 +186,7 @@ If you have an issue that spans across multiple repositories, the best thing is ![Vim screen showing the rebase view](rebase.png) -With git you can use an interactive rebase (rebase -i) to squash multiple commits into one and reorder them. +With git you can use an interactive rebase (`rebase -i`) to squash multiple commits into one and reorder them. This functionality is useful if you made a couple of commits for small changes during development and want to replace them with a single commit or if you want to make the order more logical. However you should never rebase commits you have pushed to a remote server. Somebody can have referred to the commits or cherry-picked them. -- cgit v1.2.1