Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

No Format
cp -a 3.refs-cleaned 4.recent-history
cd 4.recent-history

Remove tags and branches prior to 3.3

No Format
git tag -d `git tag|grep -v 3.[34]`

Find the id of the 3.3 tagged commit and parent:

No Format
git log --since=2009-12-18 --until=2009-12-19export lastid=`git show v3.3|grep commit|sed 's/...... \(.*\)$/\1/'`
export parentid=`git show $lastid^|grep commit|sed 's/...... \(.*\)$/\1/'`

Filter out everything prior:

No Format
export lastid=86b96dec0108af8bc160b84f24276962e0c4e2d5
export parentid=100891ba5fd0f1d3869236047867462355e9f1b1

git filter-branch --parent-filter "sed -e 's/-p $parentid//'" \
--tag-name-filter cat -- --all ^$parentid

git for-each-ref --format='%(refname)' refs/original \
| while read ref; do git update-ref -d "$ref"; done

Re-sign the tags:

No Format
git retag v3.3 v3.3
git retag v3.3.1 v3.3.1
git retag v3.4 v3.4
git retag v3.4-RC1 v3.4-RC1
git retag v3.4.1 v3.4.1

Reclaim unused space:

No Format
git reflog expire --expire=0 --all
git repack -ad
git prune

...

No Format
git tag -d `git tag|grep 3.[34]`
git branch -D maintenance-3.4
git reset --hard (parent of lastid)$parentid
git gc --prune=now

6. Graft Test

...