yangdiff-pro CLI Reference
--difftype
The --difftype parameter controls how differences are displayed in the yangdiff-pro program..
The allowed values are 'terse', 'normal', and 'revision'.
The basic report format is:
[add/delete/modify] field-name [field-value]
The 'terse' option will include the names of the top-level fields that are different. The actual differences for modification lines ('M') are not printed.
M typedef C
D container test-D1
D leaf test-D
M container test33
The 'normal' option will include any changes for any nested fields or objects. A brief description of the changes made in a modification line ('M') are printed. This is the default reporting mode.
M typedef C
M type
M range from 'min .. 41 | 45' to 'min .. 41'
D container test-D1
D leaf test-D
M container test33
D presence 'not a top-level mand...'
M choice f
M case f1
M leaf f1
A if-feature 'X'
The 'revision' option will generate the differences report in YANG revision-stmt format. For example:
revision 2009-09-10 {
description "
- Changed typedef C
- Changed type
- Changed range from 'min .. 41 | 45' to 'min .. 41'
- Removed container test-D1
- Removed leaf test-D
- Changed container test33
- Removed presence 'not a top-level mand...'
- Changed choice f
- Changed case f1
- Changed leaf f1
- Added if-feature 'X'
";
}
typedef DiffType {
type enumeration {
enum terse;
enum normal;
enum revision;
}
default "normal";
}
leaf difftype {
type DiffType;
}
Syntax |
enumeration: terse normal revision |
Default: |
normal |
Min Allowed: |
0 |
Max Allowed: |
1 |
Supported by: |
yangdiff-pro |
Example: |
yangdiff-pro --difftype=revision --new=test3a --old=~test3 |
--header
The --header parameter controls whether YANG header contents will be compared in the yangdiff-pro program.
If 'true', then header clauses will be compared, along will all the object definitions.
If 'false', the header clauses will be skipped, and any differences between the module headers will not be reported. Only object definitions will be compared.
leaf header {
type boolean;
default true;
}
Syntax |
boolean (true or false) |
Default: |
TRUE |
Min Allowed: |
0 |
Max Allowed: |
1 |
Supported by: |
yangdiff-pro |
Example: |
yangdiff-pro --header=false --old=~/saved-modules -- new=~/work |
--new
The --new parameter specifies the YANG file or directory containing the new revision to be compared in the yangdiff-pro program.
If this parameter indicates a filename, then it represents the YANG source module name to compare as the newer of the two revisions.
If this parameter indicates a directory (and the --old parameter indicates a filename), then it will be used to search for a file with the same name as this parameter.
If the --old parameter identifies a directory as well (and the --subdirs parameter is 'false'), then the modules within the 'new' directory will be compared to files with the same name in the 'old' directory.
If the --subdirs parameter is ''true'', then all sub-directories within the 'src' directory will also be checked.
If this string begins with a '~' character, then a username is expected to follow or a directory separator character.
If this string begins with a '$' character, then an environment variable name is expected to follow.
~/some/path ==> <my-home-dir>/some/path
~fred/some/path ==> <fred-home-dir>/some/path
$workdir/some/path ==> <workdir-env-var>/some/path
This parameter must be present unless the --help or --version parameters are present.
leaf new {
type nt:NcModuleSpec;
}
Syntax |
string (module or directory specification. length 1 .. 4095) |
Default: |
none |
Min Allowed: |
1 |
Max Allowed: |
1 |
Supported by: |
yangdiff-pro |
Example: |
yangdiff-pro --new=test3a --difftype=terse --old=test3 |
--old
The --old parameter specifies the YANG file or directory containing the older revision to be compared in the yangdiff-pro program.
If this parameter indicates a filename, then it represents the YANG source module name to compare as the older of the two revisions.
If this parameter indicates a directory (and the --new parameter indicates a filename), then it will be used to search for a file with the same name as the 'new' parameter.
If this string begins with a '~' character, then a username is expected to follow or a directory separator character.
If this string begins with a '$' character, then an environment variable name is expected to follow.
~/some/path ==> <my-home-dir>/some/path
~fred/some/path ==> <fred-home-dir>/some/path
$workdir/some/path ==> <workdir-env-var>/some/path
This parameter must be present unless the --help or --version parameters are present.
leaf old {
type nt:NcModuleSpec;
}
Syntax |
string (module or directory specification. length 1 .. 4095) |
Default: |
none |
Min Allowed: |
1 |
Max Allowed: |
1 |
Supported by: |
yangdiff-pro |
Example: |
yangdiff-pro --old=test3 --difftype=terse --new=test3a |