From: Sven Eckelmann <sven.eckelmann@gmx.de>
To: Marek Lindner <lindner_marek@yahoo.de>
Cc: b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [B.A.T.M.A.N.] [PATCH 00/26] staging:batman-adv
Date: Fri, 7 May 2010 12:48:16 +0200 [thread overview]
Message-ID: <201005071248.56290.sven.eckelmann@gmx.de> (raw)
In-Reply-To: <201005071114.30601.lindner_marek@yahoo.de>
[-- Attachment #1: Type: Text/Plain, Size: 6499 bytes --]
Marek Lindner wrote:
> On Friday 07 May 2010 05:44:06 Sven Eckelmann wrote:
> > Am I the only one who thinks that Marek takes credits for too many
> > patches? Yes, we all have to praise him for his work, but just noticed
> > those minor
> >
> > glitches:
> > * fix whitespace style issues
> >
> > - work from Luis de Bethencourt <luisbg@ubuntu.com>
> >
> > * Fix whitespace problems criticized by
> >
> > Reduce max characters on a line to 80
> > - work from me... somewhat
> >
> > Not that I really want credit for those patches (maybe I should have
> > submitted them under a different name.....), but that didn't happen in
> > the past and now more than one time in a row. What happened here?
> > git-am's fault?
>
> It seems there are a couple of patches wrong but I don't know how this
> initial credit list gets created. I had the impression the first
> "Signed-off-by" is the owner of a patch ?
Ok, there seems to be a problem misunderstanding in what our "infrastructure"
does. Let's see what svn does:
* svn does not have a field to store the complex information
"Full Name <email@address>" for committer and author
* svn stores the username of the committer
So we get a commit in svn it must get somehow to our repository. We have a
"translation and synchronisation" repository hidden in a private directory. We
use git-svn there to fetch our data from svn and then push it to our public
git repository into the master branch.
If you look at a specific commit using something like
`git cat-file -p v0.2-59-g23a0a47` then you will see the committer and author
information which is part of the metadata of a git commit and not really part
of the actual commit message. An example would be:
tree 359ee2bfbc9ad702b9f6ef1649833793090244fe
parent 0024f65f2c6cc1765bc7034cf82b9dc2b7626630
author Daniel Seither <post@tiwoc.de> 1266335052 +0000
committer Marek Lindner <lindner_marek@yahoo.de> 1266335052 +0000
....
author is obviously the author of a patch/change. This is something which
should not be changed by the person who applies the patch. Thereof we have
also the committer part which shows who has applied the patch. The committer
information is changed in many situations. A common one would be that someone
cherry picks a patch from master to maint. In other words: we have enough
information to thank the person for their contribution and to blame the person
who applied in on the wrong branch. :)
So where do we get that information svn only stores the committer username?
git-svn uses different information to gather such data. The first one is the a
translation table statically defined by us. We use it to translate the svn
committer to a something like "Marek Lindner <lindner_marek@yahoo.de>" in the
git committer field. We still have the problem that the author isn't stored
inside the svn commit... normally.
We defined that all commits in trunk/batman-adv-kernelland must have a valid
'Signed-off-by: ' line and must be submitted by an eligible committer (Simon
or Marek). git-svn can now extract the first Signed-off-by-line to get the
actual author information from a (special) svn commit..... Problem solved for
svn to git translation.
So what does git-commit do here? Nothing real exciting. When a new commit is
created (and not otherwise specified) then both author and committer fields
get the same information fetched from ~/.gitconfig or an other configuration
file. When we change a commit then only the committer field is updated.
So we have nothing like signed-off-by parsing in git-commit. There are some
"tricks" described in the git-commit-tree manpage to supply such information
directly - but that is nothing you really want to do for each patch.
The way patches get applied are using git-am. This program use(s|d?)
internally git-mailinfo to extract important information from the patch. Lets
use
"[PATCH 21/26] staging:batman-adv: kfree_skb() in interface_tx() in error
case" for further explanations. We would normally just save that as file or in
a mbox. Now just use `git am FILENAME` and everything should be parsed and
committed. If not than you can try `git am -3 FILENAME` to try a 3-way merge -
if it still not work than maybe it is the best idea to inform the patch author
that he should resubmit the patch.
So what information is now extract? Lets call git-mailinfo with patch21.mbox
(the patch mentioned above saved as mbox file).
git mailinfo msg patch < patch21.mbox > info
We have 3 new files. "msg" is the commit message, "patch" is a patch which can
be applied using a normal patch program or git-apply and "info" - which is the
extracted info we are interested in.
Author: Simon Wunderlich
Email: siwu@hrz.tu-chemnitz.de
Subject: staging:batman-adv: kfree_skb() in interface_tx() in error case
Date: Thu, 6 May 2010 22:18:47 +0200
mailinfo has now the possibility to extract the From: line in the mail header
- this is the usual way. But Andrew submitted the patch instead of Simon.
Thereof there is a second way to extract that information - the first 'From: '
line in the mail body. git-format-patch added this line because Andrew was not
the author of the patch and git-mailinfo will strip this line again from the
commit message.
We can see that the Signed-off-by line is not used at all in git-am or git-
commit and that we must tools like git-am to get the correct author field in a
commit when applying a patch. If you apply your patch with another tool than
you must use git-commit differently (not explained here because I don't want
to encourage people to it). So even if the Signed-off-by thing is more a
social thing (read linux-2.6/Documentation/SubmittingPatches), it is still
used in different scripts to find out who is responsible for a specific part
of the kernel or similar things. We only use it here when getting patches from
svn to translate them into git commits.
This "credit" list you saw here is more or less the thing you get when running
git-shortlog. It just gathers the commits of all authors and shows a summary
commit list for each author. "author" means here the author mentioned in the
author field of the git commit. So it is not Andrews fault, but the committer
has done something different than the above mentioned steps to get the commit
applied in maint.
Best regards,
Sven
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2010-05-07 10:48 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-06 20:18 [B.A.T.M.A.N.] [PATCH 00/26] staging:batman-adv Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 01/26] staging:batman-adv: only modify hna-table on active module Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 02/26] staging:batman-adv: Clone shared bat packets before modifying them Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 03/26] staging:batman-adv: fix aggregation timing bug Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 04/26] staging:batman-adv: Fix aggregation direct-link bug Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 05/26] staging:batman-adv: Update copyright years Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 06/26] staging:batman-adv: remove the beta from main.h for release Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 07/26] staging:batman-adv: Remove dead max addr and obsolete VIS_FORMAT strings Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 08/26] staging:batman-adv: Add 0.2.1 changes to the CHANGELOG Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 09/26] staging:batman-adv: Update README about vis raw output Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 10/26] staging:batman-adv: Changing version to 0.2.2-beta Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 11/26] staging:batman-adv: cleanup: change test for end of array Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 12/26] staging:batman-adv: fix whitespace style issues Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 13/26] staging:batman-adv: convert multiple /proc files to use sysfs Andrew Lunn
2010-05-06 20:41 ` Greg KH
2010-05-12 17:19 ` Marek Lindner
2010-05-12 17:38 ` Greg KH
2010-05-12 18:55 ` Sven Eckelmann
2010-05-12 19:17 ` Greg KH
2010-05-12 23:51 ` Marek Lindner
2010-05-14 16:10 ` Greg KH
2010-05-13 11:45 ` Andrew Lunn
2010-05-16 13:18 ` Simon Wunderlich
2010-05-12 23:25 ` Marek Lindner
2010-05-12 19:43 ` Andrew Lunn
2010-05-12 19:47 ` Sven Eckelmann
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 14/26] staging:batman-adv: convert more files from /proc to /sys Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 15/26] staging:batman-adv: move originator interval setting " Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 16/26] staging:batman-adv: remove redundant pointer to originator interface Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 17/26] staging:batman-adv: move /proc interface handling to /sys Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 18/26] staging:batman-adv: fix whitespace style issues Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 19/26] staging:batman-adv: Reorganize sequence number handling Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 20/26] staging:batman-adv: Limit queue lengths for batman and broadcast packets Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 21/26] staging:batman-adv: kfree_skb() in interface_tx() in error case Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 22/26] staging:batman-adv: Update pointer to ethhdr after skb_copy Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 23/26] staging:batman-adv: Update TODO file to reflect current state Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 24/26] staging:batman-adv: Fix whitespace problems criticized by checkpatch.pl Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 25/26] staging:batman-adv: Reduce max characters on a line to 80 Andrew Lunn
2010-05-06 20:18 ` [B.A.T.M.A.N.] [PATCH 26/26] staging:batman-adv: updating README Andrew Lunn
2010-05-06 21:44 ` [B.A.T.M.A.N.] [PATCH 00/26] staging:batman-adv Sven Eckelmann
2010-05-07 3:14 ` Marek Lindner
2010-05-07 10:48 ` Sven Eckelmann [this message]
2010-05-07 5:25 ` Andrew Lunn
-- strict thread matches above, loose matches on Subject: below --
2010-05-22 14:16 [B.A.T.M.A.N.] [PATCH 00/26] Staging: batman-adv Sven Eckelmann
2010-05-22 14:35 ` Greg KH
2010-05-22 15:08 ` Sven Eckelmann
2010-05-22 15:27 ` Greg KH
2010-05-22 15:32 ` Sven Eckelmann
2010-05-24 18:43 ` Greg KH
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=201005071248.56290.sven.eckelmann@gmx.de \
--to=sven.eckelmann@gmx.de \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
--cc=lindner_marek@yahoo.de \
/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