Commit 49d7045c authored by Riitta-Leena Miettinen's avatar Riitta-Leena Miettinen
Browse files

Doc: Move vcs-system specific sections to separate topics



This is done in preparation for moving some Qt Creator
plugins and their documentation into their own repositories.

All the changes have to do with the structure of the documentation.
There are no content changes, except removing headings or changing
them to better fit the new structure and adding some leading
sentences or links.

Change-Id: I1499187121a1a1cc3c6b635801fb540ac439fd0b
Reviewed-by: Jaroslaw Kobus's avatarJarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Orgad Shaneh's avatarOrgad Shaneh <orgads@gmail.com>
Reviewed-by: default avatarHugues Delorme <delorme.hugues@fougue.pro>
parent 0e12c51d
......@@ -164,6 +164,15 @@
\endlist
\endlist
\li \l{Using Version Control Systems}
\list
\li \l{Using Bazaar}
\li \l{Using ClearCase}
\li \l{Using CVS}
\li \l{Using Git}
\li \l{Using Mercurial}
\li \l{Using Perforce}
\li \l{Using Subversion}
\endlist
\li \l{Configuring Projects}
\list
\li \l{Adding Kits}
......
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage {Qt Creator Manual}
\previouspage creator-version-control.html
\page creator-vcs-bazaar.html
\nextpage creator-vcs-clearcase.html
\title Using Bazaar
Bazaar is a free version control system sponsored by Canonical.
The \uicontrol Bazaar submenu contains the following additional items:
\table
\header
\li Menu Item
\li Description
\row
\li \uicontrol Pull
\li Turn the branch into a mirror of another branch.
\row
\li \uicontrol Push
\li Update a mirror of the branch.
\row
\li \uicontrol Uncommit
\li Remove the last committed revision.
\endtable
\section1 Uncommitting Revisions
In Bazaar, committing changes to a branch creates a new revision that holds
a snapshot of the state of the working tree. To remove the last committed
revision, select \uicontrol Tools > \uicontrol Bazaar > \uicontrol Uncommit.
In the \uicontrol Uncommit dialog, select options to keep tags that point to
removed revisions and to only remove the commits from the local branch when
in a checkout.
To remove all commits up to an entry in the revision log, specify the
revision in the \uicontrol Revision field.
To test the outcome of the \uicontrol Uncommit command without actually
removing anything, select \uicontrol {Dry Run}.
\uicontrol Uncommit leaves the working tree ready for a new commit. The only
change it might make is restoring pending merges that were present before
the commit.
*/
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage {Qt Creator Manual}
\previouspage creator-vcs-bazaar.html
\page creator-vcs-clearcase.html
\nextpage creator-vcs-cvs.html
\title Using ClearCase
IBM Rational ClearCase is a version control, workspace management, parallel
development support, and build automation solution developed by IBM. The
ClearCase client plugin is available on Linux and Windows for accessing a
ClearCase server.
\section1 Using GNU Diffutils with ClearCase
You can use the GNU Diffutils tool With ClearCase to compare files and
activities:
\list 1
\li Download \l{http://gnuwin32.sourceforge.net/packages/diffutils.htm}
{Diffutils} and extract it to a directory in your PATH.
\li Select \uicontrol Tools > \uicontrol Options >
\uicontrol {Version Control} > \uicontrol ClearCase.
\li Select the \uicontrol External radio button. The radio button is
disabled if \c diff is not found in the PATH.
\li In the \uicontrol Arguments field, specify arguments for running
\c diff.
\endlist
\section1 Using Additional ClearCase Functions
The \uicontrol ClearCase submenu contains the following additional items:
\table
\header
\li Menu Item
\li Description
\row
\li \uicontrol{Check In}
\li Create a permanent new version of the current file or all files
in the versioned object base (VOB).
\row
\li \uicontrol{Check In Activity}
\li Check in checked-out versions in the change set of the current
Unified Change Management (UCM) activity.
\row
\li \uicontrol{Check Out}
\li Create a writable copy of a branch. If you check out files in a
UCM view, they are added to the change set of the UCM activity.
\row
\li \uicontrol{Undo Check Out}
\li Cancel the checkout for a file and delete the checked-out
version.
\row
\li \uicontrol{Undo Hijack}
\li Resolve hijacked files. If you change the read-only attribute of
a file that is loaded into a snapshot view and modify the file
without checking it out, you \e hijack the file.
\endtable
*/
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage {Qt Creator Manual}
\previouspage creator-vcs-clearcase.html
\page creator-vcs-cvs.html
\nextpage creator-vcs-git.html
\title Using CVS
CVS is an open source version control system.
In addition to the standard version control system functions, you can
select \uicontrol Tools > \uicontrol CVS > \uicontrol Edit to open a file
for editing.
To discard the changes that you made in a file, select \uicontrol Unedit.
*/
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage {Qt Creator Manual}
\previouspage creator-vcs-cvs.html
\page creator-vcs-git.html
\nextpage creator-vcs-mercurial.html
\title Using Git
Git is a fast decentralized version control system. Git is available
for Windows, Linux and Mac.
You can use the \l{http://code.google.com/p/gerrit/}{Gerrit} code review
tool for projects that use Git.
\section1 Using msysGit on Windows
If you configure Git for use with \c {git bash}, only, and use SSH
authorization, Git looks for the SSH keys in the directory where the
\c HOME environment points to. The variable is always set by \c {git bash}.
However, the variable is typically not set in a Windows command prompt. When
you run Git from a Windows command prompt, it looks for the SSH keys in its
installation directory, and therefore, the authorization fails.
You can set the \c HOME environment variable from \QC. Select
\uicontrol Tools > \uicontrol Options > \uicontrol {Version Control} >
\uicontrol Git. Select the \uicontrol {Environment Variables}
and the \uicontrol {Set "HOME" environment variable} check boxes. \c HOME is
set to \c %HOMEDRIVE%%HOMEPATH% when the Git executable is run and
authorization works as it would with \c {git bash}.
\section1 Reverting Changes Using Git
The Git version control system has an index that is used to stage
changes. The index is committed on the next commit. Git allows you to revert
back to the state of the last commit as well as to the state staged in the
index.
\list
\li \uicontrol Git > \uicontrol {Current File} >
\uicontrol{Undo Unstaged Changes} reverts all changes and resets the
current file to the state of the index.
\li \uicontrol Git > \uicontrol {Current File} >
\uicontrol {Undo Uncommitted Changes} reverts all changes,
discarding the index. This returns the current file to the state it
was in right after the last commit.
\li \uicontrol Git > \uicontrol {Local Repository} > \uicontrol Reset
opens a dialog where you can select the SHA-1 to reset the working
directory to. This is useful after applying patches for review, for
example. You can choose between a \uicontrol Soft reset that does
not touch the index file nor the working tree at all, a
\uicontrol Hard reset that discards all changes to tracked files in
working tree, and a \uicontrol Mixed reset that resets HEAD and the
index (nothing remains staged) without touching the working
directory.
\endlist
\section1 Working with the Current File
In addition to the standard version control system functions, you can
select \uicontrol Tools > \uicontrol Git > \uicontrol {Current File} >
\uicontrol {Stage File for Commit} to mark a new or modified file for
committing to the repository.
To undo this function, select \uicontrol {Unstage File from Commit}.
\section1 Working with the Current Project
In addition to the standard version control system functions, you can
select \uicontrol Tools > \uicontrol Git > \uicontrol {Current Project} >
\uicontrol {Clean Project}
to clean the working directory. All files that are not under version control
are displayed in the \uicontrol {Clean Repository} dialog. Ignored files are
deselected by default. Select the files to delete and click
\uicontrol Delete.
\section1 Working with Local Repositories
In addition to the standard version control system functions, you can
select \uicontrol Tools > \uicontrol Git > \uicontrol {Local Repository} >
\uicontrol Clean to clean the repository.
To apply latest changes to the last commit, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Local Repository} >
\uicontrol {Amend Last Commit}. You can also edit the commit message.
To amend an earlier comment in a series of related commits, select
\uicontrol Tools > \uicontrol Git > \uicontrol {Local Repository} >
\uicontrol {Fixup Previous Commit}. This operation is done using interactive
rebase. In case of conflicts, a merge tool is suggested.
To change a series of commits in the local repository, select
\uicontrol Tools > \uicontrol Git > \uicontrol {Local Repository} >
\uicontrol {Interactive Rebase}. You can reorder or discard commits, squash
them into a single commit, or edit the commit messages.
The following sections describe how to manage local and remote branches,
apply patches, and use stashes.
\section2 Working with Branches
To work with Git branches, select \uicontrol Tools > \uicontrol Git >
\uicontrol {Local Repository} > \uicontrol {Branches}. The checked out
branch is shown in bold and underlined in the list of branches. Double-click
branch names to edit them.
\image qtcreator-vcs-gitbranch.png "Branches dialog"
The following operations are supported:
\table
\header
\li Menu Item
\li Description
\row
\li \uicontrol{Refresh}
\li Refresh the list of branches.
\row
\li \uicontrol{Add}
\li Create new tracking and non-tracking branches.
\row
\li \uicontrol{Remove}
\li Remove a local branch. You cannot delete remote branches.
\row
\li \uicontrol Rename
\li Rename a local branch.
\row
\li \uicontrol{Checkout}
\li Check out the selected branch and make it current. You can stash
changes you have made to tracked files.
\row
\li \uicontrol{Diff}
\li Show the differences between the selected and the current
branch.
\row
\li \uicontrol{Log}
\li Show the changes in a branch.
\row
\li \uicontrol Merge
\li Join the development histories in two branches together.
If the commit you are merging can be reached by following the
first commit's history, there is no divergent work to merge
together. To allow Git to move the branch pointer forward,
select \uicontrol {Fast-Forward}. If you do not want to
fast-forward the branch, select \uicontrol {No Fast-Forward}.
\row
\li \uicontrol Rebase
\li Copy local commits to the updated upstream head.
\row
\li \uicontrol Reset
\li Hard reset the active branch to the selected branch.
\row
\li \uicontrol {Cherry Pick}
\li Cherry pick the top commit from the selected branch.
\row
\li \uicontrol Track
\li Set the current branch to track the selected one.
\endtable
\section2 Applying Patches
Patches are rewriting instructions that can be applied to a set of files.
To apply a patch file that is open in \QC, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Local Repository} > \uicontrol Patch >
\uicontrol {Apply from Editor}.
To select the patch file to apply from the file system, select
\uicontrol {Apply from File}.
\section2 Using Stashes
With Git, you can put your current set of changes onto a virtual shelf
called a \e stash. Stashes are useful, for example, to put aside a set of
changes to work on higher priority tasks or to pull in new chages from
another repository.
To stash all local changes, select \uicontrol Tools > \uicontrol Git >
\uicontrol {Local Repository} > \uicontrol Stash > \uicontrol Stash. The
working copy is reset to the state it had after the last commit. To save the
current state of your unstaged files and reset the repository to its staged
state, select \uicontrol {Stash Unstaged Files}.
To display a dialog that shows all known stashes with options to restore,
display or delete them, select \uicontrol Stashes.
To save a snapshot of your current work under a name for later reference,
select \uicontrol {Take Snapshot}. The working copy is unchanged. For
example, if you want to try something and find out later that it does not
work, you can discard the changes and return to the state of the snapshot.
To remove a single stashed state from the stash list and apply it on top of
the current working tree state, select \uicontrol {Stash Pop}.
\section1 Applying Actions to Commits
To browse a directory or the commit history and to apply actions on the
commits, select \uicontrol Tools > \uicontrol Git >
\uicontrol {Actions on Commits}. You can checkout, revert, or cherry-pick
commits or view them in the diff editor.
\image creator-git-commit-actions.png "Select a Git Commit dialog"
\section1 Working with Remote Repositories
In addition to the standard version control system functions, you can
select \uicontrol Tools > \uicontrol Git > \uicontrol {Remote Repository} >
\uicontrol Pull topull changes from the remote repository. If there are
locally modified files, you are prompted to stash the changes. Select
\uicontrol Tools > \uicontrol Options > \uicontrol {Version Control} >
\uicontrol Git and then select the \uicontrol {Pull with rebase} check box
to perform a rebase operation while pulling.
\section2 Managing Remote Repositories
To manage remote repositories available in Git, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Remote Repository} >
\uicontrol{Manage Remotes}. Double-click the names and URLs of the remote
repositories to edit them.
The following operations are supported:
\table
\header
\li Menu Item
\li Description
\row
\li \uicontrol{Refresh}
\li Refresh the list of remote repositories.
\row
\li \uicontrol{Add}
\li Add a new remote repository.
\row
\li \uicontrol{Fetch}
\li Fetch all the branches and change information from a remote
repository.
\row
\li \uicontrol Push
\li Push committed changes to the remote repository.
\row
\li \uicontrol{Remove}
\li Remove a remote repository.
\endtable
\section2 Using Git with Subversion
You can use Git as a client for a Subversion server. To fetch changes from a
Subversion repository to a Git repository, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Remote Repository} > \uicontrol Subversion >
\uicontrol Fetch.
To view the Git Subversion log, select \uicontrol Log.
\section2 Reviewing Code with Gerrit
If your Git project uses Gerrit for code reviews, you can view your changes
in \QC.
Select \uicontrol Tools > \uicontrol Options > \uicontrol {Version Control}
> \uicontrol Gerrit to specify the connection to the Gerrit server.
\image qtcreator-gerrit-options.png
To push committed changes to Gerrit, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Remote Repository} >
\uicontrol {Push to Gerrit}.
To view the same information about each change as in the Gerrit
web interface, select \uicontrol Tools > \uicontrol Git >
\uicontrol {Remote Repository} > \uicontrol Gerrit.
\image qtcreator-gerrit.png
To view details of the selected change, select \uicontrol Show.
To cherry-pick the selected change to the local repository, select
\uicontrol {Cherry Pick}. To remove the change after testing it, select
\uicontrol Tools > \uicontrol Git > \uicontrol {Local Repository} >
\uicontrol Reset. In the \uicontrol {Undo Changes to} dialog, select the
state to reset the working directory to, and then select \uicontrol OK.
To check out the change in a headless state, select \uicontrol Checkout.
To refresh the list of changes, select \uicontrol Refresh.
\section1 Working with Git Tools
To start a graphical interface to Git, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Git Tools} > \uicontrol {Git Gui}.
\note On \macos, the default Git installation does not contain Git Gui. To
use Git Gui, install it separately. To start Git Gui from \QC, select
\uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Git, and
set the path to the environment that contains Git Gui in the
\uicontrol {Prepend to PATH} field.
To start the commit viewer for Git, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Git Tools} > \uicontrol Gitk. You can also
start the tool to view commits in the current document or in the folder that
contains the current document. To specify arguments for running Gitk, select
\uicontrol Tools > \uicontrol Options > \uicontrol {Version Control} >
\uicontrol Git.
To use some other application for viewing Git history, such as GitX or
QGit viewer, select \uicontrol Tools > \uicontrol Options >
\uicontrol {Version Control} > \uicontrol Git and specify the path to the
application executable in the \uicontrol {Command} field. To start the
application, select \uicontrol Tools > \uicontrol Git
> \uicontrol {Git Tools} > \uicontrol {Repository Browser}.
To resolve merge conflicts, select \uicontrol Tools > \uicontrol Git >
\uicontrol {Git Tools} > \uicontrol {Merge Tool}.
*/
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage {Qt Creator Manual}
\previouspage creator-vcs-git.html
\page creator-vcs-mercurial.html
\nextpage creator-vcs-perforce.html
\title Using Mercurial
Mercurial is a free, distributed source control management tool.
The \uicontrol Mercurial submenu contains the following additional items:
\table
\header
\li Menu Item