summaryrefslogtreecommitdiff
path: root/contrib/fast-import/git-import.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-09-18 17:42:15 -0700
committerJunio C Hamano <gitster@pobox.com>2007-09-18 17:42:15 -0700
commit39bd2eb56af89d43a08ba54699d9a1849ab57b39 (patch)
tree7551a984921081bf2532f68303febe7275107ed1 /contrib/fast-import/git-import.sh
parent68d3025a805097ec148ec6e9b0b54a5db1ef138e (diff)
parent89df580d0a2e97b0c7c072d87e5e815534deed56 (diff)
downloadgit-39bd2eb56af89d43a08ba54699d9a1849ab57b39.tar.gz
Merge branch 'master' into ph/strbuf
* master: (94 commits) Fixed update-hook example allow-users format. Documentation/git-svn: updated design philosophy notes t/t4014: test "am -3" with mode-only change. git-commit.sh: Shell script cleanup preserve executable bits in zip archives Fix lapsus in builtin-apply.c git-push: documentation and tests for pushing only branches git-svnimport: Use separate arguments in the pipe for git-rev-parse contrib/fast-import: add perl version of simple example contrib/fast-import: add simple shell example rev-list --bisect: Bisection "distance" clean up. rev-list --bisect: Move some bisection code into best_bisection. rev-list --bisect: Move finding bisection into do_find_bisection. Document ls-files --with-tree=<tree-ish> git-commit: partial commit of paths only removed from the index git-commit: Allow partial commit of file removal. send-email: make message-id generation a bit more robust git-apply: fix whitespace stripping git-gui: Disable native platform text selection in "lists" apply --index-info: fall back to current index for mode changes ...
Diffstat (limited to 'contrib/fast-import/git-import.sh')
-rwxr-xr-xcontrib/fast-import/git-import.sh38
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