diff --git a/doc/qtcreator-vcs-annotate.png b/doc/qtcreator-vcs-annotate.png
new file mode 100644
index 0000000000000000000000000000000000000000..87b7ed117352fe8b04cf6ce032560a5e93a3eb93
Binary files /dev/null and b/doc/qtcreator-vcs-annotate.png differ
diff --git a/doc/qtcreator-vcs-commit.png b/doc/qtcreator-vcs-commit.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c58ad57732edbbd1d83f96dce548ffd65c34bf9
Binary files /dev/null and b/doc/qtcreator-vcs-commit.png differ
diff --git a/doc/qtcreator-vcs-describe.png b/doc/qtcreator-vcs-describe.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0949b1e59e657fa34f1f9c926eae082533973af
Binary files /dev/null and b/doc/qtcreator-vcs-describe.png differ
diff --git a/doc/qtcreator-vcs-diff.png b/doc/qtcreator-vcs-diff.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdb9a0f5da83259e30a92995bba2349349cef858
Binary files /dev/null and b/doc/qtcreator-vcs-diff.png differ
diff --git a/doc/qtcreator-vcs-gitbranch.png b/doc/qtcreator-vcs-gitbranch.png
new file mode 100644
index 0000000000000000000000000000000000000000..398de10ee6595f196b5dac31407a310c1b201f31
Binary files /dev/null and b/doc/qtcreator-vcs-gitbranch.png differ
diff --git a/doc/qtcreator-vcs-log.png b/doc/qtcreator-vcs-log.png
new file mode 100644
index 0000000000000000000000000000000000000000..e74cd3dade8ba9bffbb30affe5a688fbdd38d315
Binary files /dev/null and b/doc/qtcreator-vcs-log.png differ
diff --git a/doc/qtcreator-vcs-pane.png b/doc/qtcreator-vcs-pane.png
new file mode 100644
index 0000000000000000000000000000000000000000..faea0cf32e1a20cfceb71e79274d694cfdb04354
Binary files /dev/null and b/doc/qtcreator-vcs-pane.png differ
diff --git a/doc/qtcreator.qdoc b/doc/qtcreator.qdoc
index c8125fabd85a64056e83bb77b6a231d7d2662d69..68dc857c0ae0a0e907163d271006dd205d4ae3eb 100644
--- a/doc/qtcreator.qdoc
+++ b/doc/qtcreator.qdoc
@@ -53,6 +53,7 @@
        \o \l{Build Settings}
        \o \l{Qt Version Management}
        \o \l{Writing a Simple Program with Qt Creator}
+       \o \l{Qt Creator and Version Control Systems}
        \o \l{Navigating Quickly Around Your Code with Locator}
        \o \l{Debugging with Qt Creator}
        \o \l{Tips and Tricks}
@@ -846,7 +847,7 @@
     will be displayed.
 
     \image qtcreator-vcs-log.png
-    \image qtcreaotr-vcs-describe.png
+    \image qtcreator-vcs-describe.png
 
 
     \section2 Annotating Files
@@ -881,8 +882,18 @@
             \i  \gui{Stash}
             \i  Stash local changes prior to executing a \bold{pull}.
         \row
-            \i
-            \i
+            \i  \gui{Pull}
+            \i  Pull changes from the remote repository. If there are locally
+                modified files, you will be prompted to stash those changes.
+        \row
+            \i  \gui{Branches...}
+            \i  Displays the branch dialog showing the local branches at the
+                top and remote branches at the bottom. To switch to the local
+                branch, simply double-click on it. Double-clicking on a remote
+                branch will first create a local branch with the same name that
+                tracks the remote branch, and then switch to it.
+
+                \image qtcreator-vcs-gitbranch.png
     \endtable
 
 */
diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index e2840fb718058aab2710f7b57431ae1fa0ccc8cd..7b0e6c24273b37bf50216f8b1d113fa56396dec0 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -94,7 +94,7 @@ DebuggerSettings::DebuggerSettings()
     m_skipKnownFrames = false;
     m_debugDumpers = false;
     m_useToolTips = false;
-    m_useToolTips = false;
+    m_useTerminal = false;
     m_useCustomDumpers = true;
 }
 
diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h
index f3d76bb531eb4865331f5d369e7c4c5e6fc71cc6..5d5e7abd0da7f5e475fde605698004d4d4aa9cd0 100644
--- a/src/plugins/debugger/debuggermanager.h
+++ b/src/plugins/debugger/debuggermanager.h
@@ -200,6 +200,7 @@ public:
     bool m_debugDumpers;
     bool m_useFastStart;
     bool m_useToolTips;
+    bool m_useTerminal;
 
     QString m_scriptFile;
 };
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 3f12a02910611cb6a29c6d2e2768936b4bfb7d3a..204345a0220d35fa2ec4f00bed50dbf4f960b33b 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -277,6 +277,7 @@ QWidget *GdbOptionPage::createPage(QWidget *parent)
     m_ui.checkBoxUseCustomDumpers->setChecked(m_settings.m_useCustomDumpers);
     m_ui.checkBoxFastStart->setChecked(m_settings.m_useFastStart);
     m_ui.checkBoxUseToolTips->setChecked(m_settings.m_useToolTips);
+    m_ui.checkBoxUseTerminal->setChecked(m_settings.m_useTerminal);
 
 #ifndef QT_DEBUG
 #if 0
@@ -315,6 +316,7 @@ void GdbOptionPage::apply()
     m_settings.m_useCustomDumpers = m_ui.checkBoxUseCustomDumpers->isChecked();
     m_settings.m_useFastStart = m_ui.checkBoxFastStart->isChecked();
     m_settings.m_useToolTips = m_ui.checkBoxUseToolTips->isChecked();
+    m_settings.m_useTerminal = m_ui.checkBoxUseTerminal->isChecked();
 
     *m_plugin->m_manager->settings() = m_settings;
     m_plugin->writeSettings();
@@ -897,6 +899,7 @@ void DebuggerPlugin::writeSettings() const
 
     s->setValue("UseFastStart", m->m_useFastStart);
     s->setValue("UseToolTips", m->m_useToolTips);
+    s->setValue("UseTerminal", m->m_useTerminal);
     s->setValue("UseCustomDumpers", m->m_useCustomDumpers);
     s->setValue("SkipKnowFrames", m->m_skipKnownFrames);
     s->setValue("DebugDumpers", m->m_debugDumpers);
@@ -930,6 +933,7 @@ void DebuggerPlugin::readSettings()
     m->m_useCustomDumpers = s->value("UseCustomDupers", false).toBool();
     m->m_useFastStart = s->value("UseFastStart", false).toBool();
     m->m_useToolTips = s->value("UseToolTips", false).toBool();
+    m->m_useTerminal = s->value("UseTerminal", false).toBool();
     s->endGroup();
 
     m_manager->mainWindow()->restoreState(ba);
diff --git a/src/plugins/debugger/gdboptionpage.ui b/src/plugins/debugger/gdboptionpage.ui
index 757ed1d70234a55c35e4f76bf4a9d26e67b480b7..dcd5744335028aed9ba39145733e2d222d153695 100644
--- a/src/plugins/debugger/gdboptionpage.ui
+++ b/src/plugins/debugger/gdboptionpage.ui
@@ -84,6 +84,16 @@
      </property>
     </widget>
    </item>
+   <item>
+    <widget class="QCheckBox" name="checkBoxUseTerminal">
+     <property name="toolTip">
+      <string>Start debugged process in a separte terminal.</string>
+     </property>
+     <property name="text">
+      <string>Start in terminal</string>
+     </property>
+    </widget>
+   </item>
    <item>
     <widget class="QCheckBox" name="checkBoxFastStart">
      <property name="toolTip">