Make sure none of the VCS systems claims it does support any
VCS operation while unconfigured. This stops the specific
VCS from showing up in wizards, etc. till they can actually
be used.
All the version control plugins updated to have implementations according to the interface changes.
Merge-request: 2178
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Merge-request: 2178
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Merge managesDirectory() and findTopLevelForDirectory()
into one giving managesDirectory() an optional topLevel
parameter. This removes the need to go up the directory
hierarchy twice when checking for Merurial or git and also
saves some checks for CVS/Subversion.
VCSManager: Check cache in reverse order starting out with
the full path first to improve handling of nested repositories.
Rubber-stamped-by: con
Acked-by: dt
Reviewed-By: con
Reviewed-By: Friedemann Kleint
We now support renaming files. The version control system tries first to
rename, if that doesn't support or can't rename the file we do a normal
rename. (Note: git, hg, perforce > 2009.02 support renaming, cvs not.
(perforce untested)). We correctly notify all editors of the renamed
file and tell the project manager to rename the file in the project.
Note: Only the qt4projectmanager knows how to rename files.
Note: renaming folders, moving files to different folders, renaming
.pro/.pri files is not supported. Those things can be later added after
this has proven to work correctly in the simple case.
Also we don't do any actions based on the renaming like renaming
classes, changing include guards or #include lines.
Add non-modal stash management dialog and additional menu option
"Stash snapshot..." to stash away changes prompting for a description,
which will immediately replay the stash (take snapshot and continue
working).
Add interface to IVersionControl for creating/restoring/deleting
snapshots for backup/complex undo operations (currently supported
by git only). Add test options to VCSBasePlugin.
Clean up and extend git client accordingly.
Add repository creation operation to IVersionControl, implement for hg
and git, add convenience slot with prompts to VCSBasePlugin.
Add respective menu options and make menus are visible in case no VCS is
active.
Change project wizards extension page to list VCS that are capable of
repository creation in a QComboBox in case the directory is not managed
by another VCS (in which case it lists that one for operation 'add').
On that occasion, polish the Project selection to use a QComboBox as
well and add some smartness to find the most suitable project to add via
path matching.
* Use id() for methods returning a string used to represent
some type of object.
* Use displayName() for strings that are meant to be user
visible.
* Quieten some warnings while touching the files anyway.
* Move Factories to their products in the plugins where that
was not done before.
Reviewed-by: dt