yangdiff-pro

yangdiff-pro compares the semantics and syntax between two revisions of the same YANG module. The conceptual data model is comp...

  • Organization:

    YumaWorks, Inc.

  • Module:

    yangdiff-pro

  • Version:

    2023-08-04

  • File:

    yangdiff-pro.yang

  • Abstract:

    yangdiff-pro compares the semantics and syntax between two revisions of the same YANG module. The conceptual data model is comp...

  • Contact:

    Support <support at yumaworks.com>

  • Check for an additional details:

    YANG Catalog

  • Description:

    yangdiff-pro compares the semantics and syntax between
    two revisions of the same YANG module. The
    conceptual data model is compared, not the
    individual files.

    For example, unless statement order is significant,
    changing the order is not considered a change, and
    is not reported. Reformatted test (whitespace changes)
    are also not reported.

    If a data type definition is changed in form,
    but not content, then a 'modify type' message
    will be generated, but no additional sub-fields
    will be reported.

    INPUT FILES

    To compare one module, use the 'old' and 'new'
    parameters to specify YANG module files,
    each with a filespec string ending with the '.yang'
    file extension. The filespecs must represent
    different files. If the 'old' parameter represents
    a directory, then this directory will be searched
    for the 'new' filename.

    To compare all the modules in a subtree, use the
    'old' and 'new' parameters to specify a directory
    to be searched for YANG modules to be processed.
    In this mode, each new module is compared to
    a corresponding file within the 'old' subtree.
    Also, dependency and include files
    will be kept separate, for each subtree.

    Unless the 'help' or 'version' parameters is entered,
    the 'old' and 'new' parameters must be present.

    SEARCH PATH

    When a module name is entered as input, or when a
    module or submodule name is specified in an import or include
    statement within the file, the following search algorithm
    is used to find the file:

    1) if the parameter for the file that generated the
    search request represents a subtree, search that
    subtree first.
    2) file is in the current directory
    3) YANG_MODPATH environment var (or set by modpath parameter)
    4) $HOME/modules directory
    5) $YANG_HOME/modules directory
    6) $YANG_INSTALL/modules directory OR
    default install module location, '/usr/share/yang/modules'

    By default, the entire directory tree for all locations
    (except step 1) will be searched, not just the specified
    directory. The 'subdirs' parameter can be used to
    prevent sub-directories from being searched.

    Any directory name beginning with a dot character '.'
    will be skipped. Also, any directory named 'CVS' will
    be skipped in directory searches.

    OUTPUT MODES

    By default, any comparison output will be sent to STDOUT.

    The 'output' parameter can be used to specify the
    full filespec of the output file, or a
    complete directory specification to be combined
    with the default filename (yangdiff-pro.log).

    ERROR LOGGING

    By default, warnings and errors are sent to STDOUT.

    A log file can be specified instead with the 'log' parameter.
    Existing log files can be reused with the 'logappend'
    parameter, otherwise log files are overwritten.

    The logging level can be controlled with the 'log-level'
    parameter. The default log level is 'info'. The
    log-levels are additive:

    off: suppress all errors (not recommended!)
    A program return code of '1' indicates some error.
    error: print errors
    warn: print warnings
    info: print generally interesting trace info
    debug: print general debugging trace info
    debug2: print verbose debugging trace info

    Copyright (c) 2008 - 2023 YumaWorks, Inc. All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, is permitted pursuant to, and subject
    to the license terms contained in, the BSD 3-Clause License
    http://opensource.org/licenses/BSD-3-Clause

© 2023 YumaWorks, Inc. All rights reserved.