Open-Source-Studio-at-ITP / corpora

A collection of small corpuses of interesting data for the creation of bots and similar stuff.
9 stars 11 forks source link

How / whether to merge upstream to dariusk/corpora? #12

Open shiffman opened 6 years ago

shiffman commented 6 years ago

The pull requests that are coming in here are made to Open-Source-Studio-at-ITP:master.

screen shot 2018-09-25 at 10 44 36 amscreen shot 2018-09-25 at 10 44 14 am

What is the best way to proceed?

  1. Merge here and submit one "compilation" pull request upstream to dariusk:corpora?
  2. Don't merge anything but have pull requests individually re-submitted from the original student fork to dariusk:corpora?
  3. Is there a way to individually merge here one at a time (to a new branch) and then submit pull requests upstream one at a time?

Perhaps @hugovk or @dariusk would like to weigh in?

hugovk commented 6 years ago

I don't have merge rights upstream, but I think (2) might be better: it's easier to review smaller PRs, and make changes if needed, or reject one and accept others.

hugovk commented 6 years ago

re: 3)

Do you mean create a new branch here, merge something into it, PR it upstream, wait, then merge the next one in and repeat? That seems a bit long-winded, better to do things in parallel than serial.

Or do you mean create a number of branches here, one per submission (eg. cherry pick into each one), then PR each? That could work. From a technical upstream point of view there's not much difference where the fork comes from.

shiffman commented 6 years ago

@hugovk Thanks for the feedback, I meant the latter:

create a number of branches here, one per submission (eg. cherry pick into each one), then PR each?

I'm just not 100% sure how to technically execute that without the students re-submitting pull requests to new branches.

hugovk commented 6 years ago

Yeah, it's probably much easier to create new pull requests from the student's existing branch to dariusk/corpora.


Here's one (slightly tedious) way to create copies of a student's branch in this repo, without cherry picking:

# Let your local Git know where their repo lives: 
git remote add their-username https://github.com/their-username/corpora

# Fetch it, so your local knows what branches there are: 
git fetch their-username

# Checkout their branch into a local copy in your repo, and give it a name:
git checkout -b my-name-for-their-branch their-username/their-branch

# Push your new branch up to this repo:
git push --set-upstream origin

For example, I put https://github.com/Open-Source-Studio-at-ITP/corpora/pull/8 's branch into my fork like this:

$ git remote add mengzhenxiao https://github.com/mengzhenxiao/corpora

$ git fetch mengzhenxiao
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 9 (delta 4), reused 8 (delta 4), pack-reused 0
Unpacking objects: 100% (9/9), done.
From https://github.com/mengzhenxiao/corpora
 * [new branch]      drulac     -> mengzhenxiao/drulac
 * [new branch]      linttest   -> mengzhenxiao/linttest
 * [new branch]      master     -> mengzhenxiao/master

$ git checkout -b mengzhenxiao-master mengzhenxiao/master
Branch 'mengzhenxiao-master' set up to track remote branch 'master' from 'mengzhenxiao'.
Switched to a new branch 'mengzhenxiao-master'

$ git push --set-upstream origin
Enumerating objects: 13, done.
Counting objects: 100% (13/13), done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 7.61 KiB | 2.54 MiB/s, done.
Total 9 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), completed with 4 local objects.
remote:
remote: Create a pull request for 'mengzhenxiao-master' on GitHub by visiting:
remote:      https://github.com/hugovk/corpora/pull/new/mengzhenxiao-master
remote:
To https://github.com/hugovk/corpora
 * [new branch]      mengzhenxiao-master -> mengzhenxiao-master
Branch 'mengzhenxiao-master' set up to track remote branch 'mengzhenxiao-master' from 'origin'.

And there's the branch in my repo:

https://github.com/hugovk/corpora/tree/mengzhenxiao-master

Those commands could be put in a script to make it easier.

dariusk commented 6 years ago

Hi, just catching up on all this! I would recommend creating one branch per submission here and then making a PR from each ITP branch to the dariusk branch. That way all the PRs are coming in from here but they're still separated by topic so I'm not having to reject 10 submissions because 1 is malformed.