mirror of
https://github.com/git/git.git
synced 2024-11-18 20:23:51 +01:00
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>
This commit is contained in:
parent
53271411e7
commit
7f8cfadf21
38
contrib/fast-import/git-import.sh
Executable file
38
contrib/fast-import/git-import.sh
Executable file
@ -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
Block a user