#!/bin/bash

# Erstelle ein FreeDoko-Verzeichnis mit der ursprünglichen Struktur
# Schritte:
# 1) Das gesamte subversion repository von FreeDoko herunterladen
# 2) Im repository-Verzeichnis dieses Script aufrufen
# 3) Das neu erstellte Verzeichnis 'FreeDoko' enthält die gesamten Daten

# adds the subdir to the .svn/entries file
# parma 1: directory
# parma 2: subdirectory
function add_svn_subdir() {
  DIR=$1
  SUBDIR=$2

  chmod +w ${DIR}/.svn/
  cp ${DIR}/.svn/entries ${DIR}/.svn/entries.bak
  head -n $(( `wc -l < ${DIR}/.svn/entries` - 1)) "${DIR}/.svn/entries" \
    > ${DIR}/.svn/entries.subdir
  echo "<entry" \
    >> ${DIR}/.svn/entries.subdir
  echo "  name=\"${SUBDIR}\"" \
    >> ${DIR}/.svn/entries.subdir
  echo "  kind=\"dir\"" \
    >> ${DIR}/.svn/entries.subdir
  #for w in committed-rev committed-date url last-author uuid revision; do
    #grep $w ${DIR}/${SUBDIR}/.svn/entries \
      #| head -n 1 \
      #>> ${DIR}/.svn/entries.subdir
  #done

  echo "</wc-entries>" \
    >> ${DIR}/.svn/entries.subdir

  rm -f ${DIR}/.svn/entries
  mv ${DIR}/.svn/entries.subdir ${DIR}/.svn/entries
} # function add_svn_subdir()

rm -rf FreeDoko/
cp -a trunk FreeDoko
cp -a homepage FreeDoko/homepage
add_svn_subdir FreeDoko homepage
cp -a bugreports FreeDoko/Bugreports
add_svn_subdir FreeDoko Bugreports
for d in documents manual; do
  cp -a $d FreeDoko/doc/
  if [ -d FreeDoko/doc/$d ]; then
    add_svn_subdir FreeDoko/doc $d
  fi
done
for d in bin gnet.dll gtkmm_2.4_dll setup logo.png; do
  cp -a more_data/$d FreeDoko/data/
  if [ -d FreeDoko/data/$d ]; then
    add_svn_subdir FreeDoko/data $d
  fi
done

pushd .
cd FreeDoko
ln -s data/setup/debian/freedoko-binary/ debian
popd

