eac_git 0.18.1 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/eac_git/local/remote.rb +0 -2
- data/lib/eac_git/local/subrepo/config.rb +2 -0
- data/lib/eac_git/remote_like/ls_result.rb +1 -1
- data/lib/eac_git/remote_like.rb +0 -1
- data/lib/eac_git/rspec/stubbed_git_local_repo.rb +0 -2
- data/lib/eac_git/rspec.rb +0 -1
- data/lib/eac_git/version.rb +1 -1
- data/lib/eac_git.rb +0 -2
- data/vendor/git-subrepo/.fish.rc +20 -0
- data/vendor/git-subrepo/.gitattributes +1 -0
- data/vendor/git-subrepo/.github/workflows/test.yml +29 -0
- data/vendor/git-subrepo/.gitignore +1 -0
- data/vendor/git-subrepo/.gitrepo +7 -0
- data/vendor/git-subrepo/.rc +32 -0
- data/vendor/git-subrepo/Changes +66 -0
- data/vendor/git-subrepo/Intro.pod +2 -5
- data/vendor/git-subrepo/Makefile +45 -5
- data/vendor/git-subrepo/Meta +2 -2
- data/vendor/git-subrepo/ReadMe.pod +26 -31
- data/vendor/git-subrepo/doc/git-subrepo.swim +22 -18
- data/vendor/git-subrepo/doc/intro-to-subrepo.swim +2 -4
- data/vendor/git-subrepo/ext/bashplus/.gitrepo +12 -0
- data/vendor/git-subrepo/ext/bashplus/.travis.yml +6 -0
- data/vendor/git-subrepo/ext/bashplus/Changes +19 -0
- data/vendor/git-subrepo/ext/bashplus/License +1 -1
- data/vendor/git-subrepo/ext/bashplus/Makefile +25 -0
- data/vendor/git-subrepo/ext/bashplus/Meta +4 -4
- data/vendor/git-subrepo/ext/bashplus/ReadMe.pod +2 -2
- data/vendor/git-subrepo/ext/bashplus/bin/bash+ +8 -7
- data/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +1 -1
- data/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +85 -38
- data/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +8 -8
- data/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +8 -8
- data/vendor/git-subrepo/ext/bashplus/test/base.t +4 -5
- data/vendor/git-subrepo/ext/bashplus/test/die.t +16 -0
- data/vendor/git-subrepo/ext/bashplus/test/fcopy.t +2 -3
- data/vendor/git-subrepo/ext/bashplus/test/{test.bash → setup} +18 -8
- data/vendor/git-subrepo/ext/bashplus/test/shellcheck.t +37 -0
- data/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +10 -11
- data/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +10 -11
- data/vendor/git-subrepo/ext/bashplus/test/use.t +8 -5
- data/vendor/git-subrepo/ext/bashplus/test/version-check.t +23 -0
- data/vendor/git-subrepo/ext/test-more-bash/.gitrepo +12 -0
- data/vendor/git-subrepo/ext/test-more-bash/.travis.yml +6 -0
- data/vendor/git-subrepo/ext/test-more-bash/Changes +11 -0
- data/vendor/git-subrepo/ext/test-more-bash/License +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/Makefile +25 -0
- data/vendor/git-subrepo/ext/test-more-bash/Meta +5 -5
- data/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +9 -3
- data/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +7 -2
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/.gitrepo +12 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/.travis.yml +6 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +11 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +25 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +3 -3
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +2 -2
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +8 -7
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +85 -38
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +8 -8
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +8 -8
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +4 -4
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/die.t +17 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +2 -2
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/{test.bash → setup} +17 -8
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/shellcheck.t +38 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +10 -10
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +10 -10
- data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +8 -4
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/.gitrepo +12 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/.travis.yml +5 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +11 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +30 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +3 -3
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +2 -2
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +46 -42
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +8 -8
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +1 -1
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/shellcheck.t +42 -0
- data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +11 -5
- data/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +35 -15
- data/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +16 -10
- data/vendor/git-subrepo/ext/test-more-bash/test/fail.t +15 -1
- data/vendor/git-subrepo/ext/test-more-bash/test/more.t +12 -4
- data/vendor/git-subrepo/ext/test-more-bash/test/setup +3 -3
- data/vendor/git-subrepo/ext/test-more-bash/test/shellcheck.t +35 -0
- data/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +14 -1
- data/vendor/git-subrepo/lib/git-subrepo +375 -260
- data/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +21 -22
- data/vendor/git-subrepo/man/man1/git-subrepo.1 +125 -141
- data/vendor/git-subrepo/pkg/bin/generate-completion.pl +0 -7
- data/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +0 -2
- data/vendor/git-subrepo/share/completion.bash +1 -3
- data/vendor/git-subrepo/share/enable-completion.sh +3 -3
- data/vendor/git-subrepo/share/zsh-completion/_git-subrepo +2 -7
- data/vendor/git-subrepo/test/Dockerfile +112 -0
- data/vendor/git-subrepo/test/branch-all.t +6 -6
- data/vendor/git-subrepo/test/branch-rev-list-one-path.t +7 -8
- data/vendor/git-subrepo/test/branch-rev-list.t +7 -8
- data/vendor/git-subrepo/test/branch.t +9 -9
- data/vendor/git-subrepo/test/clean.t +3 -3
- data/vendor/git-subrepo/test/clone-annotated-tag.t +7 -7
- data/vendor/git-subrepo/test/clone.t +20 -25
- data/vendor/git-subrepo/test/config.t +7 -6
- data/vendor/git-subrepo/test/encode.t +17 -17
- data/vendor/git-subrepo/test/error.t +18 -18
- data/vendor/git-subrepo/test/fetch.t +4 -4
- data/vendor/git-subrepo/test/gitignore.t +8 -8
- data/vendor/git-subrepo/test/init.t +6 -7
- data/vendor/git-subrepo/test/issue29.t +3 -3
- data/vendor/git-subrepo/test/issue95.t +2 -2
- data/vendor/git-subrepo/test/issue96.t +3 -3
- data/vendor/git-subrepo/test/pull-all.t +5 -5
- data/vendor/git-subrepo/test/pull-merge.t +16 -15
- data/vendor/git-subrepo/test/pull-message.t +12 -12
- data/vendor/git-subrepo/test/pull-new-branch.t +8 -7
- data/vendor/git-subrepo/test/pull-ours.t +10 -10
- data/vendor/git-subrepo/test/pull-theirs.t +8 -8
- data/vendor/git-subrepo/test/pull-twice.t +4 -4
- data/vendor/git-subrepo/test/pull-worktree.t +5 -5
- data/vendor/git-subrepo/test/pull.t +14 -14
- data/vendor/git-subrepo/test/push-after-init.t +7 -6
- data/vendor/git-subrepo/test/push-after-push-no-changes.t +27 -0
- data/vendor/git-subrepo/test/push-force.t +7 -6
- data/vendor/git-subrepo/test/push-new-branch.t +10 -10
- data/vendor/git-subrepo/test/push-no-changes.t +3 -3
- data/vendor/git-subrepo/test/push-squash.t +7 -7
- data/vendor/git-subrepo/test/push.t +35 -34
- data/vendor/git-subrepo/test/rebase.t +63 -0
- data/vendor/git-subrepo/test/reclone.t +15 -8
- data/vendor/git-subrepo/test/setup +62 -55
- data/vendor/git-subrepo/test/shellcheck.t +37 -0
- data/vendor/git-subrepo/test/status.t +47 -27
- data/vendor/git-subrepo/test/submodule.t +4 -4
- data/vendor/git-subrepo/test/zsh.t +27 -0
- metadata +45 -19
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
.\"
|
|
1
|
+
.\" -*- mode: troff; coding: utf-8 -*-
|
|
2
|
+
.\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45)
|
|
2
3
|
.\"
|
|
3
4
|
.\" Standard preamble:
|
|
4
5
|
.\" ========================================================================
|
|
@@ -15,29 +16,12 @@
|
|
|
15
16
|
.ft R
|
|
16
17
|
.fi
|
|
17
18
|
..
|
|
18
|
-
.\"
|
|
19
|
-
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
|
20
|
-
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
|
21
|
-
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
|
22
|
-
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
|
23
|
-
.\" nothing in troff, for use with C<>.
|
|
24
|
-
.tr \(*W-
|
|
25
|
-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
|
19
|
+
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
|
|
26
20
|
.ie n \{\
|
|
27
|
-
. ds -- \(*W-
|
|
28
|
-
. ds PI pi
|
|
29
|
-
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
|
30
|
-
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
|
31
|
-
. ds L" ""
|
|
32
|
-
. ds R" ""
|
|
33
21
|
. ds C` ""
|
|
34
22
|
. ds C' ""
|
|
35
23
|
'br\}
|
|
36
24
|
.el\{\
|
|
37
|
-
. ds -- \|\(em\|
|
|
38
|
-
. ds PI \(*p
|
|
39
|
-
. ds L" ``
|
|
40
|
-
. ds R" ''
|
|
41
25
|
. ds C`
|
|
42
26
|
. ds C'
|
|
43
27
|
'br\}
|
|
@@ -71,15 +55,15 @@
|
|
|
71
55
|
.\" ========================================================================
|
|
72
56
|
.\"
|
|
73
57
|
.IX Title "STDIN 1"
|
|
74
|
-
.TH STDIN 1
|
|
58
|
+
.TH STDIN 1 2024-07-22 "Generated by Swim v0.1.48" "Git Submodule Alternative"
|
|
75
59
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
|
76
60
|
.\" way too many mistakes in technical documents.
|
|
77
61
|
.if n .ad l
|
|
78
62
|
.nh
|
|
79
|
-
.SH
|
|
63
|
+
.SH Name
|
|
80
64
|
.IX Header "Name"
|
|
81
65
|
git-subrepo \- Git Submodule Alternative
|
|
82
|
-
.SH
|
|
66
|
+
.SH Synopsis
|
|
83
67
|
.IX Header "Synopsis"
|
|
84
68
|
.Vb 1
|
|
85
69
|
\& git subrepo \-h # Help Overview
|
|
@@ -101,71 +85,71 @@ git-subrepo \- Git Submodule Alternative
|
|
|
101
85
|
\& git subrepo version
|
|
102
86
|
\& git subrepo upgrade
|
|
103
87
|
.Ve
|
|
104
|
-
.SH
|
|
88
|
+
.SH Description
|
|
105
89
|
.IX Header "Description"
|
|
106
|
-
This git command
|
|
90
|
+
This git command "clones" an external git repo into a subdirectory of your
|
|
107
91
|
repo. Later on, upstream changes can be pulled in, and local changes can be
|
|
108
92
|
pushed back. Simple.
|
|
109
|
-
.SH
|
|
93
|
+
.SH Benefits
|
|
110
94
|
.IX Header "Benefits"
|
|
111
95
|
This command is an improvement from \f(CW\*(C`git\-submodule\*(C'\fR and \f(CW\*(C`git\-subtree\*(C'\fR; two
|
|
112
96
|
other git commands with similar goals, but various problems.
|
|
113
97
|
.PP
|
|
114
98
|
It assumes there are 3 main roles of people interacting with a repo, and
|
|
115
99
|
attempts to serve them all well:
|
|
116
|
-
.IP
|
|
100
|
+
.IP \(bu 4
|
|
117
101
|
\&\fBowner\fR \- The person who authors/owns/maintains a repo.
|
|
118
|
-
.IP
|
|
102
|
+
.IP \(bu 4
|
|
119
103
|
\&\fBusers\fR \- People who are just using/installing the repo.
|
|
120
|
-
.IP
|
|
104
|
+
.IP \(bu 4
|
|
121
105
|
\&\fBcollaborators\fR \- People who commit code to the repo and subrepos.
|
|
122
106
|
.PP
|
|
123
107
|
The \f(CW\*(C`git\-subrepo\*(C'\fR command benefits these roles in the following ways:
|
|
124
|
-
.IP
|
|
108
|
+
.IP \(bu 4
|
|
125
109
|
Simple and intuitive commandline usage (with tab completion).
|
|
126
|
-
.IP
|
|
110
|
+
.IP \(bu 4
|
|
127
111
|
Users get your repo and all your subrepos just by cloning your repo.
|
|
128
|
-
.IP
|
|
112
|
+
.IP \(bu 4
|
|
129
113
|
Users do not need to install \f(CW\*(C`git\-subrepo\*(C'\fR, ever.
|
|
130
|
-
.IP
|
|
114
|
+
.IP \(bu 4
|
|
131
115
|
Collaborators do not need to install unless they want to push/pull.
|
|
132
|
-
.IP
|
|
116
|
+
.IP \(bu 4
|
|
133
117
|
Collaborators know when a subdir is a subrepo (it has a \f(CW\*(C`.gitrepo\*(C'\fR file).
|
|
134
|
-
.IP
|
|
118
|
+
.IP \(bu 4
|
|
135
119
|
The \f(CW\*(C`.gitrepo\*(C'\fR file never gets pushed back to the subrepo upstream.
|
|
136
|
-
.IP
|
|
120
|
+
.IP \(bu 4
|
|
137
121
|
Well named branches and remotes are generated for manual operations.
|
|
138
|
-
.IP
|
|
122
|
+
.IP \(bu 4
|
|
139
123
|
Owners do not deal with the complications of keeping submodules in sync.
|
|
140
|
-
.IP
|
|
124
|
+
.IP \(bu 4
|
|
141
125
|
Subrepo repositories can contain subrepos themselves.
|
|
142
|
-
.IP
|
|
126
|
+
.IP \(bu 4
|
|
143
127
|
Branching with subrepos JustWorks™.
|
|
144
|
-
.IP
|
|
128
|
+
.IP \(bu 4
|
|
145
129
|
Different branches can have different subrepos in different states, etc.
|
|
146
|
-
.IP
|
|
130
|
+
.IP \(bu 4
|
|
147
131
|
Moving/renaming/deleting a subrepo subdir JustWorks™.
|
|
148
|
-
.IP
|
|
132
|
+
.IP \(bu 4
|
|
149
133
|
You can \f(CW\*(C`init\*(C'\fR an existing subdirectory into a subrepo.
|
|
150
|
-
.IP
|
|
134
|
+
.IP \(bu 4
|
|
151
135
|
Your git history is kept squeaky clean.
|
|
152
|
-
.IP
|
|
136
|
+
.IP \(bu 4
|
|
153
137
|
Upstream history (clone/pull) is condensed into a single commit.
|
|
154
|
-
.IP
|
|
138
|
+
.IP \(bu 4
|
|
155
139
|
Pulls can use a \f(CW\*(C`merge\*(C'\fR, \f(CW\*(C`rebase\*(C'\fR or \f(CW\*(C`force\*(C'\fR strategies.
|
|
156
|
-
.IP
|
|
140
|
+
.IP \(bu 4
|
|
157
141
|
You can see the subrepo history with \f(CW\*(C`git log subrepo/<subdir>/fetch\*(C'\fR.
|
|
158
|
-
.IP
|
|
142
|
+
.IP \(bu 4
|
|
159
143
|
Commits pushed back upstream are \fBnot\fR condensed (by default).
|
|
160
|
-
.IP
|
|
144
|
+
.IP \(bu 4
|
|
161
145
|
Trivial to try any subrepo operations and then reset back.
|
|
162
|
-
.IP
|
|
146
|
+
.IP \(bu 4
|
|
163
147
|
No configuration required.
|
|
164
|
-
.IP
|
|
148
|
+
.IP \(bu 4
|
|
165
149
|
Does not introduce history that messes up other git commands.
|
|
166
|
-
.IP
|
|
150
|
+
.IP \(bu 4
|
|
167
151
|
Fixes known rebase failures with \f(CW\*(C`git\-subtree\*(C'\fR.
|
|
168
|
-
.SH
|
|
152
|
+
.SH Installation
|
|
169
153
|
.IX Header "Installation"
|
|
170
154
|
The best short answer is:
|
|
171
155
|
.PP
|
|
@@ -174,10 +158,10 @@ The best short answer is:
|
|
|
174
158
|
\& echo \*(Aqsource /path/to/git\-subrepo/.rc\*(Aq >> ~/.bashrc
|
|
175
159
|
.Ve
|
|
176
160
|
.PP
|
|
177
|
-
The complete
|
|
161
|
+
The complete "Installation Instructions" can be found below.
|
|
178
162
|
.PP
|
|
179
163
|
Note: git-subrepo needs a git version (> 2.7) that supports worktree:s.
|
|
180
|
-
.SH
|
|
164
|
+
.SH Commands
|
|
181
165
|
.IX Header "Commands"
|
|
182
166
|
All the \fBsubrepo\fR commands use names of actual Git commands and try to do
|
|
183
167
|
operations that are similar to their Git counterparts. They also attempt to
|
|
@@ -186,9 +170,9 @@ experienced Git users.
|
|
|
186
170
|
.PP
|
|
187
171
|
Please note that the commands are \fInot\fR exact equivalents, and do not take
|
|
188
172
|
all the same arguments. Keep reading…
|
|
189
|
-
.ie n .IP """git subrepo clone <repository> [<subdir>] [\-b <branch>] [\-f] [\-m <msg>] [\-e] [\-\-method <merge|rebase>]""" 4
|
|
190
|
-
.el .IP "\f(CWgit subrepo clone <repository> [<subdir>] [\-b <branch>] [\-f] [\-m <msg>] [\-e] [\-\-method <merge|rebase>]\fR" 4
|
|
191
|
-
.IX Item "git subrepo clone <repository> [<subdir>] [-b <branch>] [-f] [-m <msg>] [-e] [--method <merge|rebase>]"
|
|
173
|
+
.ie n .IP """git subrepo clone <repository> [<subdir>] [\-b <branch>] [\-f] [\-m <msg>] [\-\-file=<msg file>] [\-e] [\-\-method <merge|rebase>]""" 4
|
|
174
|
+
.el .IP "\f(CWgit subrepo clone <repository> [<subdir>] [\-b <branch>] [\-f] [\-m <msg>] [\-\-file=<msg file>] [\-e] [\-\-method <merge|rebase>]\fR" 4
|
|
175
|
+
.IX Item "git subrepo clone <repository> [<subdir>] [-b <branch>] [-f] [-m <msg>] [--file=<msg file>] [-e] [--method <merge|rebase>]"
|
|
192
176
|
Add a repository as a subrepo in a subdir of your repository.
|
|
193
177
|
.Sp
|
|
194
178
|
This is similar in feel to \f(CW\*(C`git clone\*(C'\fR. You just specify the remote repo url,
|
|
@@ -204,13 +188,13 @@ All subsequent commands refer to the subrepo by the name of the
|
|
|
204
188
|
\&\fIsubdir\fR. From the subdir, all the current information about the subrepo
|
|
205
189
|
can be obtained.
|
|
206
190
|
.Sp
|
|
207
|
-
The \f(CW\*(C`\-\-force\*(C'\fR option will
|
|
191
|
+
The \f(CW\*(C`\-\-force\*(C'\fR option will "reclone" (completely replace) an existing subdir.
|
|
208
192
|
.Sp
|
|
209
193
|
The \f(CW\*(C`\-\-method\*(C'\fR option will decide how the join process between branches are
|
|
210
194
|
performed. The default option is merge.
|
|
211
195
|
.Sp
|
|
212
|
-
The \f(CW\*(C`clone\*(C'\fR command accepts the \f(CW\*(C`\-\-branch=\*(C'\fR \f(CW\*(C`\-\-edit\*(C'\fR, \f(CW\*(C`\-\-
|
|
213
|
-
message=\*(C'\fR options.
|
|
196
|
+
The \f(CW\*(C`clone\*(C'\fR command accepts the \f(CW\*(C`\-\-branch=\*(C'\fR \f(CW\*(C`\-\-edit\*(C'\fR, \f(CW\*(C`\-\-file\*(C'\fR, \f(CW\*(C`\-\-force\*(C'\fR
|
|
197
|
+
and \f(CW\*(C`\-\-message=\*(C'\fR options.
|
|
214
198
|
.ie n .IP """git subrepo init <subdir> [\-r <remote>] [\-b <branch>] [\-\-method <merge|rebase>]""" 4
|
|
215
199
|
.el .IP "\f(CWgit subrepo init <subdir> [\-r <remote>] [\-b <branch>] [\-\-method <merge|rebase>]\fR" 4
|
|
216
200
|
.IX Item "git subrepo init <subdir> [-r <remote>] [-b <branch>] [--method <merge|rebase>]"
|
|
@@ -219,13 +203,13 @@ Turn an existing subdirectory into a subrepo.
|
|
|
219
203
|
If you want to expose a subdirectory of your project as a published subrepo,
|
|
220
204
|
this command will do that. It will split out the content of a normal
|
|
221
205
|
subdirectory into a branch and start tracking it as a subrepo. Afterwards your
|
|
222
|
-
original repo will look exactly the same except that there will be a \f(CW\*(C
|
|
206
|
+
original repo will look exactly the same except that there will be a \f(CW\*(C`<<subdir\*(C'\fR/.gitrepo >> file.
|
|
223
207
|
.Sp
|
|
224
208
|
If you specify the \f(CW\*(C`\-\-remote\*(C'\fR (and optionally the \f(CW\*(C`\-\-branch\*(C'\fR) option, the
|
|
225
209
|
values will be added to the \f(CW\*(C`<subdir>/.gitrepo\*(C'\fR file. The \f(CW\*(C`\-\-remote\*(C'\fR
|
|
226
|
-
option is the upstream
|
|
210
|
+
option is the upstream URL, and the \f(CW\*(C`\-\-branch\*(C'\fR option is the upstream branch
|
|
227
211
|
to push to. These values will be needed to do a \f(CW\*(C`git subrepo push\*(C'\fR command,
|
|
228
|
-
but they can be provided later on the \f(CW\*(C`push\*(C'\fR command (and saved to \f(CW\*(C
|
|
212
|
+
but they can be provided later on the \f(CW\*(C`push\*(C'\fR command (and saved to \f(CW\*(C`<<subdir\*(C'\fR/.gitrepo >> if you also specify the \f(CW\*(C`\-\-update\*(C'\fR option).
|
|
229
213
|
.Sp
|
|
230
214
|
Note: You will need to create the empty upstream repo and push to it on your
|
|
231
215
|
own, using \f(CW\*(C`git subrepo push <subdir>\*(C'\fR.
|
|
@@ -234,9 +218,9 @@ The \f(CW\*(C`\-\-method\*(C'\fR option will decide how the join process between
|
|
|
234
218
|
performed. The default option is merge.
|
|
235
219
|
.Sp
|
|
236
220
|
The \f(CW\*(C`init\*(C'\fR command accepts the \f(CW\*(C`\-\-branch=\*(C'\fR and \f(CW\*(C`\-\-remote=\*(C'\fR options.
|
|
237
|
-
.ie n .IP """git subrepo pull <subdir>|\-\-all [\-M|\-R|\-f] [\-m <msg>] [\-e] [\-b <branch>] [\-r <remote>] [\-u]""" 4
|
|
238
|
-
.el .IP "\f(CWgit subrepo pull <subdir>|\-\-all [\-M|\-R|\-f] [\-m <msg>] [\-e] [\-b <branch>] [\-r <remote>] [\-u]\fR" 4
|
|
239
|
-
.IX Item "git subrepo pull <subdir>|--all [-M|-R|-f] [-m <msg>] [-e] [-b <branch>] [-r <remote>] [-u]"
|
|
221
|
+
.ie n .IP """git subrepo pull <subdir>|\-\-all [\-M|\-R|\-f] [\-m <msg>] [\-\-file=<msg file>] [\-e] [\-b <branch>] [\-r <remote>] [\-u]""" 4
|
|
222
|
+
.el .IP "\f(CWgit subrepo pull <subdir>|\-\-all [\-M|\-R|\-f] [\-m <msg>] [\-\-file=<msg file>] [\-e] [\-b <branch>] [\-r <remote>] [\-u]\fR" 4
|
|
223
|
+
.IX Item "git subrepo pull <subdir>|--all [-M|-R|-f] [-m <msg>] [--file=<msg file>] [-e] [-b <branch>] [-r <remote>] [-u]"
|
|
240
224
|
Update the subrepo subdir with the latest upstream changes.
|
|
241
225
|
.Sp
|
|
242
226
|
The \f(CW\*(C`pull\*(C'\fR command fetches the latest content from the remote branch pointed
|
|
@@ -284,11 +268,11 @@ clean. You can easily see the subrepo's history with the \f(CW\*(C`git log\*(C'\
|
|
|
284
268
|
.Sp
|
|
285
269
|
The set of commands used above are described in detail below.
|
|
286
270
|
.Sp
|
|
287
|
-
The \f(CW\*(C`pull\*(C'\fR command accepts the \f(CW\*(C`\-\-all\*(C'\fR, \f(CW\*(C`\-\-branch=\*(C'\fR, \f(CW\*(C`\-\-edit\*(C'\fR, \f(CW\*(C`\-\-
|
|
288
|
-
\&\f(CW\*(C`\-\-message=\*(C'\fR, \f(CW\*(C`\-\-remote=\*(C'\fR and \f(CW\*(C`\-\-update\*(C'\fR options.
|
|
289
|
-
.ie n .IP """git subrepo push <subdir>|\-\-all [<branch>] [\-r <remote>] [\-b <branch>] [\-M|\-R] [\-u] [\-f] [\-s] [\-N]""" 4
|
|
290
|
-
.el .IP "\f(CWgit subrepo push <subdir>|\-\-all [<branch>] [\-r <remote>] [\-b <branch>] [\-M|\-R] [\-u] [\-f] [\-s] [\-N]\fR" 4
|
|
291
|
-
.IX Item "git subrepo push <subdir>|--all [<branch>] [-r <remote>] [-b <branch>] [-M|-R] [-u] [-f] [-s] [-N]"
|
|
271
|
+
The \f(CW\*(C`pull\*(C'\fR command accepts the \f(CW\*(C`\-\-all\*(C'\fR, \f(CW\*(C`\-\-branch=\*(C'\fR, \f(CW\*(C`\-\-edit\*(C'\fR, \f(CW\*(C`\-\-file\*(C'\fR,
|
|
272
|
+
\&\f(CW\*(C`\-\-force\*(C'\fR, \f(CW\*(C`\-\-message=\*(C'\fR, \f(CW\*(C`\-\-remote=\*(C'\fR and \f(CW\*(C`\-\-update\*(C'\fR options.
|
|
273
|
+
.ie n .IP """git subrepo push <subdir>|\-\-all [<branch>] [\-m msg] [\-\-file=<msg file>] [\-r <remote>] [\-b <branch>] [\-M|\-R] [\-u] [\-f] [\-s] [\-N]""" 4
|
|
274
|
+
.el .IP "\f(CWgit subrepo push <subdir>|\-\-all [<branch>] [\-m msg] [\-\-file=<msg file>] [\-r <remote>] [\-b <branch>] [\-M|\-R] [\-u] [\-f] [\-s] [\-N]\fR" 4
|
|
275
|
+
.IX Item "git subrepo push <subdir>|--all [<branch>] [-m msg] [--file=<msg file>] [-r <remote>] [-b <branch>] [-M|-R] [-u] [-f] [-s] [-N]"
|
|
292
276
|
Push a properly merged subrepo branch back upstream.
|
|
293
277
|
.Sp
|
|
294
278
|
This command takes the subrepo branch from a successful pull command and
|
|
@@ -297,26 +281,24 @@ the \f(CW\*(C`branch\*(C'\fR command and merge things yourself before pushing if
|
|
|
297
281
|
(although that is probably a rare use case).
|
|
298
282
|
.Sp
|
|
299
283
|
The \f(CW\*(C`push\*(C'\fR command requires a branch that has been properly merged/rebased
|
|
300
|
-
with the upstream
|
|
301
|
-
when doing a first \f(CW\*(C`push\*(C'\fR after an \f(CW\*(C`init\*(C'\fR). That means the upstream
|
|
284
|
+
with the upstream HEAD (unless the upstream HEAD is empty, which is common
|
|
285
|
+
when doing a first \f(CW\*(C`push\*(C'\fR after an \f(CW\*(C`init\*(C'\fR). That means the upstream HEAD is
|
|
302
286
|
one of the commits in the branch.
|
|
303
287
|
.Sp
|
|
304
288
|
By default the branch ref \f(CW\*(C`refs/subrepo/<subdir>/pull\*(C'\fR will be pushed,
|
|
305
289
|
but you can specify a (properly merged) branch to push.
|
|
306
290
|
.Sp
|
|
307
291
|
After that, the \f(CW\*(C`push\*(C'\fR command just checks that the branch contains the
|
|
308
|
-
upstream
|
|
292
|
+
upstream HEAD and then pushes it upstream.
|
|
309
293
|
.Sp
|
|
310
294
|
The \f(CW\*(C`\-\-force\*(C'\fR option will do a force push. Force pushes are typically
|
|
311
295
|
discouraged. Only use this option if you fully understand it. (The \f(CW\*(C`\-\-force\*(C'\fR
|
|
312
|
-
option will
|
|
313
|
-
.Sp
|
|
314
|
-
The \f(CW\*(C`push\*(C'\fR command accepts the \f(CW\*(C`\-\-all\*(C'\fR, \f(CW\*(C`\-\-branch=\*(C'\fR, \f(CW\*(C`\-\-dry\-run\*(C'\fR, \f(CW\*(C`\-\-
|
|
315
|
-
force
|
|
316
|
-
|
|
317
|
-
.
|
|
318
|
-
.el .IP "\f(CWgit subrepo fetch <subdir>|\-\-all [\-r <remote>] [\-b <branch>]\fR" 4
|
|
319
|
-
.IX Item "git subrepo fetch <subdir>|--all [-r <remote>] [-b <branch>]"
|
|
296
|
+
option will NOT check for a proper merge. ANY branch will be force pushed!)
|
|
297
|
+
.Sp
|
|
298
|
+
The \f(CW\*(C`push\*(C'\fR command accepts the \f(CW\*(C`\-\-all\*(C'\fR, \f(CW\*(C`\-\-branch=\*(C'\fR, \f(CW\*(C`\-\-dry\-run\*(C'\fR, \f(CW\*(C`\-\-file\*(C'\fR, \f(CW\*(C`\-\-force\*(C'\fR, \f(CW\*(C`\-\-merge\*(C'\fR, \f(CW\*(C`\-\-message\*(C'\fR, \f(CW\*(C`\-\-rebase\*(C'\fR, \f(CW\*(C`\-\-remote=\*(C'\fR, \f(CW\*(C`\-\-squash\*(C'\fR and \f(CW\*(C`\-\-update\*(C'\fR options.
|
|
299
|
+
.ie n .IP """git subrepo fetch <subdir>|\-\-force \-\-all [\-r <remote>] [\-b <branch>]""" 4
|
|
300
|
+
.el .IP "\f(CWgit subrepo fetch <subdir>|\-\-force \-\-all [\-r <remote>] [\-b <branch>]\fR" 4
|
|
301
|
+
.IX Item "git subrepo fetch <subdir>|--force --all [-r <remote>] [-b <branch>]"
|
|
320
302
|
Fetch the remote/upstream content for a subrepo.
|
|
321
303
|
.Sp
|
|
322
304
|
It will create a Git reference called \f(CW\*(C`subrepo/<subdir>/fetch\*(C'\fR that
|
|
@@ -324,8 +306,7 @@ points at the same commit as \f(CW\*(C`FETCH_HEAD\*(C'\fR. It will also create a
|
|
|
324
306
|
called \f(CW\*(C`subrepo/<subdir>\*(C'\fR. These are temporary and you can easily remove
|
|
325
307
|
them with the subrepo \f(CW\*(C`clean\*(C'\fR command.
|
|
326
308
|
.Sp
|
|
327
|
-
The \f(CW\*(C`fetch\*(C'\fR command accepts the \f(CW\*(C`\-\-all\*(C'\fR, \f(CW\*(C`\-\-branch=\*(C'\fR and \f(CW\*(C`\-\-
|
|
328
|
-
remote=\*(C'\fR options.
|
|
309
|
+
The \f(CW\*(C`fetch\*(C'\fR command accepts the \f(CW\*(C`\-\-force\*(C'\fR, \f(CW\*(C`\-\-all\*(C'\fR, \f(CW\*(C`\-\-branch=\*(C'\fR and \f(CW\*(C`\-\-remote=\*(C'\fR options.
|
|
329
310
|
.ie n .IP """git subrepo branch <subdir>|\-\-all [\-f] [\-F]""" 4
|
|
330
311
|
.el .IP "\f(CWgit subrepo branch <subdir>|\-\-all [\-f] [\-F]\fR" 4
|
|
331
312
|
.IX Item "git subrepo branch <subdir>|--all [-f] [-F]"
|
|
@@ -339,32 +320,30 @@ This is useful for doing \f(CW\*(C`pull\*(C'\fR and \f(CW\*(C`push\*(C'\fR comma
|
|
|
339
320
|
Use the \f(CW\*(C`\-\-force\*(C'\fR option to write over an existing \f(CW\*(C`subrepo/<subdir>\*(C'\fR branch.
|
|
340
321
|
.Sp
|
|
341
322
|
The \f(CW\*(C`branch\*(C'\fR command accepts the \f(CW\*(C`\-\-all\*(C'\fR, \f(CW\*(C`\-\-fetch\*(C'\fR and \f(CW\*(C`\-\-force\*(C'\fR options.
|
|
342
|
-
.ie n .IP """git subrepo commit <subdir> [<subrepo\-ref>] [\-m <msg>] [\-e] [\-f] [\-F]""" 4
|
|
343
|
-
.el .IP "\f(CWgit subrepo commit <subdir> [<subrepo\-ref>] [\-m <msg>] [\-e] [\-f] [\-F]\fR" 4
|
|
344
|
-
.IX Item "git subrepo commit <subdir> [<subrepo-ref>] [-m <msg>] [-e] [-f] [-F]"
|
|
323
|
+
.ie n .IP """git subrepo commit <subdir> [<subrepo\-ref>] [\-m <msg>] [\-\-file=<msg file>] [\-e] [\-f] [\-F]""" 4
|
|
324
|
+
.el .IP "\f(CWgit subrepo commit <subdir> [<subrepo\-ref>] [\-m <msg>] [\-\-file=<msg file>] [\-e] [\-f] [\-F]\fR" 4
|
|
325
|
+
.IX Item "git subrepo commit <subdir> [<subrepo-ref>] [-m <msg>] [--file=<msg file>] [-e] [-f] [-F]"
|
|
345
326
|
Add subrepo branch to current history as a single commit.
|
|
346
327
|
.Sp
|
|
347
|
-
This command is generally used after a hand-merge. You have done a \f(CW\*(C`
|
|
348
|
-
branch\*(C'\fR and merged (rebased) it with the upstream. This command takes the \s-1HEAD\s0
|
|
328
|
+
This command is generally used after a hand-merge. You have done a \f(CW\*(C`subrepobranch\*(C'\fR and merged (rebased) it with the upstream. This command takes the HEAD
|
|
349
329
|
of that branch, puts its content into the subrepo subdir and adds a new commit
|
|
350
330
|
for it to the top of your mainline history.
|
|
351
331
|
.Sp
|
|
352
|
-
This command requires that the upstream
|
|
332
|
+
This command requires that the upstream HEAD be in the \f(CW\*(C`subrepo/<subdir>\*(C'\fR
|
|
353
333
|
branch history. That way the same branch can push upstream. Use the \f(CW\*(C`\-\-force\*(C'\fR
|
|
354
334
|
option to commit anyway.
|
|
355
335
|
.Sp
|
|
356
|
-
The \f(CW\*(C`commit\*(C'\fR command accepts the \f(CW\*(C`\-\-edit\*(C'\fR, \f(CW\*(C`\-\-fetch\*(C'\fR, \f(CW\*(C`\-\-
|
|
357
|
-
message=\*(C'\fR options.
|
|
336
|
+
The \f(CW\*(C`commit\*(C'\fR command accepts the \f(CW\*(C`\-\-edit\*(C'\fR, \f(CW\*(C`\-\-fetch\*(C'\fR, \f(CW\*(C`\-\-file\*(C'\fR, \f(CW\*(C`\-\-force\*(C'\fR
|
|
337
|
+
and \f(CW\*(C`\-\-message=\*(C'\fR options.
|
|
358
338
|
.ie n .IP """git subrepo status [<subdir>|\-\-all|\-\-ALL] [\-F] [\-q|\-v]""" 4
|
|
359
339
|
.el .IP "\f(CWgit subrepo status [<subdir>|\-\-all|\-\-ALL] [\-F] [\-q|\-v]\fR" 4
|
|
360
340
|
.IX Item "git subrepo status [<subdir>|--all|--ALL] [-F] [-q|-v]"
|
|
361
|
-
Get the status of a subrepo. Uses the \f(CW\*(C`\-\-all\*(C'\fR option by default. If the \f(CW\*(C`\-\-
|
|
362
|
-
quiet\*(C'\fR flag is used, just print the subrepo names, one per line.
|
|
341
|
+
Get the status of a subrepo. Uses the \f(CW\*(C`\-\-all\*(C'\fR option by default. If the \f(CW\*(C`\-\-quiet\*(C'\fR flag is used, just print the subrepo names, one per line.
|
|
363
342
|
.Sp
|
|
364
343
|
The \f(CW\*(C`\-\-verbose\*(C'\fR option will show all the recent local and upstream commits.
|
|
365
344
|
.Sp
|
|
366
345
|
Use \f(CW\*(C`\-\-ALL\*(C'\fR to show the subrepos of the subrepos (ie the
|
|
367
|
-
|
|
346
|
+
"subsubrepos"), if any.
|
|
368
347
|
.Sp
|
|
369
348
|
The \f(CW\*(C`status\*(C'\fR command accepts the \f(CW\*(C`\-\-all\*(C'\fR, \f(CW\*(C`\-\-ALL\*(C'\fR, \f(CW\*(C`\-\-fetch\*(C'\fR, \f(CW\*(C`\-\-quiet\*(C'\fR
|
|
370
349
|
and \f(CW\*(C`\-\-verbose\*(C'\fR options.
|
|
@@ -384,7 +363,7 @@ Use \f(CW\*(C`\-\-all\*(C'\fR to clean up after all the current subrepos. Someti
|
|
|
384
363
|
change to a branch where a subrepo doesn't exist, and then \f(CW\*(C`\-\-all\*(C'\fR won't find
|
|
385
364
|
it. Use \f(CW\*(C`\-\-ALL\*(C'\fR to remove any artifacts that were ever created by subrepo.
|
|
386
365
|
.Sp
|
|
387
|
-
To remove
|
|
366
|
+
To remove ALL subrepo artifacts:
|
|
388
367
|
.Sp
|
|
389
368
|
.Vb 1
|
|
390
369
|
\& git subrepo clean \-\-ALL \-\-force
|
|
@@ -434,15 +413,15 @@ latest code.
|
|
|
434
413
|
.SH "Command Options"
|
|
435
414
|
.IX Header "Command Options"
|
|
436
415
|
.ie n .IP """\-h""" 4
|
|
437
|
-
.el .IP
|
|
416
|
+
.el .IP \f(CW\-h\fR 4
|
|
438
417
|
.IX Item "-h"
|
|
439
418
|
Show a brief view of the commands and options.
|
|
440
419
|
.ie n .IP """\-\-help""" 4
|
|
441
|
-
.el .IP
|
|
420
|
+
.el .IP \f(CW\-\-help\fR 4
|
|
442
421
|
.IX Item "--help"
|
|
443
422
|
Gives an overview of the help options available for the subrepo command.
|
|
444
423
|
.ie n .IP """\-\-version""" 4
|
|
445
|
-
.el .IP
|
|
424
|
+
.el .IP \f(CW\-\-version\fR 4
|
|
446
425
|
.IX Item "--version"
|
|
447
426
|
Print the git-subrepo version. Just the version number. Try the \f(CW\*(C`version\*(C'\fR
|
|
448
427
|
command for more version info.
|
|
@@ -455,12 +434,12 @@ applicable).
|
|
|
455
434
|
.el .IP "\f(CW\-\-ALL\fR (\f(CW\-A\fR)" 4
|
|
456
435
|
.IX Item "--ALL (-A)"
|
|
457
436
|
If you have subrepos that also have subrepos themselves, issue the command to
|
|
458
|
-
|
|
437
|
+
ALL of them. Note that the \f(CW\*(C`\-\-ALL\*(C'\fR option only works for a subset of the
|
|
459
438
|
commands that \f(CW\*(C`\-\-all\*(C'\fR works for.
|
|
460
439
|
.ie n .IP """\-\-branch=<branch\-name>"" (""\-b <branch\-name>"")" 4
|
|
461
440
|
.el .IP "\f(CW\-\-branch=<branch\-name>\fR (\f(CW\-b <branch\-name>\fR)" 4
|
|
462
441
|
.IX Item "--branch=<branch-name> (-b <branch-name>)"
|
|
463
|
-
Use a different upstream branch-name than the remote
|
|
442
|
+
Use a different upstream branch-name than the remote HEAD or the one saved in
|
|
464
443
|
\&\f(CW\*(C`.gitrepo\*(C'\fR locally.
|
|
465
444
|
.ie n .IP """\-\-dry\-run"" (""\-N"")" 4
|
|
466
445
|
.el .IP "\f(CW\-\-dry\-run\fR (\f(CW\-N\fR)" 4
|
|
@@ -475,12 +454,16 @@ Edit the commit message before committing.
|
|
|
475
454
|
.el .IP "\f(CW\-\-fetch\fR (\f(CW\-F\fR)" 4
|
|
476
455
|
.IX Item "--fetch (-F)"
|
|
477
456
|
Use this option to fetch the upstream commits, before running the command.
|
|
457
|
+
.ie n .IP """\-\-file=<commit msg file>""" 4
|
|
458
|
+
.el .IP "\f(CW\-\-file=<commit msg file>\fR" 4
|
|
459
|
+
.IX Item "--file=<commit msg file>"
|
|
460
|
+
Supply your own commit message from a file
|
|
478
461
|
.ie n .IP """\-\-force"" (""\-f"")" 4
|
|
479
462
|
.el .IP "\f(CW\-\-force\fR (\f(CW\-f\fR)" 4
|
|
480
463
|
.IX Item "--force (-f)"
|
|
481
464
|
Use this option to force certain commands that fail in the general case.
|
|
482
465
|
.Sp
|
|
483
|
-
|
|
466
|
+
NOTE: The \f(CW\*(C`\-\-force\*(C'\fR option means different things for different commands.
|
|
484
467
|
Read the command specific doc for the exact meaning.
|
|
485
468
|
.ie n .IP """\-\-merge"" (""\-M"")" 4
|
|
486
469
|
.el .IP "\f(CW\-\-merge\fR (\f(CW\-M\fR)" 4
|
|
@@ -529,42 +512,41 @@ Applicable to most commands.
|
|
|
529
512
|
.el .IP "\f(CW\-\-DEBUG\fR (\f(CW\-x\fR)" 4
|
|
530
513
|
.IX Item "--DEBUG (-x)"
|
|
531
514
|
Use the Bash \f(CW\*(C`set \-x\*(C'\fR option which prints every command before it is
|
|
532
|
-
run.
|
|
515
|
+
run. VERY noisy, but extremely useful in deep debugging. Applicable to
|
|
533
516
|
all commands.
|
|
534
517
|
.SH "Environment Variables"
|
|
535
518
|
.IX Header "Environment Variables"
|
|
536
519
|
The \f(CW\*(C`git\-subrepo\*(C'\fR command exports and honors some environment variables:
|
|
537
520
|
.ie n .IP """GIT_SUBREPO_ROOT""" 4
|
|
538
|
-
.el .IP
|
|
521
|
+
.el .IP \f(CWGIT_SUBREPO_ROOT\fR 4
|
|
539
522
|
.IX Item "GIT_SUBREPO_ROOT"
|
|
540
|
-
This is set by the \f(CW\*(C`.rc\*(C'\fR file, if you use that method to install / enable \f(CW\*(C`git\-
|
|
541
|
-
subrepo\*(C'\fR. It contains the path of the \f(CW\*(C`git\-subrepo\*(C'\fR repository.
|
|
523
|
+
This is set by the \f(CW\*(C`.rc\*(C'\fR file, if you use that method to install / enable \f(CW\*(C`git\-subrepo\*(C'\fR. It contains the path of the \f(CW\*(C`git\-subrepo\*(C'\fR repository.
|
|
542
524
|
.ie n .IP """GIT_SUBREPO_RUNNING""" 4
|
|
543
|
-
.el .IP
|
|
525
|
+
.el .IP \f(CWGIT_SUBREPO_RUNNING\fR 4
|
|
544
526
|
.IX Item "GIT_SUBREPO_RUNNING"
|
|
545
527
|
This variable is exported when \f(CW\*(C`git\-subrepo\*(C'\fR is running. It is set to the pid
|
|
546
528
|
of the \f(CW\*(C`git\-subrepo\*(C'\fR process that is running. Other processes, like git hooks
|
|
547
529
|
for instance, can use this information to adjust accordingly.
|
|
548
530
|
.ie n .IP """GIT_SUBREPO_COMMAND""" 4
|
|
549
|
-
.el .IP
|
|
531
|
+
.el .IP \f(CWGIT_SUBREPO_COMMAND\fR 4
|
|
550
532
|
.IX Item "GIT_SUBREPO_COMMAND"
|
|
551
533
|
This variable is exported when \f(CW\*(C`git\-subrepo\*(C'\fR is running. It is set to the
|
|
552
534
|
name of the \f(CW\*(C`git\-subrepo\*(C'\fR subcommand that is running.
|
|
553
535
|
.ie n .IP """GIT_SUBREPO_PAGER""" 4
|
|
554
|
-
.el .IP
|
|
536
|
+
.el .IP \f(CWGIT_SUBREPO_PAGER\fR 4
|
|
555
537
|
.IX Item "GIT_SUBREPO_PAGER"
|
|
556
538
|
Use this to specify the pager to use for long output commands. Defaults to
|
|
557
539
|
\&\f(CW$PAGER\fR or \f(CW\*(C`less\*(C'\fR.
|
|
558
540
|
.ie n .IP """GIT_SUBREPO_QUIET""" 4
|
|
559
|
-
.el .IP
|
|
541
|
+
.el .IP \f(CWGIT_SUBREPO_QUIET\fR 4
|
|
560
542
|
.IX Item "GIT_SUBREPO_QUIET"
|
|
561
543
|
Set this for quiet (\f(CW\*(C`\-q\*(C'\fR) output.
|
|
562
544
|
.ie n .IP """GIT_SUBREPO_VERBOSE""" 4
|
|
563
|
-
.el .IP
|
|
545
|
+
.el .IP \f(CWGIT_SUBREPO_VERBOSE\fR 4
|
|
564
546
|
.IX Item "GIT_SUBREPO_VERBOSE"
|
|
565
547
|
Set this for verbose (\f(CW\*(C`\-v\*(C'\fR) output.
|
|
566
548
|
.ie n .IP """GIT_SUBREPO_DEBUG""" 4
|
|
567
|
-
.el .IP
|
|
549
|
+
.el .IP \f(CWGIT_SUBREPO_DEBUG\fR 4
|
|
568
550
|
.IX Item "GIT_SUBREPO_DEBUG"
|
|
569
551
|
Set this for debugging (\f(CW\*(C`\-d\*(C'\fR) output.
|
|
570
552
|
.SH "Installation Instructions"
|
|
@@ -606,18 +588,18 @@ to your other git commands:
|
|
|
606
588
|
.Ve
|
|
607
589
|
.PP
|
|
608
590
|
This method does not account for upgrading and command completion yet.
|
|
609
|
-
.SS
|
|
591
|
+
.SS Windows
|
|
610
592
|
.IX Subsection "Windows"
|
|
611
593
|
This command is known to work in these Windows environments:
|
|
612
|
-
.IP
|
|
613
|
-
Git for Windows
|
|
614
|
-
.IP
|
|
615
|
-
Babun
|
|
616
|
-
.IP
|
|
617
|
-
Cygwin
|
|
594
|
+
.IP \(bu 4
|
|
595
|
+
Git for Windows \-\- <https://git\-for\-windows.github.io/>
|
|
596
|
+
.IP \(bu 4
|
|
597
|
+
Babun \-\- <http://babun.github.io/>
|
|
598
|
+
.IP \(bu 4
|
|
599
|
+
Cygwin \-\- <https://www.cygwin.com/>
|
|
618
600
|
.PP
|
|
619
601
|
Let us know if there are others that it works (or doesn't work) in.
|
|
620
|
-
.SH
|
|
602
|
+
.SH Testing
|
|
621
603
|
.IX Header "Testing"
|
|
622
604
|
The \f(CW\*(C`git\-subrepo\*(C'\fR repository comes with a extensive test suite. You can
|
|
623
605
|
run it with:
|
|
@@ -631,7 +613,7 @@ or if you don't have \f(CW\*(C`make\*(C'\fR on your system:
|
|
|
631
613
|
.Vb 1
|
|
632
614
|
\& prove \-v test
|
|
633
615
|
.Ve
|
|
634
|
-
.SH
|
|
616
|
+
.SH Upgrading
|
|
635
617
|
.IX Header "Upgrading"
|
|
636
618
|
If you used the \f(CW\*(C`.rc\*(C'\fR or \f(CW\*(C`PATH\*(C'\fR method of installation, just run this to
|
|
637
619
|
upgrade \f(CW\*(C`git\-subrepo\*(C'\fR:
|
|
@@ -668,17 +650,17 @@ need to enable that first:
|
|
|
668
650
|
.PP
|
|
669
651
|
On your system, the Git completion script might be found at any of the
|
|
670
652
|
following locations (or somewhere else that we don't know about):
|
|
671
|
-
.IP
|
|
653
|
+
.IP \(bu 4
|
|
672
654
|
\&\f(CW\*(C`/etc/bash_completion.d/git\*(C'\fR
|
|
673
|
-
.IP
|
|
655
|
+
.IP \(bu 4
|
|
674
656
|
\&\f(CW\*(C`/usr/share/bash\-completion/git\*(C'\fR
|
|
675
|
-
.IP
|
|
657
|
+
.IP \(bu 4
|
|
676
658
|
\&\f(CW\*(C`/usr/share/bash\-completion/completions/git\*(C'\fR
|
|
677
|
-
.IP
|
|
659
|
+
.IP \(bu 4
|
|
678
660
|
\&\f(CW\*(C`/opt/local/share/bash\-completion/completions/git\*(C'\fR
|
|
679
|
-
.IP
|
|
661
|
+
.IP \(bu 4
|
|
680
662
|
\&\f(CW\*(C`/usr/local/etc/bash_completion.d/git\*(C'\fR
|
|
681
|
-
.IP
|
|
663
|
+
.IP \(bu 4
|
|
682
664
|
\&\f(CW\*(C`~/.homebrew/etc/bash_completion.d/git\*(C'\fR
|
|
683
665
|
.PP
|
|
684
666
|
In case you can't find any of these, this repository contains a copy of the
|
|
@@ -703,10 +685,10 @@ function is called:
|
|
|
703
685
|
.Vb 1
|
|
704
686
|
\& fpath=(\*(Aq/path/to/git\-subrepo/share/zsh\-completion\*(Aq $fpath)
|
|
705
687
|
.Ve
|
|
706
|
-
.SH
|
|
688
|
+
.SH Status
|
|
707
689
|
.IX Header "Status"
|
|
708
|
-
The git-subrepo command has been in
|
|
709
|
-
|
|
690
|
+
The git-subrepo command has been used in production and seems to get the job
|
|
691
|
+
done. Development is still ongoing but mostly just for fixing bugs.
|
|
710
692
|
.PP
|
|
711
693
|
Trying subrepo out is simple and painless (this is not \f(CW\*(C`git submodule\*(C'\fR).
|
|
712
694
|
Nothing is permanent (if you do not push to shared remotes). ie You can always
|
|
@@ -718,26 +700,28 @@ issues on anything that seems wrong.
|
|
|
718
700
|
.PP
|
|
719
701
|
If you want to chat about the \f(CW\*(C`git\-subrepo\*(C'\fR command, join \f(CW\*(C`#gitcommands\*(C'\fR on
|
|
720
702
|
\&\f(CW\*(C`irc.freenode.net\*(C'\fR.
|
|
721
|
-
.SH
|
|
703
|
+
.SH Notes
|
|
722
704
|
.IX Header "Notes"
|
|
723
|
-
.IP
|
|
724
|
-
Works on
|
|
725
|
-
.IP
|
|
726
|
-
Works on various Windows environments. See
|
|
727
|
-
.IP
|
|
705
|
+
.IP \(bu 4
|
|
706
|
+
Works on POSIX systems: Linux, BSD, OSX, etc.
|
|
707
|
+
.IP \(bu 4
|
|
708
|
+
Works on various Windows environments. See "Windows" section above.
|
|
709
|
+
.IP \(bu 4
|
|
728
710
|
The \f(CW\*(C`git\-subrepo\*(C'\fR repo itself has 2 subrepos under the \f(CW\*(C`ext/\*(C'\fR subdirectory.
|
|
729
|
-
.IP
|
|
711
|
+
.IP \(bu 4
|
|
730
712
|
Written in (very modern) Bash, with full test suite. Take a look.
|
|
731
|
-
.IP
|
|
713
|
+
.IP \(bu 4
|
|
732
714
|
A \f(CW\*(C`.gitrepo\*(C'\fR file never is in the top level dir (next to a \f(CW\*(C`.git/\*(C'\fR dir).
|
|
733
|
-
.SH
|
|
715
|
+
.SH Authors
|
|
734
716
|
.IX Header "Authors"
|
|
735
|
-
.IP
|
|
717
|
+
.IP \(bu 4
|
|
736
718
|
Ingy döt Net <ingy@ingy.net>
|
|
737
|
-
.IP
|
|
719
|
+
.IP \(bu 4
|
|
738
720
|
Magnus Carlsson <grimmymail@gmail.com>
|
|
721
|
+
.IP \(bu 4
|
|
722
|
+
Austin Morgan <admorgan@morgancomputers.net>
|
|
739
723
|
.SH "License and Copyright"
|
|
740
724
|
.IX Header "License and Copyright"
|
|
741
|
-
The
|
|
725
|
+
The MIT License (MIT)
|
|
742
726
|
.PP
|
|
743
727
|
Copyright (c) 2013\-2020 Ingy döt Net
|
|
@@ -82,11 +82,6 @@ sub generate_zsh {
|
|
|
82
82
|
|
|
83
83
|
# DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
|
|
84
84
|
|
|
85
|
-
if [[ -z $GIT_SUBREPO_ROOT ]]; then
|
|
86
|
-
echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?'
|
|
87
|
-
return 3
|
|
88
|
-
fi
|
|
89
|
-
|
|
90
85
|
_git-subrepo() {
|
|
91
86
|
typeset -A opt_args
|
|
92
87
|
local curcontext="$curcontext" state line context
|
|
@@ -161,8 +156,6 @@ sub generate_bash {
|
|
|
161
156
|
}
|
|
162
157
|
|
|
163
158
|
print <<"...";
|
|
164
|
-
#!bash
|
|
165
|
-
|
|
166
159
|
# DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
|
|
167
160
|
|
|
168
161
|
_git_subrepo() {
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
#!bash
|
|
2
|
-
|
|
3
1
|
# DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
|
|
4
2
|
|
|
5
3
|
_git_subrepo() {
|
|
6
|
-
local _opts=" -h --help --version -a --all -A --ALL -b= --branch= -e --edit -f --force -F --fetch -M= --method=
|
|
4
|
+
local _opts=" -h --help --version -a --all -A --ALL -b= --branch= -e --edit -f --force -F --fetch -M= --method= -m= --message= --file= -r= --remote= -s --squash -u --update -q --quiet -v --verbose -d --debug -x --DEBUG"
|
|
7
5
|
local subcommands="branch clean clone commit config fetch help init pull push status upgrade version"
|
|
8
6
|
local subdircommands="branch clean commit config fetch pull push status"
|
|
9
7
|
local subcommand="$(__git_find_on_cmdline "$subcommands")"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
# shellcheck shell=bash
|
|
2
2
|
|
|
3
3
|
# Enable git-subrepo completion facilities
|
|
4
4
|
if [[ -n ${BASH_VERSION-} ]]; then
|
|
@@ -19,7 +19,7 @@ if [[ -n ${BASH_VERSION-} ]]; then
|
|
|
19
19
|
# If a file is found at the location being checked…
|
|
20
20
|
if [[ -f $f ]]; then
|
|
21
21
|
# …source it.
|
|
22
|
-
source $f
|
|
22
|
+
source "$f"
|
|
23
23
|
[[ $(type -t __gitcomp) != function ]] &&
|
|
24
24
|
echo "WARNING: Git completion script '$f' does not provide a '__gitcomp' function"
|
|
25
25
|
# Proceed to loading our Bash completion facilities.
|
|
@@ -46,5 +46,5 @@ elif [[ -n ${ZSH_VERSION-} ]]; then
|
|
|
46
46
|
# Prepend to `fpath` the path of the directory containing our zsh
|
|
47
47
|
# completion script, so that our completion script will be hooked into the
|
|
48
48
|
# zsh completion system.
|
|
49
|
-
fpath=($GIT_SUBREPO_ROOT/share/zsh-completion $fpath)
|
|
49
|
+
fpath=("$GIT_SUBREPO_ROOT/share/zsh-completion" "${fpath[@]}")
|
|
50
50
|
fi
|