Skip to content
Snippets Groups Projects
Select Git revision
  • renovate/major-opa
  • advisory/tj
  • main default protected
  • defect/telem
  • docs/pattern
  • spike/go-tools-124-gql
  • spike/go-tools-124
  • chore/deepmap
  • docs/mas
  • build/notify
  • fix/du
  • defect/diff
  • defect/json
  • chore/schema
  • feat/diff-json
  • chore/typo
  • build/binaries
  • build/changelog-
  • defect/otel
  • chore/otel
  • v0.116.2 protected
  • v0.116.1 protected
  • v0.116.0 protected
  • v0.115.3 protected
  • v0.115.2 protected
  • v0.115.1 protected
  • v0.115.0 protected
  • v0.114.0 protected
  • v0.113.5 protected
  • v0.113.4 protected
  • v0.113.3 protected
  • v0.113.2 protected
  • v0.113.1 protected
  • v0.113.0 protected
  • v0.112.0 protected
  • v0.111.1 protected
  • v0.111.0 protected
  • v0.110.2 protected
  • v0.110.1 protected
  • v0.110.0 protected
40 results

internal

  • Clone with SSH
  • Clone with HTTPS
  • Jamie Tanna's avatar
    Jamie Tanna authored
    As a way to provide a more useful way to understand what's changed
    between exports of Renovate data - via `renovate-graph` or our other
    supported formats, we should introduce a separate cli,
    `renovate-packagedata-diff`.
    
    This could be used to i.e.:
    
    - see what changes are coming in as part of a PR/MR
    - summarise changes in `git diff` outputs for projects that source-track
      their `renovate-graph` exports
    - wire into CI to i.e. raise warnings when changing important
      dependencies
    
    It makes sense to be part of dependency-management-data, rather than
    `renovate-graph`, as we already have some good understanding of the
    structure here, and can provide a more convenient output format.
    
    Additionally, producing a Go binary will be more convenient i.e. for CI
    builds.
    
    This should - at least medium term - also produce a stable JSON response
    output, which can be used for scripting.
    
    For now, we will only provide a human-readable summary.
    
    At some point, we may also expose this as part of a Go API.
    
    To do this, we need to:
    
    - create a new CLI
      - which can provide `--debug` logging
    - present the output to the user, in a tabular, colourised fashion
    - handle being called ad-hoc or as a `GIT_EXTERNAL_DIFF` tool
    - create a new `CompareFiles` function, which orchestrates the overall
      diffing between two package dumps
    - perform the difficult job of determining which modifications are
      actually modifications, and not presenting as addition/deletion
    - wire in the command to `gendoc`
    
    Note that there is a fair bit of inline code commentary, and areas which
    look a little "spooky" but don't have comments could be that in the time
    it's taken to finish implementation have since been forgotten, or test
    cases lost.
    
    There are test cases in the -example project, under
    `/renovate-packagedata-diff`.
    
    Closes #616.
    fb906bf3
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Name Last commit Last update
    ..