Usage
guild runs diff [OPTIONS] [RUN1 [RUN2]]
Diff two runs.
If RUN1
and RUN2
are omitted, the latest two filtered runs are diffed. See FILTERING topics below for details on filtering runs to diff.
If RUN1
or RUN2
is specified, both must be specified. An exception to this is when --working
or --working-dir
is specified, in which case RUN2
cannot be specified (see below).
Filter by Operation
Runs may be filtered by operation using --operation
. A run is only included if any part of its full operation name, including the package and model name, matches the value.
Use --operation
multiple times to include more runs.
Filter by Label
Use --label
to only include runs with labels containing a specified value. To select runs that do not contain a label, specify a dash ‘-’ for VAL
.
Use --label
multiple times to include more runs.
Filter by Tag
Use --tag
to only include runs with a specified tag. Tags must match completely and are case sensitive.
Use --tag
multiple times to include more runs.
Filter by Marked and Unmarked
Use --marked
to only include marked runs.
Use --unmarked
to only include unmarked runs. This option may not be used with --marked
.
Filter by Run Start Time
Use --started
to limit runs to those that have started within a specified time range.
IMPORTANT: You must quote RANGE values that contain spaces. For example, to filter runs started within the last hour, use the option:
--started 'last hour'
You can specify a time range using several different forms:
after DATETIME
before DATETIME
between DATETIME and DATETIME
last N minutes|hours|days
today|yesterday
this week|month|year
last week|month|year
N days|weeks|months|years ago
DATETIME
may be specified as a date in the format YY-MM-DD
(the leading YY-
may be omitted) or as a time in the format HH:MM
(24 hour clock). A date and time may be specified together as DATE TIME
.
When using between DATETIME and DATETIME
, values for DATETIME
may be specified in either order.
When specifying values like minutes
and hours
the trailing s
may be omitted to improve readability. You may also use min
instead of minutes
and hr
instead of hours
.
Examples:
after 7-1
after 9:00
between 1-1 and 4-30
between 10:00 and 15:00
last 30 min
last 6 hours
today
this week
last month
3 weeks ago
Filter by Source Code Digest
To show runs for a specific source code digest, use -g
or --digest
with a complete or partial digest value.
Filter by Run Status
Runs may also be filtered by specifying one or more status filters: --running
, --completed
, --error
, and --terminated
. These may be used together to include runs that match any of the filters. For example to only include runs that were either terminated or exited with an error, use --terminated --error
, or the short form -Set
.
You may combine more than one status character with -S
to expand the filter. For example, -Set
shows only runs with terminated or error status.
Status filters are applied before RUN
indexes are resolved. For example, a run index of 1
is the latest run that matches the status filters.
Diff Sourcecode
Use --soucecode
to diff source code between two runs. Use --working
to diff one run and its associated soure code working directory. The working directory is run’s Guild file sourcecode root directory. Use --working-dir
to specify an alternative source code directory. Both --working
and --working-dir
imply --sourcecode
. When either --working
or --working-dir
are used, RUN2
cannot also be specified.
Diff Command
By default the diff
program is used to diff run details. An alternative default command may be specified in ~/.guild/config.yml
using the command
attribute of the diff
section.
To use a specific diff program with the command, use --cmd
.
Diff Remote Runs
To diff remote runs, use --remote
. Note that any command specified by --cmd
must be available on the remote and must show differences over standard output.
REMOTE
is the name of a configured remote. Use guild remotes
to list available remotes.
For information on configuring remotes, see guild remotes
.
Options
-O, --output |
Diff run output. |
-s, --sourcecode |
Diff run source code. |
-e, --env |
Diff run environment. |
-f, --flags |
Diff run flags. |
-a, --attrs |
Diff all run attributes; if specified other attribute options are ignored. |
-D, --deps |
Diff run dependencies. |
-p, --path PATH |
Diff specified path. May be used more than once. |
-w, --working |
Diff run sourcecode to the associated working directory. |
-d, --dir PATH |
Diff run to the specified directory. |
-c, --cmd CMD |
Command used to diff runs. |
-Fo, -o, --operation VAL |
Filter runs with operations matching VAL . |
-Fl, -l, --label VAL |
Filter runs with labels matching VAL. |
-U, --unlabeled |
Filter only runs without labels (deprecated - use ‘-Fl -’). |
-Ft, --tag TAG |
Filter runs with TAG. |
-Fc, --comment VAL |
Filter runs with comments matching VAL. |
-Fm, -M, --marked |
Filter only marked runs. |
-Fn, -N, --unmarked |
Filter only unmarked runs. |
-Fs, --started RANGE |
Filter only runs started within RANGE. See above for valid time ranges. |
-Fd, -D, --digest VAL |
Filter only runs with a matching source code digest. |
-Sr, -R, --running |
Filter only runs that are still running. |
-Sc, -C, --completed |
Filter only completed runs. |
-Se, -E, --error |
Filter only runs that exited with an error. |
-St, -T, --terminated |
Filter only runs terminated by the user. |
-Sp, -P, --pending |
Filter only pending runs. |
-Ss, -G, --staged |
Filter only staged runs. |
-r, --remote REMOTE |
Diff remote runs. |
--help |
Show this message and exit. |
Guild AI version 0.7.3