Skip to contentSkip to conversation

configfs updates for 4.8

GIT PULL Christoph Hellwig 4 participants 8 messages Jul 28, 2016 – Jul 29, 2016 VFS

lore
Share & tools
lore
#0 lore raw

Hi Linus,

The following changes since commit 3dc3afadeb0403fd967b97ee282ab9053d36da2b:

configfs: don't set buffer_needs_fill to zero if show() returns error (2016-07-10 21:02:18 +0900)

are available in the git repository at:

git://git.infradead.org/users/hch/configfs.git tags/configfs-for-4.8

for you to fetch changes up to 3dc3afadeb0403fd967b97ee282ab9053d36da2b:

configfs: don't set buffer_needs_fill to zero if show() returns error (2016-07-10 21:02:18 +0900)

----------------------------------------------------------------
configfs updates for 4.8:

- a simple error handling fix from Tal Shorer

----------------------------------------------------------------

#1 lore raw
Quoted 4 lines · Christoph Hellwig

git://git.infradead.org/users/hch/configfs.git tags/configfs-for-4.8

for you to fetch changes up to 3dc3afadeb0403fd967b97ee282ab9053d36da2b:

Same lack of diffstat..

There's a reason we have a "git request-pull" helper. You don't have to use it (lots of people end up using other things that match their workflow better), but you do have to generate something at least as good at that.

Linus

maintainer
#2 lore raw
Quoted 4 lines · Linus Torvalds
Quoted 3 lines · Christoph Hellwig

git://git.infradead.org/users/hch/configfs.git tags/configfs-for-4.8

Quoted 8 lines
Quoted 1 line

for you to fetch changes up to 3dc3afadeb0403fd967b97ee282ab9053d36da2b:

Same lack of diffstat..

There's a reason we have a "git request-pull" helper. You don't have to use it (lots of people end up using other things that match their workflow better), but you do have to generate something at least as good at that.

FWIW, git request-pull is very likely to make complete mess of diffstat - all it takes is branch started at -rc1, then a merge from anything started at later point (e.g. Miklos asking to pull ->d_real() work from his tree into vfs.git, with his branch starting at -rc5).

I've ended up doing git fetch origin; git checkout -b XXX origin; git merge work.misc; git diff XXX --stat and replacing the mess produced by git-request-pull with that. It works, of course, but what worries me is that less obvious mess could've slipped unnoticed. Might make sense to teach git request-pull to warn about likely bogus diffstat...

#3 lore raw
Quoted 5 lines · Al Viro

FWIW, git request-pull is very likely to make complete mess of diffstat - all it takes is branch started at -rc1, then a merge from anything started at later point (e.g. Miklos asking to pull ->d_real() work from his tree into vfs.git, with his branch starting at -rc5).

Yes. git request-pull doesn't do a real merge, and if you have multiple merge bases, the diffstat is usually garbage (because you also end up getting diffs that are all about the differences in merge bases, not the branch itself).

So people who have more complex git history are certainly encouraged to

(a) do their own test-merge anyway, just to see that everything is
fine, and to be able to report to me about merge conflicts

(b) use the result of that test-merge to generate a better diff-stat
than git request-pull does.

So yes, people who have more complex git trees are very much welcome to improve on git request-pull output. It's aoppreciated.

What is *not* appreciated is when people send something worse ;)

git request-pull tends to do really well for simple and straightforward git users, which is what it's geared towards. If you have linear history and don't do back-merges (which you shouldn't do unless you really really know what you are doing anyway), you'll never see the limitations of the stupid "just diff against the merge base" approach.

Linus

#4 lore raw
Quoted 10 lines · Linus Torvalds
Quoted 7 lines · Al Viro

FWIW, git request-pull is very likely to make complete mess of diffstat - all it takes is branch started at -rc1, then a merge from
anything started at later point (e.g. Miklos asking to pull ->d_real()
work from his tree into vfs.git, with his branch starting at -rc5).

Quoted 4 lines

Yes. git request-pull doesn't do a real merge, and if you have multiple merge bases, the diffstat is usually garbage (because you also end up getting diffs that are all about the differences in merge bases, not the branch itself).

Just in case it helps, this is what I do:

I keep a static base around for each tree. Its the commit for which git log base...HEAD only returns the commits I've pulled or committed myself. I think mathematically, if you do a pairwise comparison of all the trees you've pulled, it ends up being the latest (tree relative) foreign commit that doesn't appear in any other tree you've pulled.

if you can't be bothered to calculate it, then you can always merge up to some point in Linus' head beyond yours and that then becomes your base.

I store it in a xxx-base branch for the xxx tree and then do

git diff --stat -M --summary xxx-base...xxx

James

Quoted 22 lines

So people who have more complex git history are certainly encouraged to

(a) do their own test-merge anyway, just to see that everything is
fine, and to be able to report to me about merge conflicts

(b) use the result of that test-merge to generate a better diff-stat
than git request-pull does.

So yes, people who have more complex git trees are very much welcome to improve on git request-pull output. It's aoppreciated.

What is *not* appreciated is when people send something worse ;)

git request-pull tends to do really well for simple and straightforward git users, which is what it's geared towards. If you have linear history and don't do back-merges (which you shouldn't do unless you really really know what you are doing anyway), you'll never see the limitations of the stupid "just diff against the merge base" approach.

Linus

#5 lore raw
In reply to Linus Torvalds
Quoted 4 lines · Linus Torvalds
Quoted 3 lines · Christoph Hellwig

git://git.infradead.org/users/hch/configfs.git tags/configfs-for-4.8

Quoted 8 lines
Quoted 1 line

for you to fetch changes up to 3dc3afadeb0403fd967b97ee282ab9053d36da2b:

Same lack of diffstat..

There's a reason we have a "git request-pull" helper. You don't have to use it (lots of people end up using other things that match their workflow better), but you do have to generate something at least as good at that.

Both pull requests were generated using git request-pull from git 2.1.4.

#6 lore raw
Quoted 2 lines · Christoph Hellwig

Both pull requests were generated using git request-pull from git 2.1.4.

Looks like I was tired enough to mess up the confusing arguments to git request-pull once again. I'll resend both requests.

#7 lore raw
In reply to Christoph Hellwig

Hi Linus,

The following changes since commit ee40fb2948fc99096836995d4f3ddcc0efbac790:

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi (2016-07-08 18:59:46 -0700)

are available in the git repository at:

git://git.infradead.org/users/hch/configfs.git tags/configfs-for-4.8

for you to fetch changes up to 3dc3afadeb0403fd967b97ee282ab9053d36da2b:

configfs: don't set buffer_needs_fill to zero if show() returns error (2016-07-10 21:02:18 +0900)

----------------------------------------------------------------
configfs updates for 4.8:

- a simple error handling fix from Tal Shorer

----------------------------------------------------------------
Tal Shorer (1):
configfs: don't set buffer_needs_fill to zero if show() returns error

 fs/configfs/file.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)