groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benedikt Ritter <brit...@apache.org>
Subject Re: Write access to github mirror
Date Wed, 29 Apr 2015 19:47:18 GMT
Hello Pascal,

2015-04-29 20:52 GMT+02:00 Pascal Schumacher <pascalschumacher@gmx.net>:

> Hi Benedikt,
>
> thanks for the hint. :)
>
> My knowledge of git is very limited, so excuse me if I'm wrong,


same for me, we're just starting with git at the Apache Commons Project.


> did you use the--no-ff to create this commit:
>
>
> https://github.com/apache/commons-lang/commit/640953167adf3580a2c21077d78e7e7ce84ead03
>
> ?
>

Yes, that is a merge commit


>
> I'm asking, because github shows you as the author of the commit. That is
> something I would like to avoid (if possible), because I believe it's
> detrimental to the motivation of contributers.
>

Yes I'm the author of the merge commit. But that is what happens if you
merge from the github UI as well. What's important is, that all the commits
from the PR are preserved in the history. If you have a look at the history
of the commons-lang mirror, you will find commits which where made by
github contributors [1]
Here is what I understand who merging fast-forward vs. no fast-forward
works:

$ git merge branch-to-merge

will try to do a fast forward merge of all the commits in branch-to-merge.
If there are no conflicts, all the commits will be "transferred" (I'm
pretty sure this is the wrong word in git terminology) the branch your
merging into.  If you do a

$ git log --graph

afterwards it looks like the commits from branch-to-merge were made to the
target branch. Something like this:


* Commit 2 on branch-to-merge
|
* Commit 1 on branch to merge
|
* Commit on target-branch
|
* Commit before branch was created

 On the other hand

$ git merge --no-ff

will create a separate merge commit. So your history will look something
like:

* Merge commit
|\
| * Commit 2 on branch-to-merge
| |
| * Commit 1 on branch to merge
| |
* | Commit on target-branch
|/
* Commit before branch was created

I've written down how I understand this all works together in our wiki [2]
(bottom of the page)

HTH!
Benedikt

[1] https://github.com/apache/commons-lang/commits/master
[2] http://wiki.apache.org/commons/UsingGIT


>
> - Pascal
>
> By the way: I really wish I would be able to contribute as much to open
> source as you do. Congrats! :)


Thank you :-)


>
>
> Am 29.04.2015 um 15:07 schrieb Benedikt Ritter:
>
>> 2015-04-29 6:50 GMT+02:00 C├ędric Champeau <cedric.champeau@gmail.com>:
>>
>>  Hi Pascal,
>>>
>>> There's no such thing as write access to the mirror, even for closing
>>> PRs.
>>> You have to submit a dummy commit with something recognized by GitHub as
>>> a
>>> message to close a PR. For example "Closes #3". Since such dummy commits
>>> pollute the history, my suggestion would be that before merging a PR, we
>>> do
>>> an interactive rebase and reword the last commit to include this.
>>>
>>>  I usually merge PRs from github with --no-ff option. So there will
>> always
>> be a new commit for integration. You can use the commit message of the
>> merge commit to close the PR.
>>
>>


-- 
http://people.apache.org/~britter/
http://www.systemoutprintln.de/
http://twitter.com/BenediktRitter
http://github.com/britter

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message