What was used before GitHub? - GNU/Linux

Users browsing this thread: 1 Guest(s)
greduan
Long time nixers
Nowadays it's almost taken for granted that you host your Git repos on GitHub, especially if it's open source.

Before GitHub, what was used? I know of repo.or.cz which seems to have been the first GitHub-like thing from what I can tell.

I know as well that before you most probably sent the developer an email with your Git diff or whatever so he can merge it in.

For the old veterans, what was used before GitHub? What was the procedure for making a pull request and getting it accepted? What kind of people did you love and who did you hate? (based on how they made their "pull requests")

BTW I posted this on this subforum cause I wasn't sure where else to put it, feel free to move it to a more appropriate place. :)

I ask this because I'm curious, and since I plan on moving to hosting my own Git repos, I'd like to know the proper procedure so I can make a blog post about it (as a tutorial).
Eduan / greduan
https://greduan.com
me@greduan.com
greduan
Long time nixers
I forgot to specify, I'd like to know what was used to share Git repos, as in what was used instead of GitHub? And also how the process of pull requests worked. :)
Eduan / greduan
https://greduan.com
me@greduan.com
greduan
Long time nixers
So far after Googleing for a while and with the help of the IRC I've found this: http://stackoverflow.com/a/6235394/1622940

It covers well the difference between a Git pull request and a GitHub pull request. It also makes it clear how to make a pull request outside of GitHub.

It says the command makes output appropriate for a mailing list or something of the sort, so this means it could be put in a text file as an attachment or something of the sort.

Now to figure out how one merges this pull request...
Eduan / greduan
https://greduan.com
me@greduan.com
z3bra
Grey Hair Nixers
Forker POV
==========
Code:
$ git clone git://repo.tld/project ~/project
$ cd project
$ edit file.c
$ git add file.c
$ git commit -m "file.c: fixed the overflow bug in function()"
$ git diff > 0001-fix-overflow-bug.diff
$ mail -s "[project] patch fix overflow" -a 0001-fix-overflow-bug.diff owner@repo.tld
Hi,

I found a nice way to fix your bug in `function()`. Please find attached a patch from your latest commit ("ae653fb"). You could also fetch the changes directly from my repo at

    git://myrepo.tld/project

Regards,

--
Forker
.

Owner POV
=========
Code:
$ cd ~/project
$ git stash
$ git checkout ae653fb
$ git apply 0001-fix-overflow-bug.diff
$ make
$ test/overflow ./project
OK
$ git checkout master
$ git remote add forker git://myrepo.tld/project
$ git fetch forker:master
$ git diff master forker/master
$ git merge forker/master
$ git commit -m "Merged fix from forker/master"
$ mail -s "re: [patch] fix overflow bug" forker@myrepo.tld
Hi,

Thanks for your contribution. I merged your patch.
Have a good day!

--
Owner
.

As you can see, github's PR make the process easier.
There are commands in git like git-request-pull, or git-mail to make the process simpler. But I've always found good to know how to do it with your bare hands :)
greduan
Long time nixers
That looks good z3bra. Thanks! :)

That's sort of the idea I had of how it works or how it would work. Although AFAIK that (`git diff`) doesn't contain the Git info that would come in useful (like the author's username and/or their email).

Your method assumes the person is hosting their (temporary) fork somewhere, while that may not always be the case. :)

I think git-request-pull does have the author information and stuff like that, as Linus seems to point out: https://github.com/torvalds/linux/pull/1...nt-5654674
Eduan / greduan
https://greduan.com
me@greduan.com
greduan
Long time nixers
Upon further studying, I have found out some stuff I did not know before.

First, `git request-pull` only generates an overview of your changes for human consumption, suitable for mailing lists, etc. Not to be used by `git merge` or something like that.

For the person to actually pull your changes, you need to have the Git repo hosted somewhere where they can reach it and pull from. They'll pull your branch locally, and merge however they see fit.

Soon (hopefully) I'll write a blog post for people not familiar with the process to be able to write pull requests for people that aren't on GitHub or something similar. :)
Eduan / greduan
https://greduan.com
me@greduan.com
xero
Long time nixers
i used to just locally host git repos on any webserver (e.g. git init --bare)