#!/bin/sh

# CHANGE THIS TO WHATEVER YOU WANT
CVSDIR="/home/sam/twd/cvs"
MODULE="libdvdcss"

set -e
set -x

REPOS="$1"
REV="$2"

TMPDIR="/tmp/svn-$$"
TMPDIFF="$TMPDIR/commit.diff"
TMPLOG="$TMPDIR/commit.log"

mkdir -p "$TMPDIR"
cd "$TMPDIR"

# Get a commit diff and a commit log
svn diff "file://$REPOS" -r "$(($REV - 1)):$REV" > "$TMPDIFF"
svn log -v "file://$REPOS" -r "$REV" | sed -e '/^--*$/d' > "$TMPLOG"

# Get our CVS repository
cvs -d /home/sam/twd/cvs co "$MODULE"
cd "$MODULE"
patch -p1 < "$TMPDIFF"

# Add all directories, just in case (hahaha what a hack)
find -type d -a '!' -name CVS -exec cvs add '{}' ';'

# Add all touched files, just in case (bwahahahaha what a hack)
for file in `grep '^+++ trunk/' "$TMPDIFF" | cut -f2- -d/`; do
  cvs add "$file"
done

# Commit our changes using the same commit message
cvs commit -m "`cat "$TMPLOG"`"

# Remove all our mess
rm -Rf "$TMPDIR"

