If the user supplies -l to git-branch when creating a new branch then the new branch's log should be created automatically and the branch creation should be logged in that log. Further if a branch is being deleted and it had a log then also verify that the log was deleted. Test git-checkout -b foo -l for creating a new branch foo with a log and checking out that branch. Fixed git-checkout -b foo -l as the branch variable name was incorrect in the script. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Copyright (c) 2005 Amos Waterland
 | 
						|
#
 | 
						|
 | 
						|
test_description='git branch --foo should not create bogus branch
 | 
						|
 | 
						|
This test runs git branch --help and checks that the argument is properly
 | 
						|
handled.  Specifically, that a bogus branch is not created.
 | 
						|
'
 | 
						|
. ./test-lib.sh
 | 
						|
 | 
						|
test_expect_success \
 | 
						|
    'prepare an trivial repository' \
 | 
						|
    'echo Hello > A &&
 | 
						|
     git-update-index --add A &&
 | 
						|
     git-commit -m "Initial commit." &&
 | 
						|
     HEAD=$(git-rev-parse --verify HEAD)'
 | 
						|
 | 
						|
test_expect_success \
 | 
						|
    'git branch --help should return success now.' \
 | 
						|
    'git-branch --help'
 | 
						|
 | 
						|
test_expect_failure \
 | 
						|
    'git branch --help should not have created a bogus branch' \
 | 
						|
    'test -f .git/refs/heads/--help'
 | 
						|
 | 
						|
test_expect_success \
 | 
						|
    'git branch abc should create a branch' \
 | 
						|
    'git-branch abc && test -f .git/refs/heads/abc'
 | 
						|
 | 
						|
test_expect_success \
 | 
						|
    'git branch a/b/c should create a branch' \
 | 
						|
    'git-branch a/b/c && test -f .git/refs/heads/a/b/c'
 | 
						|
 | 
						|
cat >expect <<EOF
 | 
						|
0000000000000000000000000000000000000000 $HEAD $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000	branch: Created from HEAD
 | 
						|
EOF
 | 
						|
test_expect_success \
 | 
						|
    'git branch -l d/e/f should create a branch and a log' \
 | 
						|
	'GIT_COMMITTER_DATE="2005-05-26 23:30" \
 | 
						|
     git-branch -l d/e/f &&
 | 
						|
	 test -f .git/refs/heads/d/e/f &&
 | 
						|
	 test -f .git/logs/refs/heads/d/e/f &&
 | 
						|
	 diff expect .git/logs/refs/heads/d/e/f'
 | 
						|
 | 
						|
test_expect_success \
 | 
						|
    'git branch -d d/e/f should delete a branch and a log' \
 | 
						|
	'git-branch -d d/e/f &&
 | 
						|
	 test ! -f .git/refs/heads/d/e/f &&
 | 
						|
	 test ! -f .git/logs/refs/heads/d/e/f'
 | 
						|
 | 
						|
cat >expect <<EOF
 | 
						|
0000000000000000000000000000000000000000 $HEAD $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000	checkout: Created from master^0
 | 
						|
EOF
 | 
						|
test_expect_success \
 | 
						|
    'git checkout -b g/h/i -l should create a branch and a log' \
 | 
						|
	'GIT_COMMITTER_DATE="2005-05-26 23:30" \
 | 
						|
     git-checkout -b g/h/i -l master &&
 | 
						|
	 test -f .git/refs/heads/g/h/i &&
 | 
						|
	 test -f .git/logs/refs/heads/g/h/i &&
 | 
						|
	 diff expect .git/logs/refs/heads/g/h/i'
 | 
						|
 | 
						|
test_done
 |