Looks like pull requests no longer work for me on linux.
Some other trees (non-linux) work fine but I didn't yet
check whether it's the local or the remote tree that's
at issue.
Or maybe it's a configuration change that I missed?
Note: I have
[push]
default = matching
configured in .gitconfig.
[mst@robin linux]$ git request-pull net-next/master git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git net-next
warn: No match for commit 2ae76693b8bcabf370b981cd00c36cd41d33fabc found at git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
warn: Are you sure you pushed 'net-next' there?
The following changes since commit 96b2e73c5471542cb9c622c4360716684f8797ed:
Revert "net/mlx4_en: Use affinity hint" (2014-06-02 00:18:48 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git net-next
for you to fetch changes up to 2ae76693b8bcabf370b981cd00c36cd41d33fabc:
vhost: replace rcu with mutex (2014-06-02 23:47:59 +0300)
----------------------------------------------------------------
Michael S. Tsirkin (2):
vhost-net: extend device allocation to vmalloc
vhost: replace rcu with mutex
drivers/vhost/net.c | 23 ++++++++++++++++++-----
drivers/vhost/vhost.c | 10 +++++++++-
2 files changed, 27 insertions(+), 6 deletions(-)
[mst@robin linux]$ git request-pull net-next/master git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git net-next
warn: No match for commit 2ae76693b8bcabf370b981cd00c36cd41d33fabc found at git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
warn: Are you sure you pushed 'net-next' there?
The following changes since commit 96b2e73c5471542cb9c622c4360716684f8797ed:
Revert "net/mlx4_en: Use affinity hint" (2014-06-02 00:18:48 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git net-next
for you to fetch changes up to 2ae76693b8bcabf370b981cd00c36cd41d33fabc:
vhost: replace rcu with mutex (2014-06-02 23:47:59 +0300)
----------------------------------------------------------------
Michael S. Tsirkin (2):
vhost-net: extend device allocation to vmalloc
vhost: replace rcu with mutex
drivers/vhost/net.c | 23 ++++++++++++++++++-----
drivers/vhost/vhost.c | 10 +++++++++-
2 files changed, 27 insertions(+), 6 deletions(-)
[mst@robin linux]$ git --version
git version 2.0.0.538.gb6dd70f
[mst@robin linux]$ /usr/bin/git request-pull net-next/master git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git net-next
The following changes since commit 96b2e73c5471542cb9c622c4360716684f8797ed:
Revert "net/mlx4_en: Use affinity hint" (2014-06-02 00:18:48 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost-next
for you to fetch changes up to 2ae76693b8bcabf370b981cd00c36cd41d33fabc:
vhost: replace rcu with mutex (2014-06-02 23:47:59 +0300)
----------------------------------------------------------------
Michael S. Tsirkin (2):
vhost-net: extend device allocation to vmalloc
vhost: replace rcu with mutex
drivers/vhost/net.c | 23 ++++++++++++++++++-----
drivers/vhost/vhost.c | 10 +++++++++-
2 files changed, 27 insertions(+), 6 deletions(-)
[mst@robin linux]$ /usr/bin/git --version
git version 1.8.3.1
--
MST
On Mon, Jun 2, 2014 at 2:01 PM, Michael S. Tsirkin [off-list ref] wrote:
[mst@robin linux]$ git request-pull net-next/master git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git net-next
warn: No match for commit 2ae76693b8bcabf370b981cd00c36cd41d33fabc found at git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
warn: Are you sure you pushed 'net-next' there?
git request-pull is clearly correct. There is no "net-next" in that
public repository.
It *used* to be that request-pull then magically tried to fix it up
for you, which in turn resulted in the guess not being right, like
pointing to the wrong branch that just happened to have the same SHA1,
or pointing to a branch when it _should_ have pointed to a tag.
Now, if you pushed your local "net-next" branch to another branch name
(I can find a branch name called "vhost-next" at that repository, then
you can *tell* git that, using the same syntax you must have used for
the push.
So something like
git request-pull net-next/master
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
net-next:vhost-next
should work so that git doesn't end up having to guess (and
potentially guessing wrong).
But it may actually be a simpler driver error, and you wanted to use
"vhost-next", and that "net-next" was actually incorrect?
Linus
Linus Torvalds <torvalds <at> linux-foundation.org> writes:
On Mon, Jun 2, 2014 at 2:01 PM, Michael S. Tsirkin <mst <at> redhat.com>
wrote:
quoted
[mst <at> robin linux]$ git request-pull net-next/master
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git net-next
quoted
warn: No match for commit 2ae76693b8bcabf370b981cd00c36cd41d33fabc found
at git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
quoted
warn: Are you sure you pushed 'net-next' there?
git request-pull is clearly correct. There is no "net-next" in that
public repository.
I am seeing something similar:
$ git request-pull master origin > /dev/null
warn: No match for commit 64ea29197d5e13772b1f7b6c24feaa79cc97d997 found at
origin
warn: Are you sure you pushed 'HEAD' there?
but I pushed 64ea29197d5e13772b1f7b6c24feaa79cc97d997:
$ git show-ref bug_fix/init_report
64ea29197d5e13772b1f7b6c24feaa79cc97d997 refs/heads/bug_fix/init_report
64ea29197d5e13772b1f7b6c24feaa79cc97d997
refs/remotes/origin/bug_fix/init_report
The warning goes away if I give an explicit end commit.
Should the default value for $remote in the call to $find_matching_ref be
$head rather than HEAD (and similarly for the warning message)?
--James
On Mon, Jun 02, 2014 at 02:36:01PM -0700, Linus Torvalds wrote:
On Mon, Jun 2, 2014 at 2:01 PM, Michael S. Tsirkin [off-list ref] wrote:
quoted
[mst@robin linux]$ git request-pull net-next/master git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git net-next
warn: No match for commit 2ae76693b8bcabf370b981cd00c36cd41d33fabc found at git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
warn: Are you sure you pushed 'net-next' there?
git request-pull is clearly correct. There is no "net-next" in that
public repository.
OK, I see that it's correct.
It used to match commit and go from there, but it does not anymore, and
I didn't know this.
However, it does not tell me this.
It tells me there's no match for commit
2ae76693b8bcabf370b981cd00c36cd41d33fabc:
that commit is there.
Also "match" implies some matching still going on, might be best
to drop this.
It *used* to be that request-pull then magically tried to fix it up
for you, which in turn resulted in the guess not being right, like
pointing to the wrong branch that just happened to have the same SHA1,
or pointing to a branch when it _should_ have pointed to a tag.
Why not just put the SHA1 in there?
In fact it would be a bit more robust in case of
non-signed pull requests, won't it?
Now, if you pushed your local "net-next" branch to another branch name
(I can find a branch name called "vhost-next" at that repository, then
you can *tell* git that, using the same syntax you must have used for
the push.
So something like
git request-pull net-next/master
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
net-next:vhost-next
should work so that git doesn't end up having to guess (and
potentially guessing wrong).
But it may actually be a simpler driver error, and you wanted to use
"vhost-next", and that "net-next" was actually incorrect?
Linus
Yes: net-next is a local name, on the remote it's called vhost-next.
I realize now that with
git request-pull [-p] <start> <url> [<end>]
<end> actually is a name of commit in the *remote*
tree, not the local one.
Documentation could be improved a bit:
Commit to end at (defaults to HEAD). This names the commit at
the tip of the history you are asking to be pulled.
When the repository named by <url> has the commit at a tip of
a ref that is different from the ref you have locally, you can use
the <local>:<remote> syntax, to have its local name, a colon
:, and its remote name.
It does not have to be commit (could be signed tag), and
that text does not make it very clear what is different from what
until you re-read it a couple of times.
How about:
Object (commit or tag) to end at (defaults to HEAD). This names the object at
the tip of the history you are asking to be pulled.
The name <end> must refer to the same object in both the
local tree and the remote tree pointed at by <url>.
If the object that you want pulled has a different name
in the local and the remote trees, you can use
the <local>:<remote> syntax, to have its local name, a colon
:, and its remote name.
The error message could be improved too, it asks me whether
I pushed net-next which I did.
Would be nicer if it asked "Pushed net-next to net-next there?"
Also, how is it supposed to work without <end>?
git request-pull net-next/master
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
warn: No match for commit 2ae76693b8bcabf370b981cd00c36cd41d33fabc found
at git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
warn: Are you sure you pushed 'HEAD' there?
Where should I push HEAD, and how?
In fact does git let you push to HEAD?
Finally, the output even with a warning could be better:
git request-pull net-next/master
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
warn: No match for commit 2ae76693b8bcabf370b981cd00c36cd41d33fabc found
at git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
warn: Are you sure you pushed 'HEAD' there?
The following changes since commit
96b2e73c5471542cb9c622c4360716684f8797ed:
Revert "net/mlx4_en: Use affinity hint" (2014-06-02 00:18:48 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
If someone does not notice the warning (e.g. the warning is
on stderr and script could only redirect stdout)
then pull request is actually wrong.
It would be better to find the commit on both sides and
if it's there, just use the hash name.
--
MST