Mail Archives: djgpp-workers/2000/12/12/04:24:22
On Mon, 11 Dec 2000, Tim Van Holder wrote:
> In the case of 'other versions' though, that would mainly be either
> the Win32 or the Linux version. The Win32 version could be seen as
> inconsequential; once we have proper networking under Win32, the
> DJGPP version could replace it (for us DJGPP users anyway). As for the
> Linux port, it would be easy enough to set up symlinks to simulate
> /de-style paths (/dev/C -> /mnt/dosdrive).
> I agree that this isn't perfect, but storing the dos path would also
> break other CVSes (Linux won't support it, and I believe the NT
> version requires it to be ':local:D:\ospath'). In any case, sharing
> a sandbox between CVS versions will usually lead to trouble anyway
> due to text file conventions, so inter-CVS compatibility should not
> be a major factor for the DJGPP version; if it can be preserved: fine,
> if not, that's not too bad (IMO, anyway).
I only mentioned other ports because, when I suggested to replace a
colon with a semi-colon, you said that compatibility with other CVS
ports will take a blow.
I don't see how text file format is a problem: I expect CVS either to
use text-mode reads or remove CR before LF after reading the files.
If compatibility with other ports _is_ important, converting the
result of _fixpath to use backslashes is a trivial loop, so it would
be easy to add.
DJ, do you know if the Cygwin port of CVS will work with drive letters
and backslashes in CVS/Root files (assuming those files were created
by some other CVS port)?
> > Is it possible to plumb these two holes by calling _fixpath on the
> > /dev-style filename just before you print a message or write the path
> > to a file? Perhaps CVS uses a small number of special functions to do
> > those chores; if so, you could change only those few functions.
> That would be a solution, but _fixpath does too much. Some people
> tend to use SUBSTed drives with DJGPP and/or CVS, and fixpath would
> resolve those as well
??? _fixpath does not resolve SUBST and JOIN. Perhaps you were
thinking about _truepath, which I didn't suggest for this very
reason (and also because _truepath can return a UNC).
> And to always turn /dev/e/foo into E:\foo (whether manually, or through
> _fixpath) would be equally confusing to people who actually specified a
> /dev-style path.
I think experience suggests otherwise. For example, Fileutils always
convert file names to forward slashes and report them with forward
slashes, but I never heard any complaints about that. It looks like
people who use DJGPP are accustomed to forward slashes enough to not
be annoyed by that.
However, /dev/e/foo is IMHO too unusual to be easily understood.
> So either I try to add proper DOS path support everywhere, with a
> potential for subtle breakages, but with paths shown the way they were
> given, or I use this workaround, which would keep most of CVS intact,
> but has the abovementioned drawbacks.
If you find the drive support too painful to add, I'm willing to
volunteer to add it and send you patches.
- Raw text -