Christian Halstrick
2014-10-02 13:57:45 UTC
I always though during fetch I have to specify a refspec and that a
sha1 would not be accepted as a ref. Firing some like 'git fetch
origin <sha1>' should be forbidden. But in fact I see that such a
fetch command succeeds if you already have that object in your local
repo.
My question: is it allowed to fetch sha1's? Shouldn't fetch fail if you try it?
ce08dcc41104383f3cca2b95bd41e9054a957f5b HEAD
af00f4c39bcc8dc29ed8f59a47066d5993c279e4 refs/foo/b1
...
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From https://github.com/chalstrick/dondalfi
* branch refs/foo/b1 -> FETCH_HEAD
* branch af00f4c39bcc8dc29ed8f59a47066d5993c279e4 -> FETCH_HEAD
Ciao
Chris
sha1 would not be accepted as a ref. Firing some like 'git fetch
origin <sha1>' should be forbidden. But in fact I see that such a
fetch command succeeds if you already have that object in your local
repo.
My question: is it allowed to fetch sha1's? Shouldn't fetch fail if you try it?
git clone -q https://github.com/chalstrick/dondalfi.git
cd dondalfi
git ls-remote
From https://github.com/chalstrick/dondalfi.gitcd dondalfi
git ls-remote
ce08dcc41104383f3cca2b95bd41e9054a957f5b HEAD
af00f4c39bcc8dc29ed8f59a47066d5993c279e4 refs/foo/b1
...
git show af00f4c39bcc8dc29ed8f59a47066d5993c279e4
fatal: bad object af00f4c39bcc8dc29ed8f59a47066d5993c279e4git fetch origin af00f4c39bcc8dc29ed8f59a47066d5993c279e4
error: no such remote ref af00f4c39bcc8dc29ed8f59a47066d5993c279e4git fetch origin refs/foo/b1
remote: Counting objects: 3, done.remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From https://github.com/chalstrick/dondalfi
* branch refs/foo/b1 -> FETCH_HEAD
git fetch origin af00f4c39bcc8dc29ed8f59a47066d5993c279e4
From https://github.com/chalstrick/dondalfi* branch af00f4c39bcc8dc29ed8f59a47066d5993c279e4 -> FETCH_HEAD
Ciao
Chris