Merge branch 'js/maint-submodule-checkout'
[git] / contrib / fast-import / git-import.sh
1 #!/bin/sh
2 #
3 # Performs an initial import of a directory. This is the equivalent
4 # of doing 'git init; git add .; git commit'. It's a lot slower,
5 # but is meant to be a simple fast-import example.
6
7 if [ -z "$1" -o -z "$2" ]; then
8         echo "Usage: git-import branch import-message"
9         exit 1
10 fi
11
12 USERNAME="$(git config user.name)"
13 EMAIL="$(git config user.email)"
14
15 if [ -z "$USERNAME" -o -z "$EMAIL" ]; then
16         echo "You need to set user name and email"
17         exit 1
18 fi
19
20 git init
21
22 (
23         cat <<EOF
24 commit refs/heads/$1
25 committer $USERNAME <$EMAIL> now
26 data <<MSGEOF
27 $2
28 MSGEOF
29
30 EOF
31         find * -type f|while read i;do
32                 echo "M 100644 inline $i"
33                 echo data $(stat -c '%s' "$i")
34                 cat "$i"
35                 echo
36         done
37         echo
38 ) | git fast-import --date-format=now