git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frank Lichtenheld <frank@lichtenheld.de>
To: Dirk Koopman <djk@tobit.co.uk>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] cvsserver: fix legacy cvs client and branch rev issues
Date: Sun, 17 Jun 2007 12:37:44 +0200	[thread overview]
Message-ID: <20070617103744.GE1828@planck.djpig.de> (raw)
In-Reply-To: <4674FA9B.10806@tobit.co.uk>

On Sun, Jun 17, 2007 at 10:10:51AM +0100, Dirk Koopman wrote:
> Frank Lichtenheld wrote:
> >On Sat, Jun 16, 2007 at 07:50:06PM +0100, Dirk Koopman wrote:
> >Hmm, I don't see how you could have a problem with that since cvsserver
> >doesn't support branches and never generates any revision numbers in
> >that format?
> >
> >There is probably much more code out there in cvsserver that does assume
> >that revision is always a simple integer.

Let me rephrase that (after actually looking through the code):
All of the revision handling code assumes that.

> The specific issue that I was trying to solve is that I have (in CVS 
> terms) a main line (git head: master) and an active CVS development 
> branch and git head (called SR [for the sake of argument]).
> 
> I have imported both into git using cvsimport. For compatibility (and 
> windows users) I need a anonymous, read only, :pserver: CVS 
> implementation that can serve either head.
> 
> The version numbers in the CVS import on branch SR are standard CVS 
> single level branch 1.2.3.4. Doing a 'cvs update' on this branch was 
> causing all sorts of warnings about 1.2.3.4 not being numeric on that 
> test. After changing the test, the warnings have gone away and it all 
> still seems to work.
>
> Having said that, I haven't worked out where cvsserver is getting those 
> version numbers from in the first place, but it obviously knows that it 
> is dealing with a branch sufficient to work well enough for my needs.

Hmm, so you did the cvs update in an old working copy of the original
CVS repository? Then CVS sent those version numbers from the CVS/Entries
file to the server, cvsserver certainly never generates numbers like
that. And I would be very suprised if you could do anything remotely
useful with abusing the old working copy this way... The revision
numbers that cvsserver assigns to the files of the main branch might
be almost always identical to the ones they had in CVS before the
import, but the ones for branches will definetly not be.

> Of course, quite what happens when the branch merges back and people 
> want to 'cvs update -A', I shall leave for the future...

I don't think that cvsserver actually cares about what the client sends
as sticky tags/dates/..., so it might not actually change anything
whether you use -A or not (pure speculation on my part here).

Summary: You're (ab)using cvsserver in very interesting ways that are not
really beeing thought of in the current design/implementation. There'll
be dragons ;)

Gruesse,
-- 
Frank Lichtenheld <frank@lichtenheld.de>
www: http://www.djpig.de/

  reply	other threads:[~2007-06-17 10:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-16 18:50 [PATCH] cvsserver: fix legacy cvs client and branch rev issues Dirk Koopman
2007-06-17  8:19 ` Frank Lichtenheld
2007-06-17  9:10   ` Dirk Koopman
2007-06-17 10:37     ` Frank Lichtenheld [this message]
2007-06-17 16:53       ` Dirk Koopman
2007-06-17 17:20         ` Frank Lichtenheld
2007-06-17 21:27       ` Martin Langhoff
2007-06-17  8:31 ` [PATCH] cvsserver: always initialize state in argsplit() Frank Lichtenheld

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070617103744.GE1828@planck.djpig.de \
    --to=frank@lichtenheld.de \
    --cc=djk@tobit.co.uk \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).