File indexing completed on 2024-04-21 05:41:53

0001 #!/bin/sh
0002 
0003 # This script splits out the kdepim components into separate repositories
0004 # and puts them into ../kdepim-split/.
0005 #
0006 # For each component, first it creates an empty repository and it imports the
0007 # current code, into the original subdirectory. For example, libksieve will be a
0008 # repository containing a libksieve/ directory. Then, in a second commit,
0009 # the code is moved to the root directory of the repository.
0010 #
0011 # Doing the move in two steps like this lets git follow the history better.
0012 # When the old kdepim history is grafted on the new repositories, the history
0013 # will contain a commit that deletes everything except that directory, and then
0014 # another commit moving the code to the root.
0015 #
0016 origproject=kdepim
0017 origbranch=master
0018 origsha1=`git rev-parse HEAD`
0019 
0020 if [ ! -d libksieve ]; then
0021   echo "Run this script from the root of the kdepim repository"
0022   exit 1
0023 fi
0024 
0025 dest=../kdepim-split
0026 mkdir -p $dest
0027 here=$PWD
0028 
0029 for dir in calendarsupport eventviews incidenceeditor kdepim-apps-lib kdgantt2 libgravatar libkdepim libkleo libksieve mailcommon mailimporter messagelib pimcommon grantleetheme; do
0030     cd $here
0031     if [ -f $dir ]; then
0032       continue;
0033     fi
0034     componentdest=$dest/$dir
0035     # eg. create empty ../kdepim-split/libksieve
0036     rm -rf $componentdest
0037     mkdir -p $componentdest
0038 
0039     # eg. copy libksieve to ../kdepim-split/libksieve/libksieve
0040     cp -a $dir $componentdest/$dir/
0041     cd $componentdest
0042 
0043 git init
0044 git add .
0045 
0046 git commit -q -F - <<EOF
0047 
0048 Initial import from the monolithic $origproject.
0049 
0050 This is the beginning of revision history for this module. If you
0051 want to look at revision history older than this, please refer to the
0052 techbase wiki for how to use Git history grafting. At the time of
0053 writing, this wiki is located here:
0054 
0055 http://community.kde.org/Frameworks/GitOldHistory
0056 
0057 If you have already performed the grafting and you don't see any
0058 history beyond this commit, try running "git log" with the "--follow"
0059 argument.
0060 
0061 Branched from the monolithic repo, $origproject $origbranch branch, at commit
0062 $origsha1
0063 
0064 EOF
0065 
0066 # eg. moves libksieve/* to .
0067 git mv $dir/* .
0068 git commit -q -m "Move $dir code to the root directory."
0069 
0070 echo "$componentdest done."
0071 
0072 done
0073