Skip to content

consistent output #17

@deitch

Description

@deitch

Is there a way to get consistent (or nearly consistent) comparable output?

My specific use case is that we have protobufs, and expect to have the graph files checked into the repo as part of the commit. The simplest way to do this (we do it for generated language bindings) is to run protodot, and check if the file is different from what is checked in.

Except the output isn't consistent.

From my checks, I found several things:

  • date for generated by comment at the end; we can ignore that
  • subgraph cluster_<id>: the ID appears to be generated using some data about the content. As far as I can tell, this is consistent
  • node names, e.g. Node_Ja_<number>: the numbers appear to be consistent with the content in them
  • subgraph sort order: this appears to be one major source of discontinuity
  • node sort order within a subgraph: this appears to be another major source of discontinuity

I don't know the internals of protodot well enough, but it looks like consistent sorting of the subgraphs and nodes within subgraph might go a long way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions