GithubHelp home page GithubHelp logo

branch-diff's People

Contributors

addaleax avatar bengl avatar codebytere avatar dependabot[bot] avatar evanlucas avatar fishrock123 avatar richardlau avatar rvagg avatar sam-github avatar semantic-release-bot avatar targos avatar trott avatar voltrexkeyva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

branch-diff's Issues

Treating groups of commits as one unit

In nodejs/node#10886 I noticed that at least for one particular PR, all but 1 of its commits were being included. I think it would be a good idea to first group commits by PR and then check that all of the commits from a particular PR are landable. If all of them aren't, then none of the commits should be included.

I think such a behavior should be default, but at the very least a command line option would be okay I suppose.

Not excluding labels with branch-diff v2.0.0

In today's release session, we started preparing the next Node.js 17 and spotted that the same branch-diff command produced different results for v2.0.0 and v1.10.5. Generally, it looked like there were some commits included in the list that should have been excluded based on the labels provided.

This is the command I used:
npx [email protected] upstream/v17.x-staging upstream/master --exclude-label=semver-major,dont-land-on-v17.x,backport-requested-v17.x,backport-blocked-v17.x,backport-open-v17.x,backported-to-v17.x --filter-release

Specifically for this command, I spotted that semver majors are appearing in the output for v2.0.0 but not v1.10.5.

Output
* [3ee8c3e45e] - tools: add compile_commands to ignore file (Yash Ladha) https://github.com/nodejs/node/pull/41580
* [49ba2104c4] - util: remove unused fast path in internal debuglog (Rich Trott) https://github.com/nodejs/node/pull/41605
* [c0ef0d5a66] - deps: upgrade npm to 8.3.2 (npm team) https://github.com/nodejs/node/pull/41621
* [400b7c242b] - tools: use Set instead of { [key]: true } object (Tobias Nießen) https://github.com/nodejs/node/pull/41675
* [7ce8403ef1] - test: simplify test-gc-http-client (Luigi Pinca) https://github.com/nodejs/node/pull/41620
* [a8afe26fca] - stream: add drop and take (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41630
* [3d27a04b56] - meta: update AUTHORS (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41659
* [0e6db9c3b0] - doc: modernize and simplify cluster example (Tobias Nießen) https://github.com/nodejs/node/pull/41626
* [c18ca140a1] - tools: fix typo in `tools/code_cache/README.md` (Tobias Nießen) https://github.com/nodejs/node/pull/41657
* [ca489497be] - stream: never flatten on toArray (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41615
* [cc8931a916] - (SEMVER-MINOR) stream: support flatMap (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41612
* [68bb83f11b] - tools: enable no-cond-assign-ESLint rule (Rich Trott) https://github.com/nodejs/node/pull/41614
* [d77754bfc7] - test: prepare tests for no-cond-assign ESLint rule (Rich Trott) https://github.com/nodejs/node/pull/41614
* [348469b87a] - repl: check for precise values rather than falsy in loops (Rich Trott) https://github.com/nodejs/node/pull/41614
* [ac06951049] - util: check for null instead of flasy in loop (Rich Trott) https://github.com/nodejs/node/pull/41614
* [bd422452da] - timers: check for nullish instead of falsy in loops (Rich Trott) https://github.com/nodejs/node/pull/41614
* [e044a5d4e9] - process: check for null instead of falsy in while loop (Rich Trott) https://github.com/nodejs/node/pull/41614
* [0bc642202f] - policy: check for null instead of falsy in loop (Rich Trott) https://github.com/nodejs/node/pull/41614
* [e6fdcbe534] - stream: check for null instead of falsy in loops (Rich Trott) https://github.com/nodejs/node/pull/41614
* [c05c8837c1] - crypto: revise variables for const use instead of let (Rich Trott) https://github.com/nodejs/node/pull/41614
* [fbfb61a029] - doc: simplify readline/stdin text (Rich Trott) https://github.com/nodejs/node/pull/41583
* [b09d1f4f04] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41638
* [312b0fc753] - doc: suggest worker threads in cluster docs (Tobias Nießen) https://github.com/nodejs/node/pull/41616
* [d01c645b9b] - test: move test-gc-http-client-onerror to sequential (Luigi Pinca) https://github.com/nodejs/node/pull/41619
* [a96549af4f] - doc: add 16 and 17 to previous versions (Antoine du Hamel) https://github.com/nodejs/node/pull/41646
* [18365d8ee6] - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) https://github.com/nodejs/node/pull/41600
* [5aa4010503] - crypto: remove wildcard options for checkEmail (Tobias Nießen) https://github.com/nodejs/node/pull/41599
* [b8de7aa4c2] - crypto: adjust types for getRandomValues (LiviaMedeiros) https://github.com/nodejs/node/pull/41481
* [2f1700463b] - (SEMVER-MINOR) readline: add feature yank and yank pop (Ray) https://github.com/nodejs/node/pull/41301
* [dbe60a2302] - doc: improve `'hex'` Buffer decoding description and examples (Giora Guttsait) https://github.com/nodejs/node/pull/41598
* [feafea1154] - lib: fix consistency of methods that emit warnings (Yoshiki Kurihara) https://github.com/nodejs/node/pull/41249
* [806c7c13f3] - doc: add note for handling signal events in trace events (Gabriel Trujillo) https://github.com/nodejs/node/pull/41438
* [82756836b2] - process: use validateString validator (Mohammed Keyvanzadeh) https://github.com/nodejs/node/pull/41595
* [d0ea81c984] - test: fix typo in test-stream-toArray (Tobias Nießen) https://github.com/nodejs/node/pull/41634
* [3d23d62373] - (SEMVER-MINOR) buffer: alias `subarray` and `slice` (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41596
* [6bf769e4e6] - (SEMVER-MINOR) benchmark: add `subarray` to `buffer-slice` (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41596
* [830cbca810] - (SEMVER-MINOR) doc: deprecate `buffer.slice` (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41596
* [290911b99a] - lib: remove erroneous JSDoc entry (Rich Trott) https://github.com/nodejs/node/pull/41604
* [ec1364b6ae] - build: enable zoslib installation on z/OS (alexcfyung) https://github.com/nodejs/node/pull/41493
* [087939471a] - doc: demonstrate dangers of `buffer.slice()` (Shalvah) https://github.com/nodejs/node/pull/41628
* [870044ffa1] - tools: increase maximum line length to 120 characters (Rich Trott) https://github.com/nodejs/node/pull/41586
* [74867f713a] - doc: add missing word in cluster.workers details (Tobias Nießen) https://github.com/nodejs/node/pull/41624
* [271725a363] - readline: undo previous edit when get key code 0x1F (Ray) https://github.com/nodejs/node/pull/41392
* [5badf46f2a] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41573
* [ef35175527] - doc: fix async_hooks example in api docs (Akhil Marsonya) https://github.com/nodejs/node/pull/41609
* [10b043287c] - test: improve test coverage of internal/worker/io (Yoshiki Kurihara) https://github.com/nodejs/node/pull/41511
* [716aefde41] - doc: fix deprecated alias description in cluster (Tobias Nießen) https://github.com/nodejs/node/pull/41618
* [110aa38c9e] - doc: fix backticks around 'default' (Tobias Nießen) https://github.com/nodejs/node/pull/41613
* [12608d3dbc] - doc: update timingSafeEqual error case (Alex Agranov) https://github.com/nodejs/node/pull/41507
* [9318408c49] - (SEMVER-MAJOR) deps: silence V8's warning on CompileFunction (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [1ad44094a2] - (SEMVER-MAJOR) tools: update V8 gypfiles for 9.7 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [e23e345b6c] - (SEMVER-MAJOR) deps: V8: cherry-pick 80bbbb143c24 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [696ce7df26] - (SEMVER-MAJOR) deps: V8: cherry-pick 1cc12b278e22 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [6ec1664dc8] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 104 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [a189dee52a] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [270253c4e2] - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [5a407d606a] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41553
* [de9dc417fe] - test: add DataView test entry for whatwg (Mohammed Keyvanzadeh) https://github.com/nodejs/node/pull/40622
* [c4a6f9ab94] - stream: rename unknown primordial (Mohammed Keyvanzadeh) https://github.com/nodejs/node/pull/40622
* [5753eb102f] - dgram: remove unreachable connectState assign (Rongjian Zhang) https://github.com/nodejs/node/pull/38590
* [9759695545] - lib: modify `DOMException` to pass WPT (Khaidi Chu) https://github.com/nodejs/node/pull/41517
* [8e413ff374] - doc: simplify util.TextDecoder example (Rich Trott) https://github.com/nodejs/node/pull/41574
* [25381da6b8] - test: improve util-format code coverage (Rich Trott) https://github.com/nodejs/node/pull/41572
* [6d666491ce] - crypto: remove checkIP options argument (Tobias Nießen) https://github.com/nodejs/node/pull/41571
* [eda54bae16] - doc: move Mesteery to collaborators (Tobias Nießen) https://github.com/nodejs/node/pull/41597
* [d8f6b383f6] - doc: fix cjs example code for process.arch (Job) https://github.com/nodejs/node/pull/41593
* [da1b59fc13] - (SEMVER-MINOR) crypto: support RFC 2818 compatible checkHost (Tobias Nießen) https://github.com/nodejs/node/pull/41569
* [119519e1da] - doc: remove redunant `await` calls from stream docs (Giora Guttsait) https://github.com/nodejs/node/pull/41592
* [22792c8632] - domain: pass opts to `EventEmitter.init` (Chen Gang) https://github.com/nodejs/node/pull/41414
* [26398575dc] - build: add --v8-enable-hugepage flag (Daoming Qiu) https://github.com/nodejs/node/pull/41487
* [dbc6e39ca7] - esm: improve validation of resolved URLs (Jacob Smith) https://github.com/nodejs/node/pull/41446
* [b9258e5e81] - test: fix typo in test_js_native_api_v8 (Tobias Nießen) https://github.com/nodejs/node/pull/41584
* [51783320a4] - process: ignore asyncId 0 in exception handler (Anatoli Papirovski) https://github.com/nodejs/node/pull/41424
* [81e88f27b7] - build: add loong64 configure (Shi Pujin) https://github.com/nodejs/node/pull/41323
* [a199387f04] - doc: make contributing info more discoverable (Michael Dawson) https://github.com/nodejs/node/pull/41408
* [65910c0d6c] - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) https://github.com/nodejs/node/pull/41561
* [56679eb530] - doc: recommend package exports instead of requiring folders (Antoine du Hamel) https://github.com/nodejs/node/pull/41381
* [7a07df4329] - doc: edit async_context context loss text (Rich Trott) https://github.com/nodejs/node/pull/41550
* [f8f3d35bd6] - tools: add missing `.PHONY` and `.NOTPARALLEL` targets in `Makefile` (Antoine du Hamel) https://github.com/nodejs/node/pull/41515
* [50b7ab9659] - build: fix libuv builds for android aarch64 (Darshan Sen) https://github.com/nodejs/node/pull/41555
* [8ed577aae7] - doc,readline: add missing node protocol in example (Mestery) https://github.com/nodejs/node/pull/41560
* [98659c04d5] - doc: use sentence case for Web Crypto headers (Tobias Nießen) https://github.com/nodejs/node/pull/41577
* [cc97ea5df6] - tools: update lint-md-dependencies (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41440
* [eceb2e75d8] - doc: make Web Crypto example spec compliant (Tobias Nießen) https://github.com/nodejs/node/pull/41556
* [c4f5a4939a] - doc: do not reference SSL when discussing SNI (Tobias Nießen) https://github.com/nodejs/node/pull/41549
* [6beee312a4] - tools: bump eslint from 8.6.0 to 8.7.0 (Rich Trott) https://github.com/nodejs/node/pull/41570
* [a1f827a859] - policy: replace entries with keys (Mohammed Keyvanzadeh) https://github.com/nodejs/node/pull/41482
* [6b9d2aefdb] - test: add missing await in fs-rm/fs-rmdir tests (Benjamin Coe) https://github.com/nodejs/node/pull/41545
* [8de858b96d] - test: increase coverage for stream writable (Rich Trott) https://github.com/nodejs/node/pull/41486
* [f458f1b93b] - doc: fix typos in esm.md (Yu) https://github.com/nodejs/node/pull/41499
* [8cba65f61a] - doc: adjust assignment in condition in stream doc (Rich Trott) https://github.com/nodejs/node/pull/41510
* [d0d8320de7] - doc: improve Web Crypto headings related to ECC (Tobias Nießen) https://github.com/nodejs/node/pull/41542
* [5f4f8d417a] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41441
* [3f0bcfb203] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41445
* [87325917ec] - doc: clarify module system selection (Antoine du Hamel) https://github.com/nodejs/node/pull/41383
* [0594577e69] - test: add coverage for util.inspect() (Rich Trott) https://github.com/nodejs/node/pull/41527
* [20347d5154] - stream: avoid function call where possible (Rich Trott) https://github.com/nodejs/node/pull/41534
* [a7215c8fa7] - benchmark: remove unreachable code from crypto/hash-stream-creation (Rich Trott) https://github.com/nodejs/node/pull/41535
* [986cf3b986] - doc: remove statement about (EC)DHE performance (Tobias Nießen) https://github.com/nodejs/node/pull/41528
* [67beba879c] - meta: update AUTHORS (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41548
* [807c7e14f4] - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) https://github.com/nodejs/node/pull/41479
* [74b9baa426] - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) https://github.com/nodejs/node/pull/41373
* [63bb6dcf0f] - doc: align links in table to top (nikoladev) https://github.com/nodejs/node/pull/41396
* [a706342368] - src: add kNoBrowserGlobals flag for Environment (Cheng Zhao) https://github.com/nodejs/node/pull/40532
* [48e784043d] - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) https://github.com/nodejs/node/pull/40852
* [26c973d4b3] - (SEMVER-MAJOR) child_process: improve argument validation (Rich Trott) https://github.com/nodejs/node/pull/41305
* [ce4d3adf50] - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) https://github.com/nodejs/node/pull/41271
* [6486a304d3] - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) https://github.com/nodejs/node/pull/41271
* [cea76dbf33] - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) https://github.com/nodejs/node/pull/41270
* [99c18f4786] - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) https://github.com/nodejs/node/pull/41270
* [c8f5dd64b1] - doc: fix date for v12.22.8 (Richard Lau) https://github.com/nodejs/node/pull/41213
* [dab8ab2837] - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) https://github.com/nodejs/node/pull/41020
* [340b770d3f] - stream: unify writableErrored and readableErrored (Robert Nagy) https://github.com/nodejs/node/pull/40799
* [415726b8c4] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) https://github.com/nodejs/node/pull/40802
* [f2170253b6] - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) https://github.com/nodejs/node/pull/40696

I can try and find a smaller recreate but it's evening here and I didn't want to forget to raise this issue 😅.

Suggestion: have branch-diff check commit comments for PR metadata

We get problems like this: nodejs/node@75318e4#commitcomment-24788304 all the time. The solution we have is to put the PR-URL (or other relevant metadata) in a comment on the commit.

If branch-diff could check this it would alleviate the problem for LTS maintainers.

I was going to have a look at implementing this but never got around to it. Thought I'd put this here in case anyone else has the time and inclination.

cc/ @MylesBorins @rvagg

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.