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.
This commit is contained in:
Friedemann Kleint
2010-01-15 12:24:06 +01:00
parent cbaa9b9fc0
commit 9ac98a402c
23 changed files with 1559 additions and 95 deletions

View File

@@ -34,7 +34,8 @@
#include <extensionsystem/iplugin.h>
#include <QSharedDataPointer>
#include <QtCore/QSharedDataPointer>
#include <QtCore/QList>
QT_BEGIN_NAMESPACE
class QAction;
@@ -149,6 +150,9 @@ public:
const VCSBasePluginState &currentState() const;
Core::IVersionControl *versionControl() const;
// For internal tests: Create actions driving IVersionControl's snapshot interface.
QList<QAction*> createSnapShotTestActions();
public slots:
// Convenience slot for "Delete current file" action. Prompts to
// delete the file via VCSManager.
@@ -175,6 +179,10 @@ protected:
private slots:
void slotSubmitEditorAboutToClose(VCSBaseSubmitEditor *submitEditor, bool *result);
void slotStateChanged(const VCSBase::Internal::State &s, Core::IVersionControl *vc);
void slotTestSnapshot();
void slotTestListSnapshots();
void slotTestRestoreSnapshot();
void slotTestRemoveSnapshot();
private:
VCSBasePluginPrivate *d;