cvsserver: support -r and sticky tags for most operations
authorMatthew Ogilvie <mmogilvi_git@miniinfo.net>
Sun, 14 Oct 2012 05:42:31 +0000 (23:42 -0600)
committerJunio C Hamano <gitster@pobox.com>
Tue, 16 Oct 2012 23:17:54 +0000 (16:17 -0700)
commit61717661e6ffc8aa4d0928d04edafa0961e6aadb
tree00870e0203a4ab8fbed75ed5be7856d544a70f77
parentd66e8f8cf33909fe43f58ca5d87de8624986425c
cvsserver: support -r and sticky tags for most operations

  - Split off prepDirForOutput for "update" and "commit".
    Some low level protocol details were changed to more closely
    resemble CVS even in non-tagged cases.  Hopefully it still works
    with finicky clients like Eclipse.
  - Substantial changes to "diff".  The output is now closer to
    standard CVS (including exit status), and can be used as
    a patch, but there are still a number of differences compared
    to CVS.
  - Tweaks to "add", "remove", "status", and "commit".
  - FUTURE: CVS revision numbers for branches simply encode git
    commit IDs in a way that resembles CVS revision numbers,
    dropping all normal CVS structural relations between different
    revision numbers.
  - FUTURE: "log" doesn't try to work properly at all with branches
    and tags.
  - FUTURE: "annotate" probably doesn't work with branches or
    tags either (untested)?

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-cvsserver.perl