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
 |