One exception: there is an existing MR for the current branch and the
branch is non-default and non-protected.
Extended mock_data for ide/stores to have different types of branches:
default, protected and regular
Cleaned new MR checkbox view
Previously `start_sha` was intercepted on the frontend to create the
correct branch in a separate API call. Now that the commits API supports
the `start_sha` parameter directly this workaround is not needed
anymore.
Important to get file data for any file that has no content set yet: we
need this information in order to build a previe for changed/staged
files if they were not yet opened in the editor
If an entry has been removed from the tree and later, during the same
session, a user is trying to add a new item with the same name/path we
should allow for that as long as the original entry is marked with
`deleted`.
When removing the last file from a folder in WebIDE, do not remove the
folder from the view. We keep those to give users possibility to
re-upload files to the same folders.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/60860
- Pull the new MR option out into it's own component
- Default MR checkbox to true when creating a new MR and committing to a
branch that does not have an MR
- Still change the MR checkbox to false when a user is on a branch that
already has an MR
- Hide MR option when on a branch that already has an MR and committing
to current branch
- Don't default to true when committing directly to master
**Why?**
Currently the IDE loads a merge request based on only the
`source_branch` name. This means it loads MR's from
forks that have the same branch name (not good).
- This required updating the BE API to accept `source_project_id`
Before the user had to choose between committing to a new branch,
committing to a new branch AND creating an MR, or committing to the
current branch regardless of whether or not it already has an MR.
This commit separates the creation of an MR from whether or not they
commit to an existing or new branch
**What?**
A Vue warning that `ide_status_bar` sent a `Boolean` to a `String`
property (`img-src).
**What was the fix?**
Previously, `latestPipeline` could be one of the following values:
| | |
|----------|--------|
| `null` | The pipeline hasn't loaded yet |
| `false` | The pipeline has loaded, but nothing was returned. |
| `Object` | The piepline has loaded. |
Giving a semantic meaning to different falsey values hurts
maintainability. This commit fixes the above problem by removing the
`false` value and introducing a `hasLoadedPipeline` state property.
Since we can create files from URL now, this means that these files will
not exist in the tree returned from API: they exist on the client
only before the first commit. In order to still show the newly-created
files in the tree, we should not override the tree, but merge the tree
existing on the client and the one coming from API.
Changelog entry
Moved trees merging into mutation
**How?**
Previously the files_decorator inserted parent folders inefficiently.
It started at the first part and ensured each was inserted.
Since the file entries are given to use in alphabetical order, we can
start at the last part of the blob's parents. If this exists, we can
short circuit and be done inserting parents.
**What else?**
- Improve performance of decorateData. The object spread operator is
not needed because the object is brand new.
New `Api.projectMergeRequests` allows:
- to query for all MRs on a project without specifying `mergeRequestId`
- to filter the returned MRs using parameters from
https://bit.ly/2H7We4V
The new API request is used for fetching information about MRs
associated with a particular branch in Web IDE to have IdeSidebar
behave consistently in both scenarios:
- getting to a branch from and MR (where we already have info about
relevant MR), or
- getting to a branch somehow differently directly
For cases where there are several merge requests that the current branch
is associated with, mark the most recent one as 'current'
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/49663
This fixes a bug where the file templates would not be cleared
after changing the template type.
Previously the templates would get pushed into the array
creating a list of templates for the different types.
This changes that by clearing the templates array
when the template type gets changed.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/52487
**Why?**
- This is needed for the Web Terminal feature.
https://gitlab.com/gitlab-org/gitlab-ee/issues/5426
**Notes:**
- Introduces a `pane` Vuex module.
- Some views should not be kept alive (i.e. job details).
This is why a `keepAlive` flag was introduced for views.