threads / discuss / 15549

[EGIT] Checking out signed tags fails

Subject: [EGIT] Checking out signed tags fails

## tl;dr

3 messages between Sep 16, 2008 and Sep 20, 2008.

replies: 2people: 3as markdown or json

Jonas Flodén· Sep 16, 2008, 12:58 UTC · lore

When trying to check-out a signed tag I get the following Error: Unable to switch branches

Reason:
  Mapping commit: refs/tags/v1.3.1.1

And in details: Object XXX is not a commit.

The object ID shown is actually the id for the tag object and not the tagged commit.

This was tested with the latest master. It seemed commit 1f460e2 (Tests and fixes for dereferencing tags in Repository.resolve(), 2008-09-12) would fix it, but it didn't.

Thanks,
Jonas
Jonas Fonseca· Sep 16, 2008, 18:48 UTC · re: Jonas Flodén · lore

Re: [EGIT] Checking out signed tags fails

On Tue, Sep 16, 2008 at 14:58, Jonas Flodén <jonas.floden@gmail.com> wrote:
Show 15 quoted lines
> When trying to check-out a signed tag I get the following Error:
> Unable to switch branches
>
> Reason:
>  Mapping commit: refs/tags/v1.3.1.1
>
> And in details:
> Object XXX is not a commit.
>
> The object ID shown is actually the id for the tag object and not the
> tagged commit.
>
> This was tested with the latest master. It seemed commit 1f460e2 (Tests
> and fixes for dereferencing tags in Repository.resolve(), 2008-09-12)
> would fix it, but it didn't.

The fixes are only for the code path where reference expressions needs to be resolved. From what I understand, the problem you have encountered is due to resolve() falling back to using resolveSimple() which doesn't dereference any tags. Perhaps EGit could postfix ^{} or ^{commit} to the tag name before calling mapCommit(), or whatever it uses?

-- 
Jonas Fonseca
Shawn O. Pearce· Sep 20, 2008, 00:26 UTC · re: Jonas Fonseca · lore

Re: [EGIT] Checking out signed tags fails

Jonas Fonseca <jonas.fonseca@gmail.com> wrote:
Show 23 quoted lines
> On Tue, Sep 16, 2008 at 14:58, Jonas Flodén <jonas.floden@gmail.com> wrote:
> > When trying to check-out a signed tag I get the following Error:
> > Unable to switch branches
> >
> > Reason:
> >  Mapping commit: refs/tags/v1.3.1.1
> >
> > And in details:
> > Object XXX is not a commit.
> >
> > The object ID shown is actually the id for the tag object and not the
> > tagged commit.
> >
> > This was tested with the latest master. It seemed commit 1f460e2 (Tests
> > and fixes for dereferencing tags in Repository.resolve(), 2008-09-12)
> > would fix it, but it didn't.
> 
> The fixes are only for the code path where reference expressions needs
> to be resolved. From what I understand, the problem you have
> encountered is due to resolve() falling back to using resolveSimple()
> which doesn't dereference any tags. Perhaps EGit could postfix ^{} or
> ^{commit} to the tag name before calling mapCommit(), or whatever it
> uses?

Yea, a ^{} is missing somwhere... this is now in the issue tracker. I'm behind and probably won't look at it more this week, but its probably a simple thing in the checkout UI.

-- 
Shawn.

← back to recent threads