Merge branch 'ab/detox-gettext-tests'
[git] / Documentation / git-for-each-repo.txt
1 git-for-each-repo(1)
2 ====================
3
4 NAME
5 ----
6 git-for-each-repo - Run a Git command on a list of repositories
7
8
9 SYNOPSIS
10 --------
11 [verse]
12 'git for-each-repo' --config=<config> [--] <arguments>
13
14
15 DESCRIPTION
16 -----------
17 Run a Git command on a list of repositories. The arguments after the
18 known options or `--` indicator are used as the arguments for the Git
19 subprocess.
20
21 THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
22
23 For example, we could run maintenance on each of a list of repositories
24 stored in a `maintenance.repo` config variable using
25
26 -------------
27 git for-each-repo --config=maintenance.repo maintenance run
28 -------------
29
30 This will run `git -C <repo> maintenance run` for each value `<repo>`
31 in the multi-valued config variable `maintenance.repo`.
32
33
34 OPTIONS
35 -------
36 --config=<config>::
37         Use the given config variable as a multi-valued list storing
38         absolute path names. Iterate on that list of paths to run
39         the given arguments.
40 +
41 These config values are loaded from system, global, and local Git config,
42 as available. If `git for-each-repo` is run in a directory that is not a
43 Git repository, then only the system and global config is used.
44
45
46 SUBPROCESS BEHAVIOR
47 -------------------
48
49 If any `git -C <repo> <arguments>` subprocess returns a non-zero exit code,
50 then the `git for-each-repo` process returns that exit code without running
51 more subprocesses.
52
53 Each `git -C <repo> <arguments>` subprocess inherits the standard file
54 descriptors `stdin`, `stdout`, and `stderr`.
55
56
57 GIT
58 ---
59 Part of the linkgit:git[1] suite