Re: exporting the last N days of a repository
From: Geoff Russell <hidden>
Date: 2016-06-15 22:45:36
On Wed, Nov 5, 2008 at 10:48 AM, Bob Hiestand [off-list ref] wrote:
On Tue, Nov 4, 2008 at 4:49 PM, Geoff Russell [off-list ref] wrote:quoted
Apologies to Johannes and Bob who have tried to help but I'm still having difficulties, here is my current non-working script: ------------------------------------------------------------------ #!/bin/sh DIR=/tmp/gitdemo # for testing just arbitrarily # select the 15th most recent commit as our new origin NEWORIGIN=$(git rev-list master@{15} | head -1) echo $NEWORIGIN # checkout earlist point we are interested in # we want to drop any history before this point git checkout $NEWORIGIN # now make a new directory, initialise with new origin # and apply all commits after that point mkdir $DIR && (cd $DIR ; git init) && \ rsync -aHv --exclude=.git ./ $DIR && \ (cd $DIR ; git add . ; git commit -m "starting point" </dev/null ) && \ git fast-export $NEWORIGIN..master | (cd $DIR ; git fast-import ) ----------------- end of script The fast-import gives me a message I don't understand and doesn't do the import.If I understood your requirement (I know nothing about fast-export), it would look like this: #!/bin/sh DIR=/tmp/gitdemo ORIGDIR=$PWD git checkout -b shorthistory NEWORIGIN=$(git rev-list --since='5 months ago' --reverse HEAD| head -1) echo $NEWORIGIN git filter-branch --parent-filter ' test $GIT_COMMIT = '$NEWORIGIN' && echo || cat' \ --tag-name-filter cat $NEWORIGIN^.. mkdir $DIR cd $DIR git init git fetch $ORIGDIR shorthistory:master
Thanks Bob but when I ran your version (using master@{15} instead of
--since =...) it
effectively dropped the recent history, not the old history. Imagine a sequence
of 30 commits, no branches. I want to keep, for example, 15 through
30 and dump 1
to 15. So I need to have the working directory as at commit 15 and
then all the changes
to bring it up to 30.
... 11--12--13--14--15 ... 28--29--30
... Dump 1 to 15 keep 15 to 30.
Your script kept 1 to 15 and dumped the rest.
Cheers,
Geoff.
Thank you, bob
-- 6 Fifth Ave, St Morris, S.A. 5068 Australia Ph: 041 8805 184 / 08 8332 5069