Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
T
tails
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 960
    • Issues 960
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 14
    • Merge Requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • tails
  • tails
  • Issues
  • #6277

Closed
Open
Created Sep 11, 2013 by intrigeri@intrigeriMaintainer14 of 14 tasks completed14/14 tasks

Rewrite the tails-live.git history

Originally created by @intrigeri on #6277 (Redmine)

Without:

  • the Debian packages: config/chroot_local-packages/*.deb config/chroot_local-packages/*.gz config/chroot_local-packages/*.bz2 config/chroot_local-packages/*.dsc
  • the forum: wiki/src/forum*
  • promotional material that will be moved somewhere else (#8827 (closed)): wiki/src/promote/*
  • some large files from the logo contest: wiki/src/blueprint/logo/FINISHED_WORK.7z wiki/src/blueprint/logo/tails_hiding_cat.zip wiki/src/blueprint/logo/tails_walking_cat.zip
  • TrueCrypt tarballs: config/chroot_local-includes/usr/share/amnesia/truecrypt*.gz

Once this is done, we can revert commit 4f5588 in the tails Puppet module (filtering out spurious jenkins-{build,fetch}* tags.

First try, with only one branch:

git filter-branch -d /var/tmp/git-rewrite --tree-filter 'rm -rf config/chroot_local-packages/*.deb config/chroot_local-packages/*.gz config/chroot_local-packages/*.bz2 config/chroot_local-packages/*.dsc wiki/src/forum*' feature/jessie
# git tag | xargs git tag -d # why?!
git remote  rm origin                                   
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
git reflog expire --expire=now --all                                                
git gc --aggressive --prune=now                                                     

=> .git goes from 316MB to 91MB. With all tags and current branches, it’ll probably be a tiny bit more.

To preserve tags, one needs to also pass --tag-name-filter cat to git filter-branch.

Other options:

  • git filter-branch --index-filter is supposedly much faster than --tree-filter
  • using bfg: java -jar /path/to/bfg.jar
    --delete-folders '{forum,deb-src}'
    -D '{.deb,.diff.gz,.debian.tar.,.orig.tar.,forum.mdwn}'
    tails-test.git

Blueprint: https://tails.boum.org/blueprint/rewrite_Git_history/

Subtasks

  • #8618 (closed)
  • #8619 (closed)
  • #8620 (closed)
  • sysadmin#8624 (closed)
  • #8633 (closed)
  • #8630 (closed)
  • sysadmin#8632 (closed)
  • sysadmin#8631 (closed)
  • #8629 (closed)
  • #8628 (closed)
  • #8627 (closed)
  • #8813 (closed)
  • #8939 (closed)
  • #8946 (closed)
Edited May 15, 2020 by intrigeri
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Tails_1.3.1
Milestone
Tails_1.3.1 (Past due)
Assign milestone
Time tracking
None
Due date
None