| = Inline Edit |
| |
| This page explains the workflow for creating and amending changes in the |
| browser. |
| |
| |
| [[create-change]] |
| == Creating a New Change |
| |
| A new change can be created directly in the browser, meaning it is not necessary |
| to clone the whole repository to make trivial changes. |
| |
| The new change is created as a public |
| link:user-upload.html#wip[work-in-progress change]. |
| |
| There are two different ways to create a new change: |
| |
| By clicking on the 'Create Change' button in the project screen: |
| |
| [[create-change-from-project-info-screen]] |
| |
| image::images/inline-edit-create-change-project-screen.png[width=800, link="images/inline-edit-create-change-project-screen.png"] |
| |
| The user can select the branch on which the new change should be created: |
| |
| image::images/inline-edit-create-change-project-screen-dialog.png[width=800, link="images/inline-edit-create-change-project-screen-dialog.png"] |
| |
| By clicking the 'Follow-Up' button on the change screen, to create a new change |
| based on the selected change. |
| |
| [[create-change-from-change-screen]] |
| |
| image::images/inline-edit-create-follow-up-change.png[width=800, link="images/inline-edit-create-follow-up-change.png"] |
| |
| [[editing-change]] |
| == Editing Changes |
| |
| To switch to edit mode, press the 'Edit' button at the top of the file list: |
| |
| [[switch-to-edit-mode]] |
| image::images/inline-edit-enter-edit-mode-from-file-list.png[width=800, link="images/inline-edit-enter-edit-mode-from-file-list.png"] |
| |
| While in edit mode, it is possible to add new files to the change by clicking |
| the 'Add...' button at the top of the file list. |
| |
| File changes can be reverted or files can be removed from the change or |
| deleted files can be restored, by clicking the icons to the left of the file |
| name. |
| |
| To switch from edit mode back to review mode, click the 'Done Editing' button. |
| |
| image::images/inline-edit-file-list-in-edit-mode.png[width=800, link="images/inline-edit-file-list-in-edit-mode.png"] |
| |
| [[open-full-screen-editor]] |
| While in edit mode, clicking on a file name in the file list opens a full |
| screen editor for that file. |
| |
| To save edits, click the 'Save' button or press `CTRL-S`. To return to the |
| change screen, click the 'Close' button. |
| |
| Note that when editing the commit message, trailing blank lines will be stripped. |
| |
| image::images/inline-edit-full-screen-editor.png[width=800, link="images/inline-edit-full-screen-editor.png"] |
| |
| If there are unsaved edits when the 'Close' button is pressed, a dialog will |
| pop up asking to confirm the edits. |
| |
| image::images/inline-edit-confirm-unsaved-edits.png[width=800, link="images/inline-edit-confirm-unsaved-edits.png"] |
| |
| To discard the unsaved edits and return to the change screen, click the 'OK' |
| button. To continue editing, click 'Cancel'. |
| |
| [[switch-to-edit-mode-from-side-by-side]] |
| |
| While in review mode, it is possible to switch directly to edit mode and into an |
| editor for a file under review by clicking on the edit icon in the patch set list |
| on the side-by-side diff view. |
| |
| image::images/inline-edit-enter-edit-mode-from-diff.png[width=800, link="images/inline-edit-enter-edit-mode-from-diff.png"] |
| |
| [[reviewing-changes-made-in-change-edit]] |
| == Reviewing Change Edits |
| |
| Change edits are reviewed in the same way as regular patch sets, using the |
| side-by-side diff screen. Change edits are shown as 'edit' in the patch list |
| on the diff screen: |
| |
| image::images/inline-edit-edit-in-diff-screen-patch-list.png[width=800, link="images/inline-edit-edit-in-diff-screen-patch-list.png"] |
| |
| and on the change screen: |
| |
| image::images/inline-edit-edit-in-patch-list.png[width=800, link="images/inline-edit-edit-in-patch-list.png"] |
| |
| Note that patch sets may exist that were created after the change edit was created. |
| |
| For example this sequence: |
| |
| `1 2 3 4 5 6 7 8 9 edit 10` |
| |
| means that the change edit was created on top of patch set number 9 and a regular |
| patch set was uploaded later. |
| |
| [[change-edit-actions]] |
| == Change Edit Actions |
| |
| Change edits can be deleted, published and rebased, and a patch set that |
| represents a change edit can be downloaded like a regular patch set. |
| |
| [[delete-change-edit]] |
| |
| There is a special ref for a change edit. When the change edit is deleted, this |
| ref is deleted as well. To delete a change edit click on the "Delete Edit" |
| button. |
| |
| [[publish-change-edit]] |
| |
| When a change edit is based on the current patch set, it can be published. By |
| publishing a change edit it is promoted to a regular patch set. The special ref |
| that represents the change edit is deleted on publish. To publish a change edit |
| click on the "Publish Edit" button. This button is only shown when the change |
| edit is based on the current patch set. Otherwise the change edit must first be |
| rebased onto the current patch set. |
| |
| [[rebase-change-edit]] |
| |
| Only change edits that are based on the current patch set can be published. If |
| in the meantime a new patch set was uploaded, the change edit must be rebased on |
| top of the current patch set before it can be published. Rebasing a change |
| edit is done by clicking on the "Rebase Edit" button. If the rebase results in |
| conflicts, these conflicts cannot be resolved in the browser. In this case the |
| change edit must be downloaded (see below) and the conflicts must be resolved in |
| the local environment. The commit that contains the conflict resolution can then |
| be uploaded by setting `edit` as option on the target ref: |
| |
| ---- |
| $ git push host HEAD:refs/for/master%edit |
| ---- |
| |
| [[download-change-edit-patch]] |
| |
| Like regular patch sets, change edits can be downloaded by the download |
| commands (e.g. provided by the `download-commands` plugin). To download a |
| change edit, select the desired scheme from the "Download" dropdown and copy the |
| command to your terminal. Note: only change edit owners and users that were |
| granted the link:access-control.html#capability_accessDatabase[accessDatabase] |
| global capability are able to access change edit refs. |
| |
| [[search-for-change-edits]] |
| |
| To search change edits from the UI the link:user-search.html#has[has:edit] |
| predicate can be used. |
| |
| Alternatively change edits can be accessed through "My => Edits" dashboard. |
| |
| [[not-implemented-features]] |
| == Not Implemented Features |
| |
| * Support default configuration options for inline editor that an |
| administrator has set in `refs/users/default:preferences.config` file. |
| |
| * Allow to rename files that are already contained in the change (from the file table). |
| The same rename file dialog can be used with preselected and disabled original file |
| name. |
| |
| * Changed files in change edit should be marked as changed in file table in edit mode. |
| One option is to use dirty icon or "*" char in front of changed files, another option |
| is to use different hyperlink color for changed files (red?), to avoid adding yet another |
| column to the file table |
| |
| * Add navigation icons in header area of edit screen. When dozen files need to be changed |
| in context of change edit, this is not the best workflow to open one file in edit screen, |
| change it, save it, close edit screen and select next file from the file table to edit. |
| "<-" | "->" icons in header of edit screen could be used to navigate to the next file to |
| change from the file table. This would behave like the navigation icons in side by side |
| with the following logic on click: |
| |
| ** "save-when-file-was-changed" or |
| ** "close-when-no-changes" |
| |
| * Implement conflict resolution during rebase of change edit using inline edit |
| feature by creating new edit on top of current patch set with auto merge content |
| |
| * Similarly, reuse inline edit feature for conflict resolution during rebase of regular |
| patch sets |
| |
| GERRIT |
| ------ |
| Part of link:index.html[Gerrit Code Review] |
| |
| SEARCHBOX |
| --------- |