danger-js icon indicating copy to clipboard operation
danger-js copied to clipboard

API for common ancestor

Open ikonst opened this issue 1 year ago • 3 comments

IIUC, danger.git.base is

  • master on local
  • base branch's current sha on CI

A common ancestor with base is useful to compare against the starting point of a PR.

For example, consider checking a change to an API being backwards compatible. In my PR, I'm adding a field foo which is a backward compatible change. It's possible that someone else has merged a change to the base branch adding field bar. My PR is not removing field bar but if I compare the two files naively, it would appear as if my PR removes field bar.

In terms of git, it's essentially the result of git merge-base ${danger.git.head} ${danger.git.base}.

ikonst avatar May 02 '24 16:05 ikonst

This might be hard to do across all hosting platforms (as that usually lives in the API of github/gitlab etc) but you're welcome to try give it a shot on one or two if there's APIs you can find for it

orta avatar May 02 '24 17:05 orta

Normally danger runs without assuming a local deep clone git repo?

ikonst avatar May 03 '24 00:05 ikonst

It runs without assuming local access to git at all

orta avatar May 03 '24 19:05 orta