@@ -504,6 +504,76 @@ test_expect_success 'cvs co -c (shows module database)' '
504
504
! grep -v "^master[ ][ ]*master$" <out
505
505
'
506
506
507
+ # ------------
508
+ # CVS LOG
509
+ # ------------
510
+
511
+ # Known issues with git-cvsserver current log output:
512
+ # - Hard coded "lines: +2 -3" placeholder, instead of real numbers.
513
+ # - CVS normally does not internally add a blank first line
514
+ # nor a last line with nothing but a space to log messages.
515
+ # - The latest cvs 1.12.x server sends +0000 timezone (with some hidden "MT"
516
+ # tagging in the protocol), and if cvs 1.12.x client sees the MT tags,
517
+ # it converts to local time zone. git-cvsserver doesn't do the +0000
518
+ # or the MT tags...
519
+ # - The latest 1.12.x releases add a "commitid:" field on to the end of the
520
+ # "date:" line (after "lines:"). Maybe we could stick git's commit id
521
+ # in it? Or does CVS expect a certain number of bits (too few for
522
+ # a full sha1)?
523
+ #
524
+ # Given the above, expect the following test to break if git-cvsserver's
525
+ # log output is improved. The test is just to ensure it doesn't
526
+ # accidentally get worse.
527
+
528
+ sed -e ' s/^x//' -e ' s/SP$/ /' > " $WORKDIR /expect" << EOF
529
+ x
530
+ xRCS file: $WORKDIR /gitcvs.git/master/merge,v
531
+ xWorking file: merge
532
+ xhead: 1.4
533
+ xbranch:
534
+ xlocks: strict
535
+ xaccess list:
536
+ xsymbolic names:
537
+ xkeyword substitution: kv
538
+ xtotal revisions: 4; selected revisions: 4
539
+ xdescription:
540
+ x----------------------------
541
+ xrevision 1.4
542
+ xdate: __DATE__; author: author; state: Exp; lines: +2 -3
543
+ x
544
+ xMerge test (no-op)
545
+ xSP
546
+ x----------------------------
547
+ xrevision 1.3
548
+ xdate: __DATE__; author: author; state: Exp; lines: +2 -3
549
+ x
550
+ xMerge test (conflict)
551
+ xSP
552
+ x----------------------------
553
+ xrevision 1.2
554
+ xdate: __DATE__; author: author; state: Exp; lines: +2 -3
555
+ x
556
+ xMerge test (merge)
557
+ xSP
558
+ x----------------------------
559
+ xrevision 1.1
560
+ xdate: __DATE__; author: author; state: Exp; lines: +2 -3
561
+ x
562
+ xMerge test (pre-merge)
563
+ xSP
564
+ x=============================================================================
565
+ EOF
566
+ expectStat=" $? "
567
+
568
+ cd " $WORKDIR "
569
+ test_expect_success ' cvs log' '
570
+ cd cvswork &&
571
+ test x"$expectStat" = x"0" &&
572
+ GIT_CONFIG="$git_config" cvs log merge >../out &&
573
+ sed -e "s%2[0-9][0-9][0-9]/[01][0-9]/[0-3][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9]%__DATE__%" ../out > ../actual &&
574
+ test_cmp ../expect ../actual
575
+ '
576
+
507
577
# ------------
508
578
# CVS ANNOTATE
509
579
# ------------
0 commit comments