blob: 572d1d397e779b8efc687fa96a33e9ad03fc6df7 [file] [log] [blame]
Joey Armstrongdc364a12024-02-29 15:14:11 -05001#!/bin/bash
2## -----------------------------------------------------------------------
3## Intent: Construct gerrit server queries and URLs based on arguments
4## -----------------------------------------------------------------------
5
6{ # loader
7 declare pgm=''
8 pgm="$(realpath --canonicalize-existing "$0")"
Joey Armstrong76f861a2024-03-13 16:01:24 -04009 readonly pgm
Joey Armstrongdc364a12024-02-29 15:14:11 -050010
Joey Armstrong76f861a2024-03-13 16:01:24 -040011 declare libdir="${pgm%/*}"
12 libdir="${libdir%/*}/gerrit"
13 readonly libdir
14
15 declare root=''
16 root="${pgm%%/gerrit/bin/gerrit.sh}"
17 source "$root/lf/onf-common/common.sh" '--common-args-begin--'
Joey Armstrongdc364a12024-02-29 15:14:11 -050018}
19
20##-------------------##
21##---] GLOBALS [---##
22##-------------------##
23declare -g serv='gerrit.opencord.org'
Joey Armstrong76f861a2024-03-13 16:01:24 -040024declare -x -g BROWSER="${BROWSER:-/usr/local/bin/firefox}"
25declare -g -a me=()
26
27##--------------------##
28##---] INCLUDES [---##
29##--------------------##
Joey Armstrongc5542fa2024-03-25 11:49:47 -040030source "${libdir}/filters/include.sh"
Joey Armstrongd5e1b632024-03-25 12:18:00 -040031source "${libdir}/do/include.sh"
Joey Armstrong76f861a2024-03-13 16:01:24 -040032source "${libdir}/usage/include.sh"
Joey Armstrong76f861a2024-03-13 16:01:24 -040033
Joey Armstrongc5542fa2024-03-25 11:49:47 -040034## --------------------------------------------------------------------
35## --------------------------------------------------------------------
36function error()
37{
38 cat <<ERROR
39
40** -----------------------------------------------------------------------
41** IAM: ${FUNCNAME[1]}
42** ERROR: $@
43** -----------------------------------------------------------------------
44ERROR
Joey Armstrongd5e1b632024-03-25 12:18:00 -040045 echo
Joey Armstrongc5542fa2024-03-25 11:49:47 -040046 exit 1
47}
Joey Armstrongdc364a12024-02-29 15:14:11 -050048
49## -----------------------------------------------------------------------
50## -----------------------------------------------------------------------
Joey Armstrong76f861a2024-03-13 16:01:24 -040051# function join_by_orig()
52function join_by()
Joey Armstrongdc364a12024-02-29 15:14:11 -050053{
54 local d=${1-} f=${2-}; if shift 2; then printf %s "$f" "${@/#/$d}"; fi;
55}
56
57## -----------------------------------------------------------------------
58## Usage: $0 --repo voltha-go --search --wip
59## -----------------------------------------------------------------------
Joey Armstrongd5e1b632024-03-25 12:18:00 -040060function do_gerrit_search_orig()
Joey Armstrongdc364a12024-02-29 15:14:11 -050061{
62 local -n ref_urls=$1 ; shift
63 local -n ref_repos=$1 ; shift
64 local -n ref_status=$1 ; shift
65
Joey Armstrong76f861a2024-03-13 16:01:24 -040066 ref_urls=()
67
Joey Armstrongdc364a12024-02-29 15:14:11 -050068 # local stem='https://gerrit.opencord.org/q/project:voltha-go+status:open'
69 local stem='https://gerrit.opencord.org/q/'
70
Joey Armstrong76f861a2024-03-13 16:01:24 -040071 local -a common=()
72 [[ -v me ]] && { common+=("${me[@]}"); }
73 common+=("${ref_status[@]}")
74
Joey Armstrongdc364a12024-02-29 15:14:11 -050075 local repo
76 for repo in "${ref_repos[@]}";
Joey Armstrong76f861a2024-03-13 16:01:24 -040077 do
78 local -a args=()
Joey Armstrongdc364a12024-02-29 15:14:11 -050079 args+=("project:${repo}")
Joey Armstrong76f861a2024-03-13 16:01:24 -040080 args+=("${common[@]}")
Joey Armstrongdc364a12024-02-29 15:14:11 -050081
82 local url="$stem"
83 url+="$(join_by '+' "${args[@]}")"
84 ref_urls+=("$url")
85 done
86
Joey Armstrong76f861a2024-03-13 16:01:24 -040087 if [[ ${#ref_urls[@]} -eq 0 ]]; then
88 local -a args=()
89 args=("${common[@]}")
Joey Armstrongdc364a12024-02-29 15:14:11 -050090
Joey Armstrong76f861a2024-03-13 16:01:24 -040091 local url="$stem"
92 url+="$(join_by '+' "${args[@]}")"
93 ref_urls+=("$url")
94 fi
95
Joey Armstrongd5e1b632024-03-25 12:18:00 -040096 # --debug) declare -g -i debug=1 ;;
Joey Armstrongdc364a12024-02-29 15:14:11 -050097 # --search) declare -g -i search=1 ;;
98 # --wip) declare -g -i status_is_open=1 ;;
Joey Armstrong76f861a2024-03-13 16:01:24 -040099
100 return
Joey Armstrongdc364a12024-02-29 15:14:11 -0500101}
102
Joey Armstrongc5542fa2024-03-25 11:49:47 -0400103## -----------------------------------------------------------------------
Joey Armstrongdc364a12024-02-29 15:14:11 -0500104## Intent: Iterate over --admin values and generate repositories
105## -----------------------------------------------------------------------
106function gen_admin_urls()
107{
108 local -n ref=$1 ; shift
109 local -n _repos=$1 ; shift
110 local -n _admins=$1 ; shift
111
112 local repo
113 for repo in "${_repos[@]}";
114 do
115 local attr
116 for admin in "${_admins[@]}";
117 do
118 # https://gerrit.opencord.org/admin/repos/voltha-go
119 case "$admin" in
120 branches)
121 ref+=("https://gerrit.opencord.org/admin/repos/${repo},branches")
122 ;;
123 tags)
124 ref+=("https://gerrit.opencord.org/admin/repos/${repo},tags")
125 ;;
126 *) error "Unknown --admin type [$admin]" ;;
127 esac
Joey Armstrong76f861a2024-03-13 16:01:24 -0400128
Joey Armstrongdc364a12024-02-29 15:14:11 -0500129 done # admins[@]
130 done # repos[@]
131 return
132}
Joey Armstrong76f861a2024-03-13 16:01:24 -0400133
Joey Armstrongdc364a12024-02-29 15:14:11 -0500134## -----------------------------------------------------------------------
135## Intent: Iterate over --admin values and generate repositories
136## -----------------------------------------------------------------------
137function gen_view_urls()
138{
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400139 # shellcheck disable=SC2178
Joey Armstrongdc364a12024-02-29 15:14:11 -0500140 local -n ref=$1 ; shift
141 local -n _repos=$1 ; shift
142 local -n _views=$1 ; shift
143
144 local -a view_keys=("${!_views[@]}")
145 local stem0="https://gerrit.opencord.org/plugins/gitiles"
146
147 # https://gerrit.opencord.org/plugins/gitiles/ofagent-go
Joey Armstrong76f861a2024-03-13 16:01:24 -0400148
Joey Armstrongdc364a12024-02-29 15:14:11 -0500149 local repo
150 for repo in "${_repos[@]}";
151 do
Joey Armstrongdc364a12024-02-29 15:14:11 -0500152 local stem="${stem0}/$repo"
153 local view
154 for view in "${view_keys[@]}";
155 do
Joey Armstrongdc364a12024-02-29 15:14:11 -0500156 # https://gerrit.opencord.org/admin/repos/voltha-go
157 case "$view" in
158 # https://gerrit.opencord.org/plugins/gitiles/voltha-system-tests
159 search) continue ;;
160 default) ref+=("$stem") ;;
161 # repo*) ref+=("$stem/$repo") ;;
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400162 repo*) ref+=("$stem") ;;
163 master)
164 ref+=("$stem/+/refs/heads/master")
Joey Armstrongdc364a12024-02-29 15:14:11 -0500165 ;;
166
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400167 voltha-*)
168 echo "STEM: $stem"
169 if false; then
170 ref+=("$stem/+/refs/tags/${view}")
171 ref+=("$stem/+/refs/heads/${view}")
172 fi
173 # ref+=("$stem/+/refs/heads/${view}")
174 ref+=("$stem/+/refs/heads/${view}")
175 ;;
176
177 v*) ref+=("$stem/+/refs/tags/${view}") ;;
Joey Armstrongdc364a12024-02-29 15:14:11 -0500178 *) error "Unknown --view type [$view]" ;;
179 esac
180 done # views[@]
181 done # repos[@]
182
183 for r in "${ref[@]}";
184 do
185 echo "REPO: $r"
186 done
187
188 return
189}
Joey Armstrong76f861a2024-03-13 16:01:24 -0400190
Joey Armstrongdc364a12024-02-29 15:14:11 -0500191## -----------------------------------------------------------------------
192## -----------------------------------------------------------------------
193function get_urls()
194{
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400195 # shellcheck disable=SC2178
Joey Armstrongdc364a12024-02-29 15:14:11 -0500196 local -n ref="$1"; shift
197 local _srv="$1"; shift
198
199 local gerrit="https://${_srv}"
200 ref=(\
201 ['admin']="$gerrit/admin/repos"
202 ['base']="$gerrit"\
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400203 ['dashboard']="$gerrit/dashboard/self"\
204 )
Joey Armstrongdc364a12024-02-29 15:14:11 -0500205 return
206}
207
208## -----------------------------------------------------------------------
209## -----------------------------------------------------------------------
210function changeset()
211{
212 local _repo="$1"; shift
213 local _id="$1"; shift
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400214 # shellcheck disable=SC2178
Joey Armstrongdc364a12024-02-29 15:14:11 -0500215 local -n ref=$1; shift
216
217 local url="https://gerrit.opencord.org/c/${repo}/+/${id}"
218 ref+=("$url")
219 return
220}
221
222## -----------------------------------------------------------------------
223## -----------------------------------------------------------------------
224function browse()
225{
226 local -n _urls=$1; shift
Joey Armstrongdc364a12024-02-29 15:14:11 -0500227 "${BROWSER}" "${_urls[@]}" >/dev/null 2>/dev/null &
228 return
229}
230
231## -----------------------------------------------------------------------
232## -----------------------------------------------------------------------
233function access_url()
234{
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400235 # shellcheck disable=SC2178
Joey Armstrongdc364a12024-02-29 15:14:11 -0500236 local -n ref=$1; shift
237 local _repo="$1"; shift
238
239 declare -A data=()
240 get_urls data "$serv"
241
242 # declare -p data | tr '=' '\n'
243 # ref+=("https://gerrit.opencord.org/admin/repos/${_repo},access")
244 ref+=("${data['admin']}/${_repo},access")
245
246 # browse urls
247 return
248}
249
250## -----------------------------------------------------------------------
251## -----------------------------------------------------------------------
252function branch_url()
253{
254 local _repo="$1"; shift
255 local -a urls=()
256 urls+=("https://gerrit.opencord.org/admin/repos/${_repo},branches")
257 browse urls
258 return
259}
260
261## -----------------------------------------------------------------------
262## -----------------------------------------------------------------------
263function do_gerrit_dashboard()
264{
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400265 # shellcheck disable=SC2178
Joey Armstrongdc364a12024-02-29 15:14:11 -0500266 local -n ref=$1; shift
Joey Armstrong76f861a2024-03-13 16:01:24 -0400267
Joey Armstrongdc364a12024-02-29 15:14:11 -0500268 declare -A data=()
269 get_urls data "$serv"
270 ref+=("${data['dashboard']}")
271 return
272}
Joey Armstrongdc364a12024-02-29 15:14:11 -0500273
274# https://gerrit.opencord.org/q/status:open+-is:wip
275
276# repo=''
277declare -a urls=()
278
279##----------------##
280##---] MAIN [---##
281##----------------##
282[[ $# -eq 0 ]] && { set -- '--help'; }
283
284while [ $# -ne 0 ]; do
285 arg="$1"; shift
286 case "$arg" in
287 --help) usage; exit 0 ;;
Joey Armstrong76f861a2024-03-13 16:01:24 -0400288 --help-*)
289 case "$arg" in
290 --help-status) usage_verbose "$arg" ;;
291 *) usage ;;
292 esac
293 exit 0
294 ;;
Joey Armstrongdc364a12024-02-29 15:14:11 -0500295
296 ## Modes
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400297 --debug)
298 # shellcheck disable=SC2034
Joey Armstrongdc364a12024-02-29 15:14:11 -0500299 declare -g -i argv_debug=1
300 declare -g -i debug=1
301 ;;
302 --search) declare -g -i argv_search=1 ;;
Joey Armstrong76f861a2024-03-13 16:01:24 -0400303
304 --me)
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400305 # shellcheck disable=SC2034
Joey Armstrongc5542fa2024-03-25 11:49:47 -0400306 declare -g -i argv_me=1
Joey Armstrong76f861a2024-03-13 16:01:24 -0400307 me+=("owner:${USER}@opennetworking.org")
308 ;;
309
310 --todo) source "$root/gerrit/todo.sh" ;;
311
Joey Armstrongdc364a12024-02-29 15:14:11 -0500312 --wip)
Joey Armstrong76f861a2024-03-13 16:01:24 -0400313 declare -a args=()
314 args=('--status' 'open')
315 [[ $# -gt 0 ]] && { args+=("$@"); }
316 set -- "${args[@]}"
Joey Armstrongdc364a12024-02-29 15:14:11 -0500317 ;;
318
319 --admin)
320 [[ ! -v admins ]] && { declare -a admins=(); }
321 arg="$1"; shift
322 case "$arg" in
323 br*) admins+=('branches') ;;
324 ta*) admins+=('tags') ;;
325 *) error "Unknown --attr value [$attr]" ;;
326 ## Also master and voltha-2.12
327 # https://gerrit.opencord.org/plugins/gitiles/voltha-go/+/refs/heads/voltha-2.12
328 esac
329 ;;
330
331 --all)
332 repo="$1"; shift
333 declare -a args=()
334 args+=('--repo' "$repo")
Joey Armstrong76f861a2024-03-13 16:01:24 -0400335 #
Joey Armstrongdc364a12024-02-29 15:14:11 -0500336 args+=('--admin' 'branches')
337 args+=('--admin' 'tags')
338
339 # args+=('--view') # post getopts expansion
340 # if @versions() else master
341 if [[ ${#versions[@]} -eq 0 ]]; then
342 versions+=('master')
343 fi
344
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400345 # args+=('--view' 'voltha-2.11')
Joey Armstrongdc364a12024-02-29 15:14:11 -0500346 args+=('--view' 'voltha-2.12')
347 set -- "${args[@]}" "$@"
348 ;;
349
Joey Armstrong76f861a2024-03-13 16:01:24 -0400350 --repo)
Joey Armstrongdc364a12024-02-29 15:14:11 -0500351 repo="$1"; shift
352 [[ ! -v repos ]] && { declare -a repos=(); }
353 repos+=("$repo")
354 ;;
Joey Armstrong76f861a2024-03-13 16:01:24 -0400355
Joey Armstrongdc364a12024-02-29 15:14:11 -0500356 --serv) serv="$1"; shift
Joey Armstrong76f861a2024-03-13 16:01:24 -0400357 case "$serv" in
Joey Armstrongdc364a12024-02-29 15:14:11 -0500358 *cord*) serv='gerrit.opencord.org' ;;
359 *onos*) serv='gerrit.onosproject.org' ;;
360 *) error "Detected invalid --serv $serv" ;;
361 esac
362 ;;
363
364 --access)
365 [[ ! -v repo ]] && { error "--repo is required"; }
366 access_url urls "$repo"
367 ;;
368
369 --branch)
370 [[ ! -v repo ]] && { error "--repo is required"; }
371 branch_url "$repo"
372 ;;
373
374 --crowd*)
375 # https://crowd.opennetworking.org/crowd/console/secure/group/browse.action?directoryId=163841&updateSuccessful=
376 declare https='https://crowd.opennetworking.org'
377 declare base_url="${https}/crowd/console/secure/group/browse.action"
378 case "$arg" in
379 --crowd-*)
380 # urls+=("${base_url}?directoryId=163841&updateSuccessful=")
381 urls+=("${base_url}")
382 ;;
383 *)
384 # https://crowd.opennetworking.org/crowd/console/secure/group/browse.action?search=%22VOLTHACore%22
385 [[ $# -eq 0 ]] && { error "--crowd requires an argument"; }
386 arg="$1"; shift
387 urls+=("${base_url}?search=%22${arg}%22")
388 ;;
389 esac
390 ;;
391
Joey Armstrong76f861a2024-03-13 16:01:24 -0400392 --*desk) error "Try --dashboard instead" ;;
Joey Armstrongdc364a12024-02-29 15:14:11 -0500393 --dash*) do_gerrit_dashboard urls ;;
Joey Armstrong76f861a2024-03-13 16:01:24 -0400394
395 #
Joey Armstrongdc364a12024-02-29 15:14:11 -0500396 --group*)
397 case "$arg" in
398 --group*)
399 urls+=("https://${serv}/admin/groups")
400 ;;
401 *)
402 [[ $# -eq 0 ]] && { error "--group requires an argument"; }
403 arg="$1"; shift
404 urls+=("https://${serv}/admin/groups/q/filter:${arg}}")
405 ;;
406 esac
407 ;;
408
409 --id)
410 id="$1"; shift
411 [[ ${#repo} -eq 0 ]] && { error "--repo is required"; }
412 changeset "$repo" "$id" urls
413 ;;
414
415 --status)
Joey Armstrong76f861a2024-03-13 16:01:24 -0400416 arg="$1"; shift # open, closed, merged
417 case "$arg" in
418 closed|open|merged) add_filter_status "$arg";;
419 *) error "Detected invalid --status [$arg]" ;;
420 esac
Joey Armstrongdc364a12024-02-29 15:14:11 -0500421 ;;
422
423 --patch*)
424 repo="$1"; shift
Joey Armstrongc5542fa2024-03-25 11:49:47 -0400425 urls+=("https://gerrit.opencord.org/q/${repo}+status:open")
Joey Armstrongdc364a12024-02-29 15:14:11 -0500426 # https://gerrit.opencord.org/q/voltha-openolt-adapter-go
427 ;;
Joey Armstrongc5542fa2024-03-25 11:49:47 -0400428
429 --reviewer)
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400430 [[ $# -eq 0 ]] && { error '--reviewer requires an argument'; }
Joey Armstrongc5542fa2024-03-25 11:49:47 -0400431 arg="$1"; shift
432 add_filter_reviewer "$arg"
433
434 declare -g -i argv_review=1
435 # Replace with: set -- '--review' "$@"
Joey Armstrongdc364a12024-02-29 15:14:11 -0500436 ;;
437
Joey Armstrongc5542fa2024-03-25 11:49:47 -0400438 --review) declare -g -i argv_review=1 ;;
439
Joey Armstrongdc364a12024-02-29 15:14:11 -0500440 --ver*)
441 [[ $# -eq 0 ]] && { error "Usage: $arg [str]"; }
442 arg="$1"; shift
443 [[ ! -v versions ]] && { declare -a versions=(); }
444 versions+=("$arg")
445 ;;
446
447 # post getopt expansion to support --version x --version y
448 --view)
449 [[ $# -eq 0 ]] && { set -- '--default'; }
450 arg="$1"; shift
451 # [[ "${#views[@]}" -gt 0 ]]
452 [[ ! -v views ]] && { declare -A views=(); }
453 case "$arg" in
454
455 search*)
456 urls+=('https://gerrit.opencord.org/admin/repos')
457 ;;
458
459 repo) views['repository']=1 ;;
Joey Armstrong76f861a2024-03-13 16:01:24 -0400460
Joey Armstrongdc364a12024-02-29 15:14:11 -0500461 # https://gerrit.opencord.org/plugins/gitiles/voltha-go
462 master) views['master']=1 ;;
463 voltha*) views["$arg"]=1 ;;
464 v*) views["$arg"]=1 ;;
465 *)
466 # Missing latest tags
467 views['default']=1
468 views['master']=1
469 ;;
470 esac
471 ;;
Joey Armstrong76f861a2024-03-13 16:01:24 -0400472
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400473 -*)
474 echo "ERROR: Unknown argument [$arg]"
475 exit 1
476 ;;
Joey Armstrong76f861a2024-03-13 16:01:24 -0400477
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400478 [[:alnum:]]*)
Joey Armstrongdc364a12024-02-29 15:14:11 -0500479 declare -a what=()
480 # whats+=('patches')
481 whats+=('versions')
482
483 stem="https://gerrit.opencord.org/q/${arg}"
Joey Armstrong76f861a2024-03-13 16:01:24 -0400484
Joey Armstrongdc364a12024-02-29 15:14:11 -0500485 for what in "${whats[@]}";
486 do
487 case "$what" in
488 patches) urls+=("https://gerrit.opencord.org/q/${arg}") ;;
489 versions)
490 urls+=("https://gerrit.opencord.org/plugins/gitiles/${arg}/+/refs/heads/master/VERSION")
491 # urls+=("https://gerrit.opencord.org/plugins/gitiles/${arg}/+/refs/tags/v0.3.6/VERSION")
492 urls+=("https://gerrit.opencord.org/plugins/gitiles/${arg}/+/refs/heads/voltha-2.12/VERSION")
493 ;;
494 '??') urls+=("https://gerrit.opencord.org/plugins/gitiles/${arg}") ;;
495 *) urls+=("https://gerrit.opencord.org/q/${arg}") ;;
496 esac
497 done
498 esac
499done
500
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400501[[ -v argv_search ]] && { do_gerrit_search urls repos argv_status; }
Joey Armstrongc5542fa2024-03-25 11:49:47 -0400502[[ -v admins ]] && { gen_admin_urls urls repos admins; }
Joey Armstrongc5542fa2024-03-25 11:49:47 -0400503[[ -v argv_review ]] && { do_gerrit_review urls repos argv_status; }
Joey Armstrongdc364a12024-02-29 15:14:11 -0500504
505## are --views working ?
506[[ "${#views[@]}" -gt 0 ]] && { gen_view_urls urls repos views; }
Joey Armstrongdc364a12024-02-29 15:14:11 -0500507
Joey Armstrong76f861a2024-03-13 16:01:24 -0400508if [[ ${#urls[@]} -eq 0 ]]; then
Joey Armstrongd5e1b632024-03-25 12:18:00 -0400509 # shellcheck disable=SC2034
Joey Armstrong76f861a2024-03-13 16:01:24 -0400510 declare -a show_all=() # show all for visiblity
511 do_gerrit_search urls repos show_all
512fi
513
Joey Armstrongdc364a12024-02-29 15:14:11 -0500514[[ -v debug ]] && { echo "$BROWSER" "${urls[@]}"; }
Joey Armstrong76f861a2024-03-13 16:01:24 -0400515
516if [[ ${#urls[@]} -gt 0 ]]; then
517 apply_filter_status urls
518 browse urls
519fi
Joey Armstrongdc364a12024-02-29 15:14:11 -0500520
521## -----------------------------------------------------------------------
522## [TODO]
523## Query patches by repo:voltha-lib-go
524## ssh gerrit.opencord.org gerrit query --patch-sets projects:voltha-lib-go | grep -i description
525# ssh gerrit.opencord.org gerrit query --patch-sets 'projects:voltha-lib-go AND status:open limit:2' |
526
527# Show URL and Commit message
528# ssh gerrit.opencord.org gerrit query --format=JSON --patch-sets 'projects:voltha-lib-go AND status:open limit:2' | jq '.url,.commitMessage'
529## -----------------------------------------------------------------------
530
531# [EOF]
Joey Armstrong76f861a2024-03-13 16:01:24 -0400532
533
534# 1) gerrit.sh --search --me --wip
535# query> owner:joey@opennetworking.org status:open
536
537# --search --me
538# args+=("owner:${USER}@opennetworking.org")
539
540# --wip)
541# argv_status+=('status:open')
542# ;;
543
Joey Armstrong76f861a2024-03-13 16:01:24 -0400544# [EOF]