Description
Find the repository from where a given repo was forked.
README.md
infer-upstream
Takes a repo name, and looks up the upstream repository. If there is an upstream repository, writes it to standard out. Otherwise writes nothing.
Usage:
noon@dev> infer-upstream -r scirate3 -u silky
[email protected]:draftable/scirate3.git
Another usage:
noon@dev> cd scirate3
noon@dev> git remote add upstream `infer-upstream --using-cwd`
A more interesting usage (and the reason I wrote this) is to use the upstream_everything.sh
script. It performs the following task.
For all folders in a given directory:
- go into each one,
- if it is a github repo,
- look up the upstream repo,
- if we find it,
- set it as a new remote.
Usage:
noon@~> cd dev
noon@dev> git clone [email protected]:silky/infer-upstream
noon@dev> infer-upstream/upstream_everything.sh
...
With upstream
set on your repos, you can then run fetch_upstreams.sh
, if you like, which will bring down any incoming changes and give print out a short summary.
Example:
noon@dev>infer-upstream/fetch_upstreams.sh
fetching upstream for Javascript-Voronoi ...
1 file changed, 2 insertions(+), 2 deletions(-)
Notes:
- This script assumes every folder in the ~/dev directory is the clone of a Github repository.
- Github currently limits you to 60 unauthenticated API requests per hour; this approach uses one API request per folder.