aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2020-10-10 10:45:34 -0400
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2020-10-13 11:12:49 +0000
commitdccff1f2bcf6e7b8e42fa7bea63b8532ad29b43a (patch)
treeb82b3c81ab0b4faccc170dde067ff655dca07c40 /docs
parent3ade5bbd92b506f215f86a7d41048b22b287c673 (diff)
downloadmeson-dccff1f2bcf6e7b8e42fa7bea63b8532ad29b43a.zip
meson-dccff1f2bcf6e7b8e42fa7bea63b8532ad29b43a.tar.gz
meson-dccff1f2bcf6e7b8e42fa7bea63b8532ad29b43a.tar.bz2
msubprojects: Handle wrap-file to wrap-git case
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Subprojects.md3
-rw-r--r--docs/markdown/snippets/subprojects_update.md7
2 files changed, 9 insertions, 1 deletions
diff --git a/docs/markdown/Subprojects.md b/docs/markdown/Subprojects.md
index 4461373..7e17afa 100644
--- a/docs/markdown/Subprojects.md
+++ b/docs/markdown/Subprojects.md
@@ -315,6 +315,9 @@ To pull latest version of all your subprojects at once, just run the command:
- *Since 0.56.0* if the `url` specified in wrap file is different to the URL set
on `origin` for a git repository it will not be updated, unless `--reset` is
specified in which case the URL of `origin` will be reset first.
+- *Since 0.56.0* If the subproject directory is not a git repository but has a
+ `[wrap-git]` the subproject is ignored, unless `--reset` is specified in which
+ case the directory is deleted and the new repository is cloned.
### Start a topic branch across all git subprojects
diff --git a/docs/markdown/snippets/subprojects_update.md b/docs/markdown/snippets/subprojects_update.md
index f85a9eb..b5aa17c 100644
--- a/docs/markdown/snippets/subprojects_update.md
+++ b/docs/markdown/snippets/subprojects_update.md
@@ -19,13 +19,18 @@ subprojects, but at the end an error code is now returned.
The `update` subcommand has been reworked:
- In the case the URL of `origin` is different as the `url` set in wrap file,
the subproject will not be updated unless `--reset` is specified (see below).
+- In the case a subproject directory exists and is not a git repository but has
+ a `[wrap-git]`, meson used to run git commands that would wrongly apply to the
+ main project. It now skip the subproject unless `--reset` is specified (see below).
- The `--rebase` behaviour is now the default for consistency: it was
already rebasing when current branch and revision are the same, it is
less confusing to rebase when they are different too.
- Add `--reset` mode that checkout the new branch and hard reset that
branch to remote commit. This new mode guarantees that every
subproject are exactly at the wrap's revision. In addition the URL of `origin`
- is updated in case it changed in the wrap file.
+ is updated in case it changed in the wrap file. If the subproject directory is
+ not a git repository but has a `[wrap-git]` the directory is deleted and the
+ new repository is cloned.
- Local changes are always stashed first to avoid any data loss. In the
worst case scenario the user can always check reflog and stash list to
rollback.