 cd4371208a
			
		
	
	cd4371208a
	
	
	
		
			
			The multiline reflog format (e.g., as shown by "git log -g")
will show HEAD@{<date>} rather than HEAD@{<count>} in two
situations:
  1. If the user gave branch@{<date>} syntax to specify the
     reflog
  2. If the user gave a --date=<format> specifier
It uses the "normal" date format in case 1, and the
user-specified format in case 2.
The oneline reflog format (e.g., "git reflog show" or "git
log -g --oneline") will show the date in the same two
circumstances. However, it _always_ shows the date as a
relative date, and it always ignores the timezone.
In case 2, it seems ridiculous to trigger the date but use a
format totally different from what the user requested.
For case 1, it is arguable that the user might want to see
the relative date by default; however, the multiline version
shows the normal format.
This patch does three things:
  - refactors the "relative_date" parameter to
    show_reflog_message to be an actual date_mode enum,
    since this is how it is used (it is passed to show_date)
  - uses the passed date_mode parameter in the oneline
    format (making it consistent with the multiline format)
  - does not ignore the timezone parameter in oneline mode
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='Test reflog display routines'
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success 'setup' '
 | |
| 	echo content >file &&
 | |
| 	git add file &&
 | |
| 	test_tick &&
 | |
| 	git commit -m one
 | |
| '
 | |
| 
 | |
| cat >expect <<'EOF'
 | |
| Reflog: HEAD@{0} (C O Mitter <committer@example.com>)
 | |
| Reflog message: commit (initial): one
 | |
| EOF
 | |
| test_expect_success 'log -g shows reflog headers' '
 | |
| 	git log -g -1 >tmp &&
 | |
| 	grep ^Reflog <tmp >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| cat >expect <<'EOF'
 | |
| e46513e HEAD@{0}: commit (initial): one
 | |
| EOF
 | |
| test_expect_success 'oneline reflog format' '
 | |
| 	git log -g -1 --oneline >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| cat >expect <<'EOF'
 | |
| Reflog: HEAD@{Thu Apr 7 15:13:13 2005 -0700} (C O Mitter <committer@example.com>)
 | |
| Reflog message: commit (initial): one
 | |
| EOF
 | |
| test_expect_success 'using @{now} syntax shows reflog date (multiline)' '
 | |
| 	git log -g -1 HEAD@{now} >tmp &&
 | |
| 	grep ^Reflog <tmp >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| cat >expect <<'EOF'
 | |
| e46513e HEAD@{Thu Apr 7 15:13:13 2005 -0700}: commit (initial): one
 | |
| EOF
 | |
| test_expect_success 'using @{now} syntax shows reflog date (oneline)' '
 | |
| 	git log -g -1 --oneline HEAD@{now} >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| cat >expect <<'EOF'
 | |
| Reflog: HEAD@{1112911993 -0700} (C O Mitter <committer@example.com>)
 | |
| Reflog message: commit (initial): one
 | |
| EOF
 | |
| test_expect_success 'using --date= shows reflog date (multiline)' '
 | |
| 	git log -g -1 --date=raw >tmp &&
 | |
| 	grep ^Reflog <tmp >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| cat >expect <<'EOF'
 | |
| e46513e HEAD@{1112911993 -0700}: commit (initial): one
 | |
| EOF
 | |
| test_expect_success 'using --date= shows reflog date (oneline)' '
 | |
| 	git log -g -1 --oneline --date=raw >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_done
 |