mirror of
https://github.com/git/git.git
synced 2024-12-21 07:43:30 +08:00
7f8cfadf21
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>
39 lines
724 B
Bash
Executable File
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
|