From: Jonas Fonseca Date: Tue, 16 Sep 2008 18:48:01 GMT Subject: Re: [EGIT] Checking out signed tags fails Message-ID: <2c6b72b30809161148p2b4ce08fh32ff5717ca85e773@mail.gmail.com> In-Reply-To: On Tue, Sep 16, 2008 at 14:58, Jonas Flodén 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? -- Jonas Fonseca