diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-08-15 10:44:15 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-08-18 14:05:53 +0000 |
commit | 20f0c38190fb853b92066901ab8f543bfe80c84f (patch) | |
tree | 1419dbf7a343a340b16dc040fd1c8f95e5dcc281 /doc | |
parent | a26612b9e3e86ccaff93a75cf83c4a2621e1dbf4 (diff) |
Introduce the vcs module
Every once in a while, users ask how they can best achieve to get access
to their current git HEAD, so we provide a module that does it for them.
[ChangeLog] Added the vcs module to provide VCS repository information.
Git and Subversion are supported initially.
Change-Id: Ib425547bf9f04406cda35bf81bcb878f6ea4b9ce
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/reference/modules/vcs-module.qdoc | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/doc/reference/modules/vcs-module.qdoc b/doc/reference/modules/vcs-module.qdoc new file mode 100644 index 000000000..ed71d0a46 --- /dev/null +++ b/doc/reference/modules/vcs-module.qdoc @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $QT_BEGIN_LICENSE:FDL$ +** 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. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \contentspage index.html + \page vcs-module.html + \ingroup list-of-modules + + \title Module vcs + \since 1.10 + \brief Provides support for version control systems + + The \c vcs module provides the current state of the project's repository via the + \c repoState property. By default, a \c C header is also generated, allowing for + simple retrieval of the repository state directly from within your C/C++ sources. + This is useful to embed information into binaries about the exact state of the repository + from which they were built. For instance: + \code + #include <vcs-repo-state.h> + #include <iostream> + + int main() + { + std::cout << "I was built from " << VCS_REPO_STATE << std::endl; + } + \endcode + As you can see in the above code, a header file called \c{vcs-repo-state.h} is created, + defining a macro called \c VCS_REPO_STATE which expands to a character constant describing + the current state of the repository. For Git, this would be the current HEAD's commit hash. + + \section1 Module Properties + + \table + \header + \li Property + \li Type + \li Since + \li Default + \li Description + \row + \li headerFileName + \li string + \li 1.10 + \li \c{"vcs-repo-state.h"} + \li The name of the C header file to be created. Set this to \c undefined if you do + not want a header file to be generated. + \row + \li repoDir + \li string + \li 1.10 + \li the top-level project directory (\c{project.sourceDirectory}) + \li The root directory of the repository. + \row + \li repoState + \li string + \li 1.10 + \li - + \li The current state of the repository. For instance, in Git this is the commit hash + of the current HEAD. + \row + \li toolFilePath + \li string + \li 1.10 + \li the file name of the version control tool corresponding to \c type + \li Set this if the tool has an unusual name in your local installation, or if it is + located in a directory that is not in the build environment's \c PATH. + \row + \li type + \li \c{string} + \li 1.10 + \li auto-detected + \li The version control system used in the project. Currently, the supported values + are \c{"git"} and \c{"svn"}. + \endtable +*/ |