@@ -504,6 +504,76 @@ test_expect_success 'cvs co -c (shows module database)' '
504504 ! grep -v "^master[ ][ ]*master$" <out
505505'
506506
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+
507577# ------------
508578# CVS ANNOTATE
509579# ------------
0 commit comments