diff options
author | Tobias Hunger <tobias.hunger@digia.com> | 2013-10-14 15:38:00 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2013-10-15 16:53:58 +0200 |
commit | 741ab2cbfb6f61c08df41d7422d2d2f03be3c02f (patch) | |
tree | 535bbcd0163c8c02e38fa40c37aff4ef905bd9a5 /src/plugins/git/gitversioncontrol.cpp | |
parent | fe47725ae61be18f30911ecff57035b4c1c4bd79 (diff) | |
download | qt-creator-741ab2cbfb6f61c08df41d7422d2d2f03be3c02f.tar.gz |
Vcs: Remove snapshot support
The functionality is unused.
Change-Id: I45017106509b8dbff9f3eff3aaef6de19be31ce7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/git/gitversioncontrol.cpp')
-rw-r--r-- | src/plugins/git/gitversioncontrol.cpp | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/src/plugins/git/gitversioncontrol.cpp b/src/plugins/git/gitversioncontrol.cpp index ae5154e81e..b43c3b0a2d 100644 --- a/src/plugins/git/gitversioncontrol.cpp +++ b/src/plugins/git/gitversioncontrol.cpp @@ -35,9 +35,6 @@ #include <QFileInfo> -static const char stashMessageKeywordC[] = "IVersionControl@"; -static const char stashRevisionIdC[] = "revision"; - namespace Git { namespace Internal { @@ -131,96 +128,6 @@ QString GitVersionControl::vcsTopic(const QString &directory) return topic; } -/* Snapshots are implemented using stashes, relying on stash messages for - * naming as the actual stash names (stash{n}) are rotated as one adds stashes. - * Note that the snapshot interface does not care whether we have an unmodified - * repository state, in which case git refuses to stash. - * In that case, return a special identifier as "specialprefix:<branch>:<head revision>", - * which will trigger a checkout in restore(). */ - -QString GitVersionControl::vcsCreateSnapshot(const QString &topLevel) -{ - bool repositoryUnchanged; - // Create unique keyword - static int n = 1; - QString keyword = QLatin1String(stashMessageKeywordC) + QString::number(n++); - const QString stashMessage = - m_client->synchronousStash(topLevel, keyword, - GitClient::StashImmediateRestore - | GitClient::StashIgnoreUnchanged, - &repositoryUnchanged); - if (!stashMessage.isEmpty()) - return stashMessage; - if (repositoryUnchanged) { - // For unchanged repository state: return identifier + top revision - QString topRevision = m_client->synchronousTopRevision(topLevel); - if (topRevision.isEmpty()) - return QString(); - QString branch = m_client->synchronousTopic(topLevel); - const QChar colon = QLatin1Char(':'); - QString id = QLatin1String(stashRevisionIdC); - id += colon; - id += branch; - id += colon; - id += topRevision; - return id; - } - return QString(); // Failure -} - -QStringList GitVersionControl::vcsSnapshots(const QString &topLevel) -{ - QList<Stash> stashes; - if (!m_client->synchronousStashList(topLevel, &stashes)) - return QStringList(); - // Return the git stash 'message' as identifier, ignoring empty ones - QStringList rc; - foreach (const Stash &s, stashes) - if (!s.message.isEmpty()) - rc.push_back(s.message); - return rc; -} - -bool GitVersionControl::vcsRestoreSnapshot(const QString &topLevel, const QString &name) -{ - bool success = false; - do { - // Is this a revision or a stash - if (name.startsWith(QLatin1String(stashRevisionIdC))) { - // Restore "id:branch:revision" - const QStringList tokens = name.split(QLatin1Char(':')); - if (tokens.size() != 3) - break; - const QString branch = tokens.at(1); - const QString revision = tokens.at(2); - success = m_client->synchronousReset(topLevel); - if (success && !branch.isEmpty()) { - success = m_client->synchronousCheckout(topLevel, branch) && - m_client->synchronousCheckoutFiles(topLevel, QStringList(), revision); - } else { - success = m_client->synchronousCheckout(topLevel, revision); - } - } else { - // Restore stash if it can be resolved. - QString stashName; - success = m_client->stashNameFromMessage(topLevel, name, &stashName) - && m_client->synchronousReset(topLevel) - && m_client->synchronousStashRestore(topLevel, stashName, true); - } - } while (false); - return success; -} - -bool GitVersionControl::vcsRemoveSnapshot(const QString &topLevel, const QString &name) -{ - // Is this a revision -> happy - if (name.startsWith(QLatin1String(stashRevisionIdC))) - return true; - QString stashName; - return m_client->stashNameFromMessage(topLevel, name, &stashName) - && m_client->synchronousStashRemove(topLevel, stashName); -} - bool GitVersionControl::managesDirectory(const QString &directory, QString *topLevel) const { const QString topLevelFound = m_client->findRepositoryForDirectory(directory); |