Commit Graph

25 Commits

Author SHA1 Message Date
Tobias Hunger
6fb754e646 VCS: Add id to IVersionControl
... and all derived classes
2011-04-20 15:50:29 +02:00
Tobias Hunger
bcd8740a6e VCS: Notify project wizard about config changes
... and have the project wizard update the available VCS.

Task-number: QTCREATORBUG-4423
2011-04-15 17:45:34 +02:00
Tobias Hunger
c07e213399 VCS: Do not claim to support any operation if unconfigured
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.
2011-04-15 16:06:38 +02:00
Tobias Hunger
aca291ff3e CVS: Remove useless virtual keywords and members 2011-04-15 16:06:36 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
Tobias Hunger
2cf9910070 Fixup formating of mr2178
Merge-request: 2178
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2010-09-29 12:29:13 +02:00
Tuomas Puranen
65e95c3aba Added few new functions to IVersionControl, VCSManager and GeneratedFile to support the funcationality needed by the trac plugin.
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>
2010-09-29 12:29:12 +02:00
Friedemann Kleint
cc533b40c8 VCS[CVS]: Complement menu options, support 'edit'.
Add missing menu options for project/repository actions. Add support for
'edit' (current file) and 'unedit' (current file/repository, with
prompt).
Note: Unediting modified files will only work with cvsnt, since it uses
the '-y' option to force a 'yes' to CVS asking to revert changes.
Implement IVersionControl::vcsOpen() by using 'edit', causing it to
prompt for read-only as it does for Perforce.

Task-number: QTCREATORBUG-1971
Task-number: QTCREATORBUG-1864
2010-08-06 16:12:31 +02:00
Friedemann Kleint
7003b82e2b Version control: Improve detection.
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
2010-05-20 16:24:56 +02:00
dt
88e4917b2e Fix warning about unused parameters 2010-05-17 13:12:19 +02:00
dt
9bc9fe73e1 File renaming
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.
2010-05-12 14:14:44 +02:00
Friedemann Kleint
751d7d043c VCS: Add 'Annotate' context menu entry to build issues task window. 2010-03-19 17:22:53 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Friedemann Kleint
9ac98a402c VCS[git]: Add support for stashes.
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.
2010-01-15 12:28:22 +01:00
Friedemann Kleint
d5271a086d VCS[hg, git]: Add support for repository creation.
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.
2010-01-12 16:45:21 +01:00
Tobias Hunger
a6ad773722 Make method naming more consistent.
* 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
2010-01-07 18:17:24 +01:00
Friedemann Kleint
7ce3683143 CVS: Use new VCSBasePlugin-class.
Make the diff-base directory a property of VCSBaseEditor and use
everywhere.
2009-12-09 12:41:10 +01:00
Friedemann Kleint
8097879d6d VCS: Introduce Base class for VCS plugins, use in git.
Fixes:
- Cannot diff a file that does not belong to a project
- Cannot commit when a temporary diff/log view is open
  due to the current file pointing to a temporary directory
- git's project-related actions not passing the correct
  relative path.

Implementation:
- Centralize code to listen for Qt Creator's relevant state changes
  in VCSBasePlugin, dispatching the changes to the instances affected.
  (avoiding multiple invocations of searches/QFileInfo on current).
- Do the same for the corelistener catching closing SubmitEditors.
- Introduce VCSBasePluginState representing the relevant state
  (current file/project).
- Call git with working directory set and relative arguments
- Remove setEnabled/isEnabled() logic of IVersionControl
- Pass toplevel from VCSManager to avoid duplicate searches.
2009-12-08 14:26:41 +01:00
Friedemann Kleint
8335a06ed4 Code model: Update on changes from the versioning system.
Add changed signals to IVersionControl and
VCSManager and wire them to the update methods. Add a menu action for
manually updating. Improved version of reverted
7aa2411693.

Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2009-11-11 14:32:54 +01:00
con
e4b1a25dd2 Revert "Code model: Update on changes from the versioning system."
This reverts commit 7aa2411693.
It breaks the code model updates completely. So reverting this change
until we have the right thing.

Reviewed-by: Roberto Raggi
2009-11-10 18:19:37 +01:00
Friedemann Kleint
7aa2411693 Code model: Update on changes from the versioning system.
Add state logic to CppCodeModelManagerInterface, making it aware whether
an indexer is running, protect the update methods from another
invocation while running. Add changed signals to IVersionControl and
VCSManager and wire them to the update methods. Add a menu action for
manually updating.

Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: con <qtc-committer@nokia.com>
2009-11-09 15:57:56 +01:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
Friedemann Kleint
18f9375501 Add a CVS plugin for use with UNIX cvs or Tortoise CVS. 2009-07-15 12:28:40 +02:00