【Shell】【Gerrit】for循环之批量设置gerrit submit-type类型为REBASE_IF_NECESSARY

1.shell中for循环语法:

for L_PROJECT in $(ssh -p xxxx xxx.xxx.xxx gerrit ls-projects); do
    echo ${L_PROJECT}
    ssh -p xxxx xxx.xxx.xxx gerrit set-project ${L_PROJECT} --submit-type REBASE_IF_NECESSARY
done

2.gerrit ssh常用命令:

annie.wu@xxxx:~/work$ ssh -p xxxx xxx.xxx.xxx gerrit --help
gerrit [COMMAND] [ARG ...] [--] [--help (-h)]

 --          : end of options (default: false)
 --help (-h) : display this help text (default: true)

Available commands of gerrit are:

   apropos               Search in Gerrit documentation
   ban-commit            Ban a commit from a project's repository
   close-connection      Close the specified SSH connection
   convert-ref-storage   Convert ref storage to reftable (experimental)
   create-account        Create a new batch/role account
   create-branch         Create a new branch
   create-group          Create a new account group
   create-project        Create a new project and associated Git repository
   flush-caches          Flush some/all server caches from memory
   gc                    Run Git garbage collection
   index
   logging
   ls-groups             List groups visible to the caller
   ls-members            List the members of a given group
   ls-projects           List projects visible to the caller
   ls-user-refs          List refs visible to a specific user
   plugin
   query                 Query the change database
   receive-pack          Standard Git server side command for client side git push
   reload-config         Reloads the Gerrit configuration
   rename-group          Rename an account group
   review                Apply reviews to one or more patch sets
   sequence
   set-account           Change an account's settings
   set-head              Change HEAD reference for a project
   set-members           Modify members of specific group or number of groups
   set-project           Change a project's settings
   set-project-parent    Change the project permissions are inherited from
   set-reviewers         Add or remove reviewers on a change
   set-topic             Set the topic for one or more changes
   show-caches           Display current cache statistics
   show-connections      Display active client SSH connections
   show-queue            Display the background work queues
   stream-events         Monitor events occurring in real time
   test-submit
   version               Display gerrit version

See 'gerrit COMMAND --help' for more information.

3.gerrit set-project命令选项:

annie.wu@xxxx:~/work$ ssh -p xxxx xxx.xxx.xxx gerrit set-project --help
gerrit set-project NAME [--] [--change-id [TRUE | FALSE | INHERIT]] [--content-merge [TRUE | FALSE | INHERIT]] [--contributor-agreements [TRUE | FALSE | INHERIT]] [--description (-d) DESCRIPTION] [--help (-h)] [--max-object-size-limit VAL] [--no-change-id (--nid)] [--no-content-merge] [--no-contributor-agreements (--nca)] [--no-signed-off-by (--nso)] [--project-state (--ps) [ACTIVE | READ_ONLY | HIDDEN]] [--require-change-id (--id)] [--signed-off-by [TRUE | FALSE | INHERIT]] [--submit-type (-t) [INHERIT | FAST_FORWARD_ONLY | MERGE_IF_NECESSARY | REBASE_IF_NECESSARY | REBASE_ALWAYS | MERGE_ALWAYS | CHERRY_PICK]] [--trace] [--trace-id VAL] [--use-content-merge] [--use-contributor-agreements (--ca)] [--use-signed-off-by (--so)]

 NAME                                   : name of the project
 --                                     : end of options (default: false)
 --change-id [TRUE | FALSE | INHERIT]   : if change-id is required
 --content-merge [TRUE | FALSE |        : allow automatic conflict resolving
 INHERIT]                                 within files
 --contributor-agreements [TRUE |       : if contributor agreement is required
 FALSE | INHERIT]
 --description (-d) DESCRIPTION         : description of project
 --help (-h)                            : display this help text (default: true)
 --max-object-size-limit VAL            : max Git object size for this project
 --no-change-id (--nid)                 : if change-id is not required
 --no-content-merge                     : don't allow automatic conflict
                                          resolving within files
 --no-contributor-agreements (--nca)    : if contributor agreement is not
                                          required
 --no-signed-off-by (--nso)             : if signed-off-by is not required
 --project-state (--ps) [ACTIVE |       : project's visibility state
 READ_ONLY | HIDDEN]
 --require-change-id (--id)             : if change-id is required
 --signed-off-by [TRUE | FALSE |        : if signed-off-by is required
 INHERIT]
 --submit-type (-t) [INHERIT |          : project submit type
 FAST_FORWARD_ONLY | MERGE_IF_NECESSARY   (default: MERGE_IF_NECESSARY)
 | REBASE_IF_NECESSARY | REBASE_ALWAYS
 | MERGE_ALWAYS | CHERRY_PICK]
 --trace                                : enable request tracing (default:
                                          false)
 --trace-id VAL                         : trace ID (can only be set if --trace
                                          was set too)
 --use-content-merge                    : allow automatic conflict resolving
                                          within files
 --use-contributor-agreements (--ca)    : if contributor agreement is required
 --use-signed-off-by (--so)             : if signed-off-by is required

posted @ 2022-02-26 14:13  爱啦啦  阅读(539)  评论(0编辑  收藏  举报