Revision control
++ // Copyright (C) 2024 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
++
++ /*!
++ \page getting-sources-from-git.html
++
++ \title Getting Qt Sources from the Git repository
++ \brief This page describes how to clone and initialize Qt repositories.
++
++ This page describes how to get the Qt sources from the public Git
++ repositories. The Git repositories contain the latest development branches
++ and released versions of Qt 6.
++
++ You can also get the Qt sources \QOI, through your \l{Qt Account}
++ (commercial users), or from \l{https://download.qt.io}{download.qt.io}
++ (open-source users).
++
++ You need a recent version of \l{Git} and \l{CMake Documentation} to run the
++ \c init-repository tool when initializing the Git submodules.
++
++ \note These instructions assume you are familiar with using command-line
++ tools.
++
++ \section1 Cloning the Qt repository
++
++ Qt is developed and maintained in several Git submodules in the main
++ \c{qt5.git} repository. Getting the Qt sources from Git
++ involves cloning the top-level Git repository through the command
++ line.
++
++ \note Qt 5 and Qt 6 share the same repository, \c{qt5.git}, and you will
++ get the Qt 5 repository even if you use Qt 6.
++
++ These instructions use Unix-like shell syntax. On Windows,
++ the commands are similar. The command below clones the current version of
++ Qt 6 into a directory named \c{qt}.
++ \code [text] \QtVersion
++ git clone --branch v\1 git://code.qt.io/qt/qt5.git qt
++ \endcode
++
++ If the git protocol is blocked by your firewall, consider using HTTPS
++ instead:
++ \code [text] \QtVersion
++ git clone --branch v\1 https://code.qt.io/qt/qt5.git qt
++ \endcode
++
++ After cloning, the \c qt directory contains the main Qt Git repository
++ which contains setup files and uninitialized Qt submodules.
++
++ \section1 Initializing the Qt submodules
++
++ The \c qt5.git repository contains the \l{All Modules}{Qt Modules} as
++ Git submodules. To initialize and clone the submodules, run the
++ \c init-repository tool in the top-level directory.
++
++ \code [text]
++ ./init-repository
++ \endcode
++
++ On Windows, without a Linux environment, use \c init-repository.bat instead.
++ \code [text]
++ init-repository.bat
++ \endcode
++
++ \c init-repository clones and initializes setup files to build the Qt
++ sources. In addition, there are tools in the repository that
++ help Qt contributors with creating patches, testing code, and generating
++ documentation. For more information about contributing, visit the
++ \l{Contributing to Qt} site.
++
++ If you already have a Qt repository in the same directory, you can pass
++ \c -f to force \c init-repository to reinitialize the submodules.
++
++ \code [text]
++ ./init-repository -f
++ \endcode
++
++ \section1 Initializing Qt specific submodules
++
++ If you only need a specific set of Qt modules, initialize a minimal
++ set of submodules using \c{--module-subset} as an argument to
++ \c{init-repository}. For example, you can initialize only the
++ \l{Qt Essentials} modules by specifying \c essential as the argument.
++ \code [text]
++ ./init-repository --module-subset=essential
++ \endcode
++
++ For \l{Qt Add-Ons}, use \c addon instead.
++ \code [text]
++ ./init-repository --module-subset=addon
++ \endcode
++
++ You can also select several submodules at the same time. For example, to
++ initialize the \c qtgrpc and \c qtmqtt submodules along with their required
++ submodules, run:
++ \code [text]
++ ./init-repository --module-subset=qtgrpc,qtmqtt
++ \endcode
++ The \c init-repository tool always initializes a minimum set of submodules.
++
++ For more information, consult the \c init-repository manual by
++ setting \c -help as an argument:
++ \code [text]
++ ./init-repository -help
++ \endcode
++
++ \section1 After cloning and initializing
++
++ The next step is to configure and build Qt. Read the
++ \l{Building Qt Sources} page for more information.
++
++ */