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>maint
parent
53271411e7
commit
7f8cfadf21
|
@ -0,0 +1,38 @@
|
||||||
|
#!/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
|
Loading…
Reference in New Issue