...
Subversion Directory | GitHub Repository | Status |
---|---|---|
fedora | github.com/fcrepo/fcrepo | Moved Started |
services/diringest | github.com/fcrepo/diringest | Moved |
services/genericsearch | github.com/fcrepo/gsearch | Moved |
services/oaiprovider | github.com/fcrepo/oaiprovider | Moved |
services/sipcreator | github.com/fcrepo/sipcreator | Moved |
utilities/ | github.com/fcrepo/migration-2to3 | Moved |
...
No Format |
---|
git tag -d NA1-0 2.2.4-patch1 release-2.2.4-patch1 |
Rename Install git-retag, then rename and sign original release tags using git convention (preserves original tag datesmetadata):
No Format |
---|
git tagretag fedora-1-f0 v1.0 git retag fedora-1-0 git tag -f1 v1.1 git retag fedora-1-1 git tag -f1 v1.1.1 git retag fedora-1-1-1 git tag -f 2 v1.2 git retag fedora-1-2 git tag -f1 v1.2.1 git retag fedora-1-2-1 git tag -f0 v2.0 git retag fedora-2-0 git tag -f 1 v2.1 git retag fedora-2-1 git tag -f1 v2.1.1 git retag fedora-2-1-1 git tag -f 1b v2.1b git retag fedora-2-1b git tag -f 2 v2.2 fedora-2-2 git tagretag release-f v22.2.1 release-2v2.2.1 git tagretag release-f v22.2.2 release-2v2.2.2 git tagretag release-f v22.2.3 release-2v2.2.3 git tagretag release-f v22.2.4 release-2v2.2.4 git tagretag release-f v33.0 release-3v3.0 git tagretag release-f v33.0b1 release-3v3.0b1 git tagretag release-f v33.0b2 release-3v3.0b2 git tagretag release-f v33.1 release-3v3.1 git tagretag release-f v33.2 release-3v3.2 git tagretag release-f v33.2.1 release-3v3.2.1 git tagretag release-f v33.3 release-3v3.3 git tagretag release-f v33.3.1 release-3v3.3.1 git tagretag release-f v33.4 release-3v3.4 git tagretag release-f v33.4-RC1 release-3v3.4-RC1 git tagretag release-f v33.4.1 release-3v3.4.1 |
Remove old, redundant tags:
No Format |
---|
git tag -d release-1.0 git tag -d `git tag|grep release`release-1.1 git tag -d release-1.1.1 git tag -d release-1.2 git tag -d release-1.2.1 git tag -d release-2.0 git tag -d release-2.1 git tag -d `gitrelease-2.1.1 git tag|grep fedora` -d release-2.1b git tag -d release-2.2 |
Remove old, unused branches (all branches but those specifically excluded below will be removed):
No Format |
---|
git branch -D `git branch | grep -v master \ | grep -v maintenance-3.4 | grep -v maintenance-2.2 \ | grep -v fcrepo-604 | grep -v fcrepo-644 \ | grep -v fcrepo-748 | grep -v fcrepo-756 \ | grep -v fcrepo-775 | grep -v fcrepo-579 \ | grep -v fcrepo-775`586` |
Free unused space in the repository:
...
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]`
git branch -D maintenance-2.2 fcrepo-579 fcrepo-586 |
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 |
Find the new id of the 3.3 tagged commit (now the root commit of this repository):
No Format |
---|
export lastid=`git show v3.3|grep ^commit|sed 's/...... \(.*\)$/\1/'` |
5. Separate Ancient History (fcrepo-before33)
...
No Format |
---|
git tag -d `git tag|grep 3.[34]` git branch -D `git branch | grep -v master \ |grep -v maintenance-3.42.2 | grep -v fcrepo-579 \ |grep -v fcrepo-586` git reset --hard (parent of lastid)$parentid git gc --prune=now git prune |
6. Graft Test
Use a copy of the result of step 4:
...
No Format |
---|
cp ../5.ancient-history/.git/objects/pack/* \ .git/objects/pack |
Create the graft:
No Format |
---|
echo $lastid $parentid > .git/info/grafts |
Copy historic tags and branches with the following content (where $lastid and $parentid are the actual values set previously):
No Format |
---|
$lastid $parentidcat ../5.ancient-history/.git/packed-refs >> .git/packed-refs |
Test it (all history, including old tags and branches, should be visible):
No Format |
---|
gitk --all |
7. Push to GitHub
After creating a project at GitHub:
No Format |
---|
git remote add origin git@github.com:fcrepo/projname.git git push origin master git push --all git push --tags |