Git: Factor source directory resolving to a function

Change-Id: Ica2f6ad01052fb7130397740fcf2396de7cbbf9d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Orgad Shaneh
2014-06-30 22:15:12 +03:00
committed by Orgad Shaneh
parent 9b11b0ef39
commit a0c7b208cc
2 changed files with 14 additions and 11 deletions

View File

@@ -206,15 +206,13 @@ void GitEditor::commandFinishedGotoLine(bool ok, int exitCode, const QVariant &v
void GitEditor::checkoutChange() void GitEditor::checkoutChange()
{ {
const QFileInfo fi(source()); GitPlugin::instance()->gitClient()->stashAndCheckout(
const QString workingDirectory = fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath(); sourceWorkingDirectory(), m_currentChange);
GitPlugin::instance()->gitClient()->stashAndCheckout(workingDirectory, m_currentChange);
} }
void GitEditor::resetChange() void GitEditor::resetChange()
{ {
const QFileInfo fi(source()); const QString workingDir = sourceWorkingDirectory();
const QString workingDir = fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath();
GitClient *client = GitPlugin::instance()->gitClient(); GitClient *client = GitPlugin::instance()->gitClient();
if (client->gitStatus(workingDir, StatusMode(NoUntracked | NoSubmodules)) if (client->gitStatus(workingDir, StatusMode(NoUntracked | NoSubmodules))
@@ -232,16 +230,14 @@ void GitEditor::resetChange()
void GitEditor::cherryPickChange() void GitEditor::cherryPickChange()
{ {
const QFileInfo fi(source()); GitPlugin::instance()->gitClient()->synchronousCherryPick(
const QString workingDirectory = fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath(); sourceWorkingDirectory(), m_currentChange);
GitPlugin::instance()->gitClient()->synchronousCherryPick(workingDirectory, m_currentChange);
} }
void GitEditor::revertChange() void GitEditor::revertChange()
{ {
const QFileInfo fi(source()); GitPlugin::instance()->gitClient()->synchronousRevert(
const QString workingDirectory = fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath(); sourceWorkingDirectory(), m_currentChange);
GitPlugin::instance()->gitClient()->synchronousRevert(workingDirectory, m_currentChange);
} }
void GitEditor::stageDiffChunk() void GitEditor::stageDiffChunk()
@@ -402,5 +398,11 @@ QString GitEditor::fileNameForLine(int line) const
return source(); return source();
} }
QString GitEditor::sourceWorkingDirectory() const
{
const QFileInfo fi(source());
return fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath();
}
} // namespace Internal } // namespace Internal
} // namespace Git } // namespace Git

View File

@@ -77,6 +77,7 @@ private:
QString revisionSubject(const QTextBlock &inBlock) const; QString revisionSubject(const QTextBlock &inBlock) const;
bool supportChangeLinks() const; bool supportChangeLinks() const;
QString fileNameForLine(int line) const; QString fileNameForLine(int line) const;
QString sourceWorkingDirectory() const;
mutable QRegExp m_changeNumberPattern; mutable QRegExp m_changeNumberPattern;
QString m_currentChange; QString m_currentChange;