An example of running through https://github.com/joyent/joyent-repos/blob/master/README.md#how-to-use-jr-to-update-the-sdc-scripts-git-submodule-in-all-triton-repos for TRITON-380.
$ mkdir ~/tmp/triton-380
$ cd !$
Clone the relevant dirs:
$ jr clone -l triton,vm
Clone 30 repos into "/Users/trentm/joy/triton-380"? [y/N] y
cloned "binder" to "/Users/trentm/joy/triton-380/binder" (1s)
cloned "mahi" to "/Users/trentm/joy/triton-380/mahi" (1s)
cloned "moray" to "/Users/trentm/joy/triton-380/moray" (2s)
cloned "sdc-amon" to "/Users/trentm/joy/triton-380/sdc-amon" (2s)
cloned "sdc-assets" to "/Users/trentm/joy/triton-380/sdc-assets" (1s)
cloned "sdc-amonredis" to "/Users/trentm/joy/triton-380/sdc-amonredis" (1s)
cloned "sdc-cloud-analytics" to "/Users/trentm/joy/triton-380/sdc-cloud-analytics" (2s)
cloned "sdc-booter" to "/Users/trentm/joy/triton-380/sdc-booter" (3s)
cloned "sdc-cnapi" to "/Users/trentm/joy/triton-380/sdc-cnapi" (4s)
cloned "sdc-fwapi" to "/Users/trentm/joy/triton-380/sdc-fwapi" (2s)
cloned "sdc-adminui" to "/Users/trentm/joy/triton-380/sdc-adminui" (8s)
cloned "sdc-manatee" to "/Users/trentm/joy/triton-380/sdc-manatee" (1s)
cloned "sdc-manta" to "/Users/trentm/joy/triton-380/sdc-manta" (1s)
cloned "sdc-nat" to "/Users/trentm/joy/triton-380/sdc-nat" (1s)
cloned "sdc-imgapi" to "/Users/trentm/joy/triton-380/sdc-imgapi" (3s)
cloned "sdc-napi" to "/Users/trentm/joy/triton-380/sdc-napi" (2s)
cloned "sdc-nfsserver" to "/Users/trentm/joy/triton-380/sdc-nfsserver" (1s)
cloned "sdc-papi" to "/Users/trentm/joy/triton-380/sdc-papi" (1s)
cloned "sdc-portolan" to "/Users/trentm/joy/triton-380/sdc-portolan" (1s)
cloned "sdc-rabbitmq" to "/Users/trentm/joy/triton-380/sdc-rabbitmq" (1s)
cloned "sdc-docker" to "/Users/trentm/joy/triton-380/sdc-docker" (9s)
cloned "sdc-sapi" to "/Users/trentm/joy/triton-380/sdc-sapi" (1s)
cloned "sdc-sdc" to "/Users/trentm/joy/triton-380/sdc-sdc" (1s)
cloned "sdc-volapi" to "/Users/trentm/joy/triton-380/sdc-volapi" (1s)
cloned "sdc-cloudapi" to "/Users/trentm/joy/triton-380/sdc-cloudapi" (13s)
cloned "sdc-workflow" to "/Users/trentm/joy/triton-380/sdc-workflow" (1s)
cloned "sdc-vmapi" to "/Users/trentm/joy/triton-380/sdc-vmapi" (3s)
cloned "triton-cmon" to "/Users/trentm/joy/triton-380/triton-cmon" (1s)
cloned "sdc-ufds" to "/Users/trentm/joy/triton-380/sdc-ufds" (4s)
cloned "triton-cns" to "/Users/trentm/joy/triton-380/triton-cns" (1s)
Init the submodule in prep for updating it:
$ jr oneach 'git submodule update --init -- deps/sdc-scripts'
# sdc-amon
Submodule path 'deps/sdc-scripts': checked out 'bda632a69ff44114f9faf689a5cd4af1fe578d66'
Submodule 'deps/sdc-scripts' (https://github.com/joyent/sdc-scripts.git) registered for path 'deps/sdc-scripts'
Cloning into '/Users/trentm/tmp/triton-380/sdc-amon/deps/sdc-scripts'...
# mahi
Submodule path 'deps/sdc-scripts': checked out 'bda632a69ff44114f9faf689a5cd4af1fe578d66'
Submodule 'deps/sdc-scripts' (https://github.com/joyent/sdc-scripts.git) registered for path 'deps/sdc-scripts'
Cloning into '/Users/trentm/tmp/triton-380/mahi/deps/sdc-scripts'...
...
# triton-cmon
error: pathspec 'deps/sdc-scripts' did not match any file(s) known to git.
# triton-cns
error: pathspec 'deps/sdc-scripts' did not match any file(s) known to git.
# sdc-workflow
Submodule path 'deps/sdc-scripts': checked out 'bda632a69ff44114f9faf689a5cd4af1fe578d66'
Submodule 'deps/sdc-scripts' (https://github.com/joyent/sdc-scripts.git) registered for path 'deps/sdc-scripts'
Cloning into '/Users/trentm/tmp/triton-380/sdc-workflow/deps/sdc-scripts'...
jr oneach: error: first of 2 errors: exec error in repo "triton-cmon": exec "/bin/bash -c git submodule update --init -- deps/sdc-scripts": exited with status 1
Update to latest:
$ jr oneach 'cd deps/sdc-scripts && git checkout master'
...
cmon and cns use package.json instead of a git submodule:
vi triton-cmon/package.json
vi triton-cns/package.json
Check changes:
$ jr oneach 'git diff'
...
Prepare for creating a CR for each:
$ jr oneach 'grr TRITON-380'
# mahi
Adding "cr" git remote: [email protected]:joyent/mahi.git
Issue: TRITON-380 work around logadm.conf "/var/log/*.log" entry in newer origins to not lose logs
Creating branch for CR: grr-TRITON-380
Make commits and run `grr` in this branch to create a CR.
...
# triton-cns
Adding "cr" git remote: [email protected]:joyent/triton-cns.git
Issue: TRITON-380 work around logadm.conf "/var/log/*.log" entry in newer origins to not lose logs
Creating branch for CR: grr-TRITON-380
Make commits and run `grr` in this branch to create a CR.
Make the commit in each:
$ jr oneach 'git commit -am "update to latest sdc-scripts"'
# binder
[grr-TRITON-380 a2d0ac6] update to latest sdc-scripts
1 file changed, 1 insertion(+), 1 deletion(-)
# sdc-amon
[grr-TRITON-380 36e000f] update to latest sdc-scripts
1 file changed, 1 insertion(+), 1 deletion(-)
...
Make a gerrit CR for each:
$ jr oneach 'grr' # creates a CR
# mahi
Issue: TRITON-380 work around logadm.conf "/var/log/*.log" entry in newer origins to not lose logs
New commits (1):
61a71a4 update to latest sdc-scripts
Creating CR:
...
CR created: 4030 patchset 1 <https://cr.joyent.us/4030>
# sdc-amon
...
Get reviews. THen update the commit message on each CR:
$ jr oneach grr
# sdc-amonredis
Issue: TRITON-380 work around logadm.conf "/var/log/*.log" entry in newer origins to not lose logs
No new commits after b5155b73f863
Updating CR 4035 commit message:
...
CR commit message updated: 4035 patchset 2 <https://cr.joyent.us/4035>
...
Then submit each CR (this grr -s
is incomplete and isn't commited yet):
$ jr oneach 'grr -s'
# sdc-adminui
Issue: undefined undefined
$ ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 29418 [email protected] gerrit review --submit 4034,2
Submitted CR 4034 patchset 2 <https://cr.joyent.us/4034>
(You can delete this grr-* branch with `grr -D`.)
# sdc-cloud-analytics
...