diff options
author | Nguyen Thai Ngoc Duy <pclouds@gmail.com> | 2007-09-18 03:26:01 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-09-18 03:14:16 -0700 |
commit | 7f8cfadf218c8b28caf52b1490fb8b881945b0ea (patch) | |
tree | 340ab8f386f4e008aa153cb72a6fe24fff5732a1 | |
parent | rev-list --bisect: Bisection "distance" clean up. (diff) | |
download | tgif-7f8cfadf218c8b28caf52b1490fb8b881945b0ea.tar.xz |
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>
-rwxr-xr-x | contrib/fast-import/git-import.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/contrib/fast-import/git-import.sh b/contrib/fast-import/git-import.sh new file mode 100755 index 0000000000..0ca7718d05 --- /dev/null +++ b/contrib/fast-import/git-import.sh @@ -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 |