threads / bug / 32034

Bug? Subtree merge seems to choke on trailing slashes.

Subject: Bug? Subtree merge seems to choke on trailing slashes.

## tl;dr

3 messages between Nov 7, 2012 and Nov 14, 2012.

replies: 2people: 2as markdown or json

Jack O'Connor· Nov 7, 2012, 01:58 UTC · lore

I'm summarizing from here: http://stackoverflow.com/questions/5904256/git-subtree-merge-into-a-deeply-nested-subdirectory

Quick repro:
1) I do an initial subtree merge in what I think is the standard way
(http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html).
My prefix is simply "test/".
2) I try to merge more upstream changes on top of that with the
following command:
git merge --strategy-option=subtree='test/' $upstream_stuff
3) Git fails with an obscure error:
fatal: entry  not found in tree daf4d0f0a20b8b6ec007be9fcafeac84a6eba4f0

If I remove the trailing slash from the command in step 2, it works just fine: git merge --strategy-option=subtree='test' $upstream_stuff

Note in the error message above, there's a double space after "entry". Is it looking for a tree with an empty name? Did my trailing slash imply a directory named empty-string?

Thanks for your help.
-- Jack O'Connor
Jack O'Connor· Nov 14, 2012, 02:17 UTC · re: Jack O'Connor · lore

Re: Bug? Subtree merge seems to choke on trailing slashes.

Do I have the right list for bug reports? Apologies if not.
On Tue, Nov 6, 2012 at 5:58 PM, Jack O'Connor <oconnor663@gmail.com> wrote:
Show 24 quoted lines
>
> I'm summarizing from here:
> http://stackoverflow.com/questions/5904256/git-subtree-merge-into-a-deeply-nested-subdirectory
>
> Quick repro:
> 1) I do an initial subtree merge in what I think is the standard way
> (http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html).
> My prefix is simply "test/".
> 2) I try to merge more upstream changes on top of that with the
> following command:
> git merge --strategy-option=subtree='test/' $upstream_stuff
> 3) Git fails with an obscure error:
> fatal: entry  not found in tree daf4d0f0a20b8b6ec007be9fcafeac84a6eba4f0
>
> If I remove the trailing slash from the command in step 2, it works just fine:
> git merge --strategy-option=subtree='test' $upstream_stuff
>
> Note in the error message above, there's a double space after "entry".
> Is it looking for a tree with an empty name? Did my trailing slash
> imply a directory named empty-string?
>
> Thanks for your help.
>
> -- Jack O'Connor
Junio C Hamano· Nov 14, 2012, 20:11 UTC · re: Jack O'Connor · lore

Re: Bug? Subtree merge seems to choke on trailing slashes.

"Jack O'Connor" <oconnor663@gmail.com> writes:
> Do I have the right list for bug reports? Apologies if not.
Yes.
Show 7 quoted lines
> On Tue, Nov 6, 2012 at 5:58 PM, Jack O'Connor <oconnor663@gmail.com> wrote:
>>
>> 2) I try to merge more upstream changes on top of that with the
>> following command:
>> git merge --strategy-option=subtree='test/' $upstream_stuff
>> 3) Git fails with an obscure error:
>> fatal: entry  not found in tree daf4d0f0a20b8b6ec007be9fcafeac84a6eba4f0

I'd expect --strategy-option=subtree=./test, ././test (or ./test/ for that matter) would fail in a similar way, too.

What happens if you do not give an unnecessary '/' at the end?

If it works, I'd say that it falls into "dr. it hurts when I twist my arm this way---don't do it then" category.

← back to recent threads