From: Andreas Ericsson <ae@op5.se>
To: Jeff Brown <jeff@jeffandbetsy.net>
Cc: git@vger.kernel.org
Subject: Re: tracking committer vs. author
Date: Tue, 26 May 2009 07:10:11 +0200 [thread overview]
Message-ID: <4A1B79B3.6090002@op5.se> (raw)
In-Reply-To: <bbd12f0f0905251640p16727ea9pedbbc99796def340@mail.gmail.com>
Jeff Brown wrote:
> On Mon, May 25, 2009 at 6:28 PM, Julian Phillips
> <julian@quantumfyre.co.uk> wrote:
>> On Mon, 25 May 2009, Jeff Brown wrote:
>>
>>> I have noticed that when we pull changes from non-committers into our
>>> repo, sometimes meta information about who committed the change to the
>>> repo is included along side info about who actually wrote the changes.
>>> For example, see
>>>
>>> http://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75
>>> and note that graemerocher has commit privileges to the repo but
>>> ihotary does not. ihatory's commit was pulled in by graemerocher.
>>>
>>> The commit at
>>> http://github.com/grails/grails/commit/ff770359d152683d5794887cd743a10ce7d04501
>>> was also authored by a non committer. I pulled that change in myself
>>> this evening. Notice that there is no info displayed there to
>>> indicate that I (jeffbrown) am the person who pushed that change into
>>> the repo.
>>>
>>> I don't know what was done differently for those 2 scenarios but both
>>> of those commits were authored by folks who do not have commit
>>> privileges to the repo at
>>> http://github.com/grails/grails/commits/master.
>> You say "pulled" for both commits, but do you mean that in an exact git
>> sense (i.e. 'git pull ...' command was used)? I assume not ...
>>
>> If you pull from someone, then you get their commits, so they are the
>> committer - on the other hand if you apply patches they have sent, then you
>> become committer (though they remain the author of course) as you create new
>> commits (containing basically the same changes and message).
>>
>> If you compare the git repository
>> (http://git.kernel.org/?p=git/git.git;a=summary) where all changes are made
>> by Junio applying patches, to the Linux kernel
>> (http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary)
>> where Linus pulls from many (trusted) people you can see that while the
>> commits in git are all committed by Junio, the kernel commits are made by a
>> wide variety of people.
>>
>>> I don't think this is a github issue. If I am wrong, please let me know.
>>>
>>> If I want to track not only who authored the commit but also who
>>> pushed it into the repo (like you see at
>>>
>>> http://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75),
>>> what is the procedure for making that happen?
>> This easiest way is to not pull from people who "don't have commit rights"
>> but to apply a patch series instead, as by pulling you are basically
>> trusting them - possibly more that you intend/want?
>>
>> HTH,
>> --
>> Julian
>>
>
> I understand all of that but now I am not sure what the best procedure
> is. This is what I have been doing.
>
> - create an integration branch
> - pull changes from someones repo into my integration branch
> - do whatever testing/reviewing/etc. necessary and if I want their
> changes, continue...
> - merge integration branch (which contains their changes) into my
> master branch (test etc...)
> - push my master to my origin
>
> I expect there is a simple way to do what I want without having to
> create patch files, but I don't know what that is.
>
> Thanks for any suggestions.
>
Rebase instead of merging, or rebase interactively onto the mergebase
of your integration branch and master if you want to preserve the
merge commits. Since rebase is basically implemented as either
format-patch + am, or cherry-pick (depending on the invocation used),
it will create new commits where you become the committer.
To preserve the merge-commits when integrating you should use a
command such as this. I'm assuming assuming your integration branch
is named 'integrate' and your primary release branch is called
master:
GIT_EDITOR=: git rebase -i --onto $(git merge-base integrate master) \
integrate
Mind the continued line, please.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
Register now for Nordic Meet on Nagios, June 3-4 in Stockholm
http://nordicmeetonnagios.op5.org/
Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.
prev parent reply other threads:[~2009-05-26 5:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-25 21:20 tracking committer vs. author Jeff Brown
2009-05-25 23:28 ` Julian Phillips
2009-05-25 23:40 ` Jeff Brown
2009-05-26 5:10 ` Andreas Ericsson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A1B79B3.6090002@op5.se \
--to=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=jeff@jeffandbetsy.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).