Skip to content

Instantly share code, notes, and snippets.

@glensc
Forked from petterl/create_repo.sh
Last active December 11, 2015 07:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save glensc/4566142 to your computer and use it in GitHub Desktop.
Save glensc/4566142 to your computer and use it in GitHub Desktop.
eventum bzr to git migrate
# authors file for Eventum bzr2git migration
apache=svnadmin
!balsdorf=Bryan Alsdorf <balsdorf@gmail.com>
balsdorf=Bryan Alsdorf <balsdorf@gmail.com>
bkbits.net!cvsexport=bk2cvs
Bryan Alsdorf <bryan@achilles>=Bryan Alsdorf <balsdorf@gmail.com>
Bryan Alsdorf <bryan@askmonty.org>=Bryan Alsdorf <balsdorf@gmail.com>
Bryan Alsdorf <bryan@montyprogram.com>=Bryan Alsdorf <balsdorf@gmail.com>
bryan@askmonty.org=Bryan Alsdorf <balsdorf@gmail.com>
!bryan=Bryan Alsdorf <balsdorf@gmail.com>
bryan@montyprogram.com=Bryan Alsdorf <balsdorf@gmail.com>
<Elan>=Elan Ruusamäe <glen@delfi.ee>
glen@delfi.ee=Elan Ruusamäe <glen@delfi.ee>
glen=Elan Ruusamäe <glen@delfi.ee>
Harri Porten <porten@greco>=Harri Porten <porten@froglogic.com>
Hartmut Holzgraefe <hartmut@mysql.com>=Hartmut Holzgraefe <hartmut@php.net>
jesushatesjava.com!balsdorf=Bryan Alsdorf <balsdorf@gmail.com>
jesushatesjava.com!bryan/balsdorf=Bryan Alsdorf <balsdorf@gmail.com>
kbrown=Kirk Brown <kirk@kirkbrown.com>
Launchpad Code Hosting <codehost@crowberry>=Elan Ruusamäe (Launchpad Translations) <glen@delfi.ee>
Launchpad Translations on behalf of glen666=Elan Ruusamäe (Launchpad Translations) <glen@delfi.ee>
mroszyk=Matt Roszyk <mrrozz@gmail.com>
mysql.com!bryan=Bryan Alsdorf <balsdorf@gmail.com>
mysql.com!ebraswell2=Eric <eric@bitherder.net>
mysql.com!jimw=Jim Winstead <>
mysql.com!jpm=João Prado Maia <jpm@pessoal.org>
mysql.com!lgrimmer=Lenz Grimmer <lenz@grimmer.com>
rlambe=Ray Lambe <ray.lambe@nf.sympatico.ca>
=?utf-8?q?Elan_Ruusam=C3=A4e?= <glen@delfi.ee>=Elan Ruusamäe <glen@delfi.ee>
#!/bin/sh
set -e
dir=$(dirname "$0")
dir=$(cd "$dir"; pwd)
# checkout bazaar locally, to cut down network traffic if want to restart process
test -d eventum.bzr || bzr branch lp:eventum eventum.bzr
# live one
#bzr_upstream=lp:eventum
# test one
bzr_upstream=$dir/eventum.bzr
# TODO:
# - use bare repo: https://github.com/termie/git-bzr-ng/issues/52
# Create repo
# mkdir, so it will fail if dir exists
mkdir eventum.git
cd eventum.git
git init
# Prepare for bzr
install -d .git/bzr/{map,repo}
bzr init-repo --no-trees .git/bzr/repo
bzr branch $bzr_upstream .git/bzr/repo/master
# Fast-export the bzr repo
test -s $dir/bzr-fast-export.raw || \
bzr fast-export --plain --export-marks=.git/bzr/map/master-bzr --git-branch=bzr/master .git/bzr/repo/master \
> $dir/bzr-fast-export.raw
test -s $dir/bzr-fast-export || \
bzr fast-import-filter --user-map=$dir/authors > $dir/bzr-fast-export < $dir/bzr-fast-export.raw
# Import into git
git fast-import --export-marks=.git/bzr/map/master-git < $dir/bzr-fast-export
rm -f $dir/bzr-fast-export*
git branch master bzr/master
git config bzr.master.bzr bzr/master
git config bzr.bzr/master.upstream $bzr_upstream
# make some space
# 115MiB -> 36MiB
git gc --prune=now --aggressive
#git gc --aggressive
git repack -a -d -f -F --window=250 --depth=250
#git remote add github git@github.com:petterl/eventum.git
#git remote add github git@github.com:glensc/eventum.git
#git push -u github master
#!/bin/sh
set -e
dir=$(dirname "$0")
dir=$(cd "$dir"; pwd)
# pull bzr and git changes
cd $dir/eventum.bzr
bzr pull
cd $dir/eventum.git
git pull
# first pull bzr->git
git bzr pull
# then push git->bzr
git bzr push
# and distribute changes
#git push origin master
cd $dir/eventum.bzr
#bzr push
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment