Changes Pane
Introduction
For version control enabled apps (apps with Team Server or other SVN servers), the Changes pane shows the local changes to the app since the last commit. You can commit changes, update to the latest revision, and view the history from it.
This pane consists of the following:
- The top bar contains various buttons, such as Back, Go to, Tasks.
- The top level shows you a list of documents that were changed, for example, a page where a widget was deleted
- The zoomed-in level of the pane is split into two grids, with elements in the left grid and changed or conflicting properties of the selected element in the right grid
Top Bar
The top bar of the top level of the Changes pane consists of various buttons:
Buttons allow you to perform the following actions:
- Back – goes back up one level; at the top level, this button is disabled
- Go to – opens a zoomed-in level and opens up the selected document
- Tasks – allows you to perform specific actions such as reverting the change to the latest commit, or solving conflicts
- Update – retrieves latest changes from the repository (for more information on the update concept, see the Update section in Version Control)
- Commit – commits your changes to the repository and starts a new revision (for more information on the commit concept, see the Commit section in Version Control)
- History – opens the History dialog box that shows the changes made on the current development line of the app (for more information on history, see History)
The Back and Go to buttons are common throughout all the levels, while other buttons will only apply to a specific one.
Top Level
The top level of the Changes pane is a grid listing changed documents, for example, a page or a nanoflow:
The grid contains information on the following items:
- Status – shows the type of changes applied to the document. The status can be one of the following:
- Added – a new document was created; indicated with a green circle
- Modified – changes to an existing document were made, such as adding or deleting elements or changing element properties; indicated with a yellow circle
- Deleted – a document was deleted; indicated with a red circle with a minus
- Conflicted – a document contains conflicting changes; indicated with a red circle with an exclamation mark
- Item – indicates a name of the changes document
- Module – a module where the changed document is
- Details – can contain details on the status, for example, when you have conflicting changes
Zoomed-In Level
You can zoom into a changed or conflicting document, by doing one of the following:
- Double-click a line in the grid on the top level
- Click the Go to button
- Press Enter
To exit the zoomed-in level, click the Back button or press Backspace.
There are three types of zoomed-in levels:
Each of them contains their own set of buttons.
Zoomed-In Level for Modified Documents
The zoomed-in level for modified documents is split into two grids, with elements on the left and changed properties on the right. If no properties were changed for an element, for example, when an element was added or deleted, the right grid will be empty:
The toolbar at this level contains the following buttons:
- Back – takes you back to the top level
- Go to – takes you directly to the changed element
- Show purely visual changes – shows visual changes, such as dragging an entity to a new location in the domain model
The left side of the grid contains the following columns:
- Element – the name of the modified element
- Mine – indicates the status of the change on the current development line
Zoomed-In Level for Conflicted Documents
The zoomed-in level for conflicted documents is split into two grids, with conflicting elements on the left and conflicting properties on the right.
There are two sorts of conflict:
- For a standard conflict a change has been made to the same element in each branch and Mendix cannot automatically choose which is the desired change after the merge
- For a list order conflict, denoted by the phrase (list order), Mendix can accept both changes but cannot automatically decide the order they should appear in the document
The toolbar at this level contains the following buttons:
- Back – takes you back to the top level
- Go to – takes you directly to the selected element
- Merge – start the merge process — instructions for resolving conflicts are in the document New Merge Algorithm with Fine-Grained Conflict Resolution
- Show purely visual changes – shows visual changes, such as dragging an entity to a new location in the domain model
The grid on the left contains the following columns
- Element – the name of the modified element or a header identifying whether the subsequent elements conflict or have been accepted
- Mine – indicates the status of the change on the current development line
- Theirs – the status of the incoming change on another development line
The grid on the right contains the following columns:
- Property – the property that was modified
- Original – the original property value
- Mine – the change to the property that was made on the current development line
- Theirs – the change to the property that was made on the other development line
Merge Mode
When you click Merge to start the merge mode, you will see options to resolve the conflicts. For more information on resolving resolving conflicts see New Merge Algorithm with Fine-Grained Conflict Resolution.
The document you are working on can be edited while in merge mode to allow you to resolve the conflict successfully.
The toolbar will change to show the following buttons:
- Back – takes you back to the top level
- Go to – takes you directly to the selected element
- Resolve using Mine – resolves the conflict by choosing the changes shown in the Mine column and discarding the changes shown in the Theirs column
- Resolve using Theirs – resolves the conflict by choosing the changes shown in the Theirs column and discarding the changes shown in the Mine column
- Mark as Resolved – either:
- keeps things as they were before the Mine and the Theirs changes were applied
- in the case of a list order conflict, takes the order of widgets as it is currently shown in the document (you can edit the document to ensure this is correct)
- Accept and Exit – the merge is finalized and the document is saved in its merged form with no conflicts
- Cancel – end merge mode and leave the document with one or more unresolved conflicts
- Show purely visual changes – shows visual changes, such as dragging an entity to a new location in the domain model
The left and right panes will contain the same information as in Zoomed-In Level for Conflicted Documents, above.