User Interface Specification: VCS File View
Author: Filip Rachunek
$Revision: 1.2 $
Document History: available in
CVS
- Abstract: This document is specification of displaying version
information in the source editor.
- Contents:
- 1 Introduction
- 1.1 Overview of Functionality
- 1.2 Context
- 2 User View
- 2.1 Description of the Users
- 2.2 Scenario
- 3 System-Wide UI Impact
- 4 Detailed Spec
- 4.1 VCS File View
- 5 Notes
VCS File View is a new file view that appears as a new tab
in the source editor window. It allows user to select any version of the
opened file and copy it to the local version or make a diff between any versions
and display the result.
VCS File View adds a new "History" tab into the source editor which
displays all available views of the opened file in separated panels of tabbed
pane. It means that "History" tab is shown only if the corresponding file
comes from a VCS filesystem. It uses the Versioning Explorer functionality
to display version trees of the file and it also takes advantage of the Diff
module to perform a diff command between any two versions of the file to
display all differences.
VCS File View should be designed to be user-friendly to all
kinds of possible users:
- People who have no experiences with any
VCS tool
- People who only want to browse and display
file versions
- People who want to browse file versions,
display them and make diffs between them
The user opens a file from a VCS filesystem, the IDE adds a
new file tab to the source editor and displays tabs of all available views
of this file. One of this tab is named "History" and shows the versioning
information of the file [see Figure 1].
The History view contains two version trees and the corresponding editor
panes. When the user selects a particular version in the tree, the module
loads this version from VCS repository, then displays it in the editor pane.
By default, local version of the file is selected in both trees. If different
versions are selected in the first and the second tree, the module performs
a diff command and shows the differences in the same way as a graphical
diff command does.
VCS File View affects the source editor by adding a new view tab to
all files opened from a VCS filesystem.
Figure 1 - History View
This view displays version trees of the opened file, allows the
user to choose any particular version and display its content in the bottom
editor pane. Moreover, two different versions of the same file can be selected
[one in the left and one in the right side of this view] and the tool shows
all differences in the same way the graphical diff panel does.
The view also offers navigation buttons to browse version differences
[first, previous, next, last].
Open Issues
- Show all versioning components in one panel
[see Figure 1] or split them into several sub-tabbed-panes by their functionality?
[see how JBuilder works with VCS files]
- Should the History view allow the user to merge
the selected version with the corresponding local file? [e.g. add "Merge
With Local Version" button under each editor pane]