Skip to content
This repository has been archived by the owner on Feb 3, 2018. It is now read-only.

Refactor hashing #143

Merged
merged 12 commits into from
Jan 15, 2017
Merged

Refactor hashing #143

merged 12 commits into from
Jan 15, 2017

Commits on Jan 12, 2017

  1. Use an io.Writer to write hashing inputs

    This provides a convenient way of letting the debugging func inject a
    newline after each write (for readability in debugging).
    sdboyer committed Jan 12, 2017
    Configuration menu
    Copy the full SHA
    6109ef1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2488c3e View commit details
    Browse the repository at this point in the history
  3. Remove pointless ifs

    sdboyer committed Jan 12, 2017
    Configuration menu
    Copy the full SHA
    95c24a4 View commit details
    Browse the repository at this point in the history
  4. Split out 'rootdata' struct from solver

    This separates a bunch of the static state/rules/information that comes
    from the root project and input parameters into a discrete subsystem.
    The only real benefit here is focusing the state tracked by the solver
    in on the actual algorithm of solving, and less so these static rules -
    which should make it a bit easier for other people to grok.
    sdboyer committed Jan 12, 2017
    Configuration menu
    Copy the full SHA
    53a999a View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2017

  1. Comprehensive refactor of input hashing rules

    All changes are geared towards making "default"-type values explicit, as
    that increases the likelihood that equivalent inputs will produce
    identical hash digests.
    sdboyer committed Jan 14, 2017
    Configuration menu
    Copy the full SHA
    28ed699 View commit details
    Browse the repository at this point in the history
  2. tabwriter system for visualizing hash inputs diffs

    Hashing functions are exquisitely sensitive to inputs - that's why
    they're useful. But it makes them a PITA to work with. Having an
    easy-to-scan visualization of hashing inputs in tests frees up cognitive
    capacity to focus on the algorithm.
    sdboyer committed Jan 14, 2017
    Configuration menu
    Copy the full SHA
    870a6ca View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2017

  1. Section headers in hash inputs; tests refactor

    To further improve debugging of issues with the input hashing, this adds
    "section headers" - strings that are output prior to each type of data
    that's present in the cache.
    
    Also partially switched to progressive mutation table-based tests for
    input hashing, and added test cases that cover salient combinations of
    overrides, imports, and constraints.
    sdboyer committed Jan 15, 2017
    Configuration menu
    Copy the full SHA
    5799cd8 View commit details
    Browse the repository at this point in the history
  2. Add diff-ish indicators to hash diff output

    Makes it easier to see problem spots on a quick scan.
    sdboyer committed Jan 15, 2017
    Configuration menu
    Copy the full SHA
    0a9c6c6 View commit details
    Browse the repository at this point in the history
  3. Add funcs for typed constraint string output

    These solve the problem, at least in the hasher, of the possibility for
    strings representing different types of versions to collide. For
    example, prior to this change, a branch constraint named "foo" and a
    version constraint named "foo" could cause the hasher to produce the
    same hash, even though the two inputs would not have admitted the same
    solution set.
    sdboyer committed Jan 15, 2017
    Configuration menu
    Copy the full SHA
    1b37f02 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d441d82 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    85a0fc3 View commit details
    Browse the repository at this point in the history
  6. Add rootdata-specific tests

    sdboyer committed Jan 15, 2017
    Configuration menu
    Copy the full SHA
    366fea2 View commit details
    Browse the repository at this point in the history