Re: git-fetch remote tag to local branch fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 24, 2008 at 14:17, Klas Lindberg <klas.lindberg@xxxxxxxxx> wrote:
> Hi
>
> I have a repository "bogustree" that contains tags "test_tag" and
> "foo_tag" (both on the same branch, with "test_tag" pointing to an
> older commit).
> I also have repository "R", which contains "test_tag" from "bogustree"
> and a branch "b" created from "test_tag". The active branch in R is
> "master".
>
> Now I want to do the following from R:
>
> git-fetch bogustree refs/tags/foo_tag:refs/heads/b
>
> but this fails with the message given below. The interesting part is
> that git-fetch tries to write a "non-commit object" and indeed I have
> no idea what this thing is (the commit pointed to by "foo_tag" has
> commit ID cab0a25388f1884a1ab16bd0d66f877c0b36f1d5).

non-commit object is an object that is not a commit, like a tag, a
blob or a tree, and you are trying to write a tag in refs/heads/. Only
commits objects (no tags) are allowed in refs/heads/.


> Another
> interesting detail is that the command fails and then continues
> anyway. That seems wrong in itself.
>
> # remote: Counting objects: 6, done.
> # remote: Compressing objects: 100% (2/2), done.
> # remote: Total 4 (delta 0), reused 0 (delta 0)
> # Unpacking objects: 100% (4/4), done.
> # error: Trying to write non-commit object
> 5f61233bc5dad0f3e25ecea65457f5bb528174d2 to branch refs/heads/B
> # From /home/qliklas/bogustree/b/b
> #    72f0622..5f61233  foo_tag    -> b
> # From /home/qliklas/bogustree/b/b
> #  * [new tag]         foo_tag    -> foo_tag
> #  * [new tag]         test_tag   -> test_tag

Are you sure it is written as a branch? What is the output of "git tag
-l" and "git branch -a"?


>
> Why can't I fetch like this? The manual page for git-fetch says that
>
>       <refspec>
>              The canonical format of a <refspec> parameter is +?<src>:<dst>;
>              that is, an optional plus +, followed by the source ref,
>              followed by a colon :, followed by the destination ref.
>
>              The remote ref that matches <src> is fetched, and if <dst> is
>              not empty string, the local ref that matches it is fast
>              forwarded using <src>. Again, if the optional plus + is used,
>              the local ref is updated even if it does not result in a fast
>              forward update.
>
> so I think it should be OK?

as long as <src> are commit objects.

Santi
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux