github.com/justinjmoses/evergreen@v0.0.0-20170530173719-1d50e381ff0d/cli/README.md (about)

     1  How to set up and use the new patch tool
     2  ==
     3  
     4  ###Client
     5  
     6  Basic Usage
     7  --
     8  
     9  * To submit a patch, run this from your local copy of the mongodb/mongo repo:
    10  
    11        `evergreen patch -p <project-id>`
    12      
    13  NOTE: The first time you run this, you'll be asked if you want to set these as your default project and variants.
    14  After setting defaults, you can omit the flags and the default values will be used, so that just running `evergreen patch` will work.
    15  
    16  Defaults may be changed at any time by editing your `~/.evergreen.yml` file.
    17  
    18  Extra args to the `git diff` command used to generate your patch may be specified by appending them after `--`.  For example, to generate a patch relative to the previous commit:
    19  
    20        evergreen patch -- HEAD~1
    21  
    22  Or to patch relative to a specific tag:
    23  
    24        evergreen patch -- r3.0.2
    25  
    26  For patches containing binary data, you can use the extra args to git diff to include the binary changes by passing through --binary to the `git` command itself:
    27  
    28        evergreen patch -- --binary
    29  
    30  Operating on existing patches
    31  --
    32  
    33  
    34  * To list patches you've created:
    35  
    36        `evergreen list-patches`
    37  
    38  
    39  * To cancel a patch:
    40   
    41  	  `evergreen cancel-patch -i <patch_id>`
    42      
    43  * To finalize a patch:
    44   
    45        `evergreen finalize-patch -i <patch_id>`
    46  
    47  
    48  * To add changes to a module on top of an existing  patch:
    49  
    50       ```
    51        cd ~/projects/module-project-directory
    52        evergreen set-module -i <patch_id> -m <module-name>
    53        ```
    54  
    55  ### Server Side (for evergreen admins)
    56  
    57  To enable auto-updating of client binaries, add a section like this to the settings file for your server:
    58  
    59  
    60  ```yaml
    61  api:
    62      clients:
    63          latest_revision: "c0110ba937047f99c9a68470f6ec51fc6d98c5cc"
    64          client_binaries:
    65             - os: "darwin"
    66               arch: "amd64"
    67               url: "https://.../evergreen"
    68             - os: "linux"
    69               arch: "amd64"
    70               url: "https://.../evergreen"
    71             - os: "windows"
    72               arch: "amd64"
    73               url: "https://.../evergreen"
    74  ```
    75  
    76  The "url" keys in each list item should contain the appropriate URL to the binary for each architecture. The "latest_revision" key should contain the githash that was used to build the binary. It should match the output of "evergreen version" for *all* the binaries at the URLs listed in order for auto-updates to be successful.