git/contrib/fast-import/git-import.sh
Nguyen Thai Ngoc Duy 7f8cfadf21 contrib/fast-import: add simple shell example
This example just puts a directory under git control. It is
significantly slower than using the git tools directly, but
hopefully shows a bit how fast-import works.

  [jk: added header comments]

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-18 03:14:16 -07:00

39 lines
724 B
Bash
Executable File

#!/bin/sh
#
# Performs an initial import of a directory. This is the equivalent
# of doing 'git init; git add .; git commit'. It's a lot slower,
# but is meant to be a simple fast-import example.
if [ -z "$1" -o -z "$2" ]; then
echo "Usage: git-import branch import-message"
exit 1
fi
USERNAME="$(git config user.name)"
EMAIL="$(git config user.email)"
if [ -z "$USERNAME" -o -z "$EMAIL" ]; then
echo "You need to set user name and email"
exit 1
fi
git init
(
cat <<EOF
commit refs/heads/$1
committer $USERNAME <$EMAIL> now
data <<MSGEOF
$2
MSGEOF
EOF
find * -type f|while read i;do
echo "M 100644 inline $i"
echo data $(stat -c '%s' "$i")
cat "$i"
echo
done
echo
) | git fast-import --date-format=now