git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: File versioning based on shallow Git repositories?

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Apr 12, 2018, 20:46 UTC
Message-ID
<87k1tcf905.fsf@evledraar.gmail.com>
In-Reply-To
<4af21bcd-7a68-50df-4cce-0b050ccaeb90@usit.uio.no>
On Thu, Apr 12 2018, Hallvard Breien Furuseth wrote:
Show 16 quoted lines
> On 12. april 2018 20:47, Ævar Arnfjörð Bjarmason wrote:
>> 1. Create a backup.git repo
>> 2. Each time you make a backup, checkout a new orphan branch, see "git
>>     checkout --orphan"
>> 3. You copy the files over, commit them, "git log" at this point shows
>>     one commit no matter if you've done this before.
>> 4. You create a tag for this backup, e.g. one named after the current
>>     time, delete the branch.
>> 5. You then have a retention period for the tags, e.g. only keep the
>>     last 30 tags if you do daily backups for 30 days of backups.
>>
>> Then as soon as you delete the tags the old commit will be unreferenced,
>> and you can make git-gc delete the data.
>
> Nice!
> Why the tags though, instead of branches named after the current time?

Because tags are idiomatic in git for a reference that doesn't change, but sure, if you'd like branches that'll work too.

Show 5 quoted lines
> One --orphan branch/tag per day with several commits would work for me.
>
> Also maybe it'll be worthwhile to generate .git/info/grafts in a local
> clone of the repo to get back easily visible history.  No grafts in
> the original repo, grafts mess things up.
Maybe, I have not tried this with grafts.
Previous: Hallvard Breien FurusethNext: Rafael Ascensao
Message 4 of 9 in “File versioning based on shallow Git repositories?”
  1. Hallvard Breien FurusethApr 12, 2018
  2. Ævar Arnfjörð BjarmasonApr 12, 2018
  3. Hallvard Breien FurusethApr 12, 2018
  4. Ævar Arnfjörð BjarmasonApr 12, 2018
  5. Rafael AscensaoApr 12, 2018
  6. Hallvard Breien FurusethApr 12, 2018
  7. Jakub NarebskiApr 13, 2018
  8. Johannes SchindelinApr 13, 2018
  9. Jakub NarebskiApr 13, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.