# Backing git repos to tape?

3 messages from 2007-11-25 to 2007-11-25. Participants: Joakim Tjernlund, Jakub Narebski.
Thread: https://gitlist.dev/t/11005

## Joakim Tjernlund, 2007-11-25 10:58

Subject: Backing git repos to tape?
Message-ID: <027601c82f52$2433fdf0$5267a8c0@Jocke>
URL: https://gitlist.dev/e/027601c82f52%242433fdf0%245267a8c0%40Jocke

```
Is there a preferred way to do the above?

To do a full backup I could just copy the whole repo, but how
do I do inrecmental backups(and restore)?

 Jocke 

```

## Jakub Narebski, 2007-11-25 11:05

Subject: Re: Backing git repos to tape?
Message-ID: <fibkt4$q6g$1@ger.gmane.org>
URL: https://gitlist.dev/e/fibkt4%24q6g%241%40ger.gmane.org
In-Reply-To: <027601c82f52$2433fdf0$5267a8c0@Jocke>

```
[Cc: Joakim Tjernlund <joakim.tjernlund@transmode.se>, git@vger.kernel.org]

Joakim Tjernlund wrote:

> Is there a preferred way to do the above?
> 
> To do a full backup I could just copy the whole repo, but how
> do I do inrecmental backups(and restore)?

Try git-bundle. There were in the mailing list archive the recipe
on how to do an "incremental" bundle...

...ahh, there it is, by Johannes "Dscho" Schindelin:

        git bundle create retort.bundle --all \
                --not $(git ls-remote the-other.bundle | cut -c1-40)

Message-ID: <Pine.LNX.4.64.0711231132120.27959@racer.site>

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

```

## Jakub Narebski, 2007-11-25 12:00

Subject: Re: Backing git repos to tape?
Message-ID: <200711251300.06575.jnareb@gmail.com>
URL: https://gitlist.dev/e/200711251300.06575.jnareb%40gmail.com
In-Reply-To: <028101c82f58$0e26f200$5267a8c0@Jocke>

```
On Sun, 25 Nov 2007, Joakim Tjernlund wrote:
> Joakim Tjernlund wrote: 
>> Jakub Narebski wrote:
>>> Joakim Tjernlund wrote:
>>> 
>>>> Is there a preferred way to do the above?
>>>> 
>>>> To do a full backup I could just copy the whole repo, but how
>>>> do I do inrecmental backups(and restore)?
>>> 
>>> Try git-bundle. There were in the mailing list archive the recipe
>>> on how to do an "incremental" bundle...
>>> 
>>> ..ahh, there it is, by Johannes "Dscho" Schindelin:
>>> 
>>>         git bundle create retort.bundle --all \
>>>                 --not $(git ls-remote the-other.bundle | cut -c1-40)
>> 
>> Thanks, will look into git bundle

Please note however thatgit-bundle was created for easy and efficient
off-line (sneakernet) transport, not for backups of repositories.

Nevertheless it might be a good tool to use.
 
> Just did a
>   git ls-remote ./.
> in my linux repo and got a lot of ^{} in the printout.
> What do the ^{} mean?
>  
> ...
> 0b8bc8b91cf6befea20fe78b90367ca7b61cfa0d        refs/tags/v2.6.23
> 7d57c74238cdf570bca20b711b2c0b31a553c1e5        refs/tags/v2.6.23-rc1
> f695baf2df9e0413d3521661070103711545207a        refs/tags/v2.6.23-rc1^{}
[...]

----
git-rev-parse(1):

SPECIFYING REVISIONS
--------------------

A revision parameter typically, but not necessarily, names a
commit object.  They use what is called an 'extended SHA1'
syntax.  Here are various ways to spell object names.

[...]

* A suffix '^' followed by an empty brace pair
  (e.g. `v0.99.8^{}`) means the object could be a tag,
  and dereference the tag recursively until a non-tag object is
  found.

----

refs/tags/v2.6.23-rc1 is a ref which points to a _tag object_ 7d57c742...,
which in turn points to commit f695baf2...

-- 
Jakub Narebski
Poland

```
