danger / danger-js

⚠️ Stop saying "you forgot to …" in code review
http://danger.systems/js/
MIT License
5.21k stars 363 forks source link

API for common ancestor #1442

Open ikonst opened 2 months ago

ikonst commented 2 months ago

IIUC, danger.git.base is

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}.

orta commented 2 months ago

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

ikonst commented 2 months ago

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

orta commented 2 months ago

It runs without assuming local access to git at all