# Pushing and fetching sha1s directly

3 messages from 2007-12-22 to 2007-12-23. Participants: Finn Arne Gangstad, Junio C Hamano, Johannes Schindelin.
Thread: https://gitlist.dev/t/11391

## Finn Arne Gangstad, 2007-12-22 21:13

Subject: Pushing and fetching sha1s directly
Message-ID: <20071222211308.GA27281@pvv.org>
URL: https://gitlist.dev/e/20071222211308.GA27281%40pvv.org

```
Currently there seems to be no way of pusing a sha1 directly, or to
fetch a sha1 directly. When working with submodules, it is convenient
to be able to work with detached HEADs, so it would be good if this
could be supported also by fetch and push.

What would be a resonable syntax for this? I'm thinking something like
git fetch --sha1 <repository> <sha1>
git push --sha1 <repository> <sha1>

Where <sha1> could really be a <commit> I guess, but the option name
"--commit" seems wrong somehow. Another option is to extend refspecs
so sha1s can be allowed in there directly, so this would just work:

git fetch <repository> <sha1>

What do you prefer?

- Finn Arne

```

## Junio C Hamano, 2007-12-22 23:12

Subject: Re: Pushing and fetching sha1s directly
Message-ID: <7vlk7mwchm.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vlk7mwchm.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <20071222211308.GA27281@pvv.org>

```
Finn Arne Gangstad <finnag@pvv.org> writes:

> Currently there seems to be no way of pusing a sha1 directly, or to
> fetch a sha1 directly. When working with submodules, it is convenient
> to be able to work with detached HEADs, so it would be good if this
> could be supported also by fetch and push.

At least push of an arbitrary commit is already supported, I
think.

For fetch, I would normally say "check the list archives", but
it was very long time ago that it was proposed and discussed.
It has some security and performance implications.

```

## Johannes Schindelin, 2007-12-23 20:04

Subject: Re: Pushing and fetching sha1s directly
Message-ID: <Pine.LNX.4.64.0712232003470.23902@racer.site>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0712232003470.23902%40racer.site
In-Reply-To: <7vlk7mwchm.fsf@gitster.siamese.dyndns.org>

```
Hi,

On Sat, 22 Dec 2007, Junio C Hamano wrote:

> Finn Arne Gangstad <finnag@pvv.org> writes:
> 
> > Currently there seems to be no way of pusing a sha1 directly, or to 
> > fetch a sha1 directly. When working with submodules, it is convenient 
> > to be able to work with detached HEADs, so it would be good if this 
> > could be supported also by fetch and push.
> 
> For fetch, I would normally say "check the list archives", but it was 
> very long time ago that it was proposed and discussed. It has some 
> security and performance implications.

To enhance on that: sometimes you need to delete a branch in a hurry, 
because you publicised some secret code/file.  In that case, you do _not_ 
want people being able to fetch arbitrary commits.

Ciao,
Dscho

```
