fsprojects / fsprojects/Paket

Workaround to GitHub API query limit needed.

Open
#1,625 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug github
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Now, this is my paket.dependencies:

//Typescript definitions
github borisyankov/DefinitelyTyped foundation/foundation.d.ts
github borisyankov/DefinitelyTyped react/react.d.ts
github borisyankov/DefinitelyTyped react/react-dom.d.ts
github borisyankov/DefinitelyTyped react/react-addons-create-fragment.d.ts
github borisyankov/DefinitelyTyped react/react-addons-css-transition-group.d.ts
github borisyankov/DefinitelyTyped react/react-addons-linked-state-mixin.d.ts
github borisyankov/DefinitelyTyped react/react-addons-perf.d.ts
github borisyankov/DefinitelyTyped react/react-addons-pure-render-mixin.d.ts
github borisyankov/DefinitelyTyped react/react-addons-test-utils.d.ts
github borisyankov/DefinitelyTyped react/react-addons-transition-group.d.ts
github borisyankov/DefinitelyTyped react/react-addons-update.d.ts
github borisyankov/DefinitelyTyped react/react-global.d.ts
github borisyankov/DefinitelyTyped lodash/lodash.d.ts
github borisyankov/DefinitelyTyped jquery/jquery.d.ts 
github borisyankov/DefinitelyTyped jqueryui/jqueryui.d.ts
github borisyankov/DefinitelyTyped signalr/signalr.d.ts
github borisyankov/DefinitelyTyped google.analytics/ga.d.ts
github borisyankov/DefinitelyTyped rx/rx.lite.d.ts
github borisyankov/DefinitelyTyped rx/rx-lite.d.ts
github borisyankov/DefinitelyTyped rx/rx.async-lite.d.ts
github borisyankov/DefinitelyTyped rx/rx.binding-lite.d.ts
github borisyankov/DefinitelyTyped rx/rx.time-lite.d.ts
github borisyankov/DefinitelyTyped rx/rx.backpressure-lite.d.ts
github borisyankov/DefinitelyTyped rx/rx.coincidence-lite.d.ts
github borisyankov/DefinitelyTyped googlemaps/google.maps.d.ts
github borisyankov/DefinitelyTyped mustache/mustache.d.ts

...and so on, over 50 files. This repo has over 1700 files and I don't want them all.

Now, when I run .paket\paket.exe update twice behind the same IP, then GitHub will ban me for flood. There could be two possible solutions to fix this:

  1. Cache the commit-id hashes by repository when checking for updates. All these files come from the same repository having the same last commit id. So why to query for each dependency separately, so many times?
  2. If I could move this to Paket 3.0 Git Dependency, then there wouldn't be the limit. But that would require adding a single file reference option for Git Dependencies.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start from the .paket\paket.exe update flow and trace how GitHub repository revisions are queried for each dependency. Compare the proposed repository-level commit cache with the Paket 3.0 Git Dependency single-file reference option. Done means repeated updates no longer trigger one GitHub query per file, or the alternative reference is supported with coverage for this dependency layout.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp, git, github
Domain
api, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.