Discussion:
CVS for DOS?
Spiro Trikaliotis
2004-11-17 21:26:42 UTC
Permalink
Hello,

1. As we all know, it is always recommended to generate a CVS sandbox at
the system on which the development should occur. That is, if we use
Windows, use a Windows client, if we use some kind of Unix, use that
client.

2. Furthermore, it is considered "bad practice" to share sandboxes
between systems.

Now, I have the problem that I need access from a MS-DOS machine to a
remote CVS repository. Anywhere, using google, I did not find any
version of CVS for DOS (nor did I find ssh, which would be needed for
remote access, but this is another story).

Currently, I checkout the sandbox in Windows and move it to DOS via
Windows shares. It works, but it surely violates 1. and 2. Of courses,
Windows line endings and DOS line endings are the same, so 1. might not
be that big a problem, but 2. is one. Furthermore, it is very error
prone.

So, I ask you if you know of any DOS version of CVS (binary), or how I
could build that? If anyone knows how to find a working ssh client, this
would help me, too.

BTW: Now, it is no option to not use DOS at all, but to use the DOS box
of Windows, or some emulators on Linux. The compiler environment uses
some custom DOS extender, which is not compatible with all DOS "boxes" I
know of. Running a real DOS on VMWare is an option, and this is in fact
what I am doing.

Any input is highly appreciated,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
Arno Schuring
2004-11-17 22:26:37 UTC
Permalink
Hello Spiro!

Regarding ssh for dos: there is no widely-used tcp/ip stack available for
DOS, so such network applications you are very unlikely to find.
http://www.wattcp.com is the only one that I know of, but I have never seen
a ssh client that uses wattcp.

I imagine it would be possible to port cvs to DOS using djgpp
(http://www.delorie.com/djgpp), but you would still be stuck at the
connectivity level - DOS has no native networking support.

There is no real risk in mixing DOS and windows environments (especially up
to w98), since they share a common base (filesystem, line endings). You
might run into problems with long filenames, but you probably already have
encountered (or willfully avoided) those.


Regards,
Arno

np: Pain Of Salvation - A Trace Of Blood
----- Original Message -----
From: "Spiro Trikaliotis" <trik-***@gmx.de>
To: "info-cvs ML" <info-***@gnu.org>
Sent: Wednesday, November 17, 2004 10:26 PM
Subject: CVS for DOS?
Post by Spiro Trikaliotis
Hello,
1. As we all know, it is always recommended to generate a CVS sandbox at
the system on which the development should occur. That is, if we use
Windows, use a Windows client, if we use some kind of Unix, use that
client.
2. Furthermore, it is considered "bad practice" to share sandboxes
between systems.
Now, I have the problem that I need access from a MS-DOS machine to a
remote CVS repository. Anywhere, using google, I did not find any
version of CVS for DOS (nor did I find ssh, which would be needed for
remote access, but this is another story).
Currently, I checkout the sandbox in Windows and move it to DOS via
Windows shares. It works, but it surely violates 1. and 2. Of courses,
Windows line endings and DOS line endings are the same, so 1. might not
be that big a problem, but 2. is one. Furthermore, it is very error
prone.
So, I ask you if you know of any DOS version of CVS (binary), or how I
could build that? If anyone knows how to find a working ssh client, this
would help me, too.
BTW: Now, it is no option to not use DOS at all, but to use the DOS box
of Windows, or some emulators on Linux. The compiler environment uses
some custom DOS extender, which is not compatible with all DOS "boxes" I
know of. Running a real DOS on VMWare is an option, and this is in fact
what I am doing.
Any input is highly appreciated,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
_______________________________________________
Info-cvs mailing list
http://lists.gnu.org/mailman/listinfo/info-cvs
Spiro Trikaliotis
2004-11-18 08:58:25 UTC
Permalink
Hello Arno,
Post by Arno Schuring
Regarding ssh for dos: there is no widely-used tcp/ip stack available
for DOS, so such network applications you are very unlikely to find.
I know of at least two native DOS TCP/IP stacks:

- The Microsoft TCP/IP stack, as delivered with MS LAN Manager
- THe IBM TCP/IP stack, as delivered with OS/2 LAN Server

I believe both stacks are almost the same.

Furthermore, using Windows for Workgroups, you have a "virtual" stack
for DOS (which uses the Windows part as "back-end"). All three are
compatible with one another.

Furthermore, I believe that the DOS box of OS/2 or Windows has a virtual
TCP/IP stack, too.
Post by Arno Schuring
http://www.wattcp.com is the only one that I know of, but I have never
seen a ssh client that uses wattcp.
I will have a look.
Post by Arno Schuring
I imagine it would be possible to port cvs to DOS using djgpp
(http://www.delorie.com/djgpp),
This seems reasonable, yes.
Post by Arno Schuring
but you would still be stuck at the connectivity level - DOS has no
native networking support.
Yes, I know. That's the reason I mentioned ssh in the original post.
Post by Arno Schuring
There is no real risk in mixing DOS and windows environments
(especially up to w98), since they share a common base (filesystem,
line endings).
Well, I know, as I have used it that way before.

In fact, the DOS project started using a RCS implementation for DOS. As
the project has all files in one directory, this is not that bad.

As I wanted to have all sources on a central server, which is backed up
regularly, I moved all RCS files into a central CVS repository. Although
I can share the sandbox between Windows and DOS, there are many "manual"
steps involved, which are error prone:

1. Check out a sandbox on Windows, put it into a Windows share
2. Copy the files from the Windows share to DOS (via network)
3. Work on the files

If I want to check in, I have to do:

4. Copy the files back to the Windows share
5. commit
6. perform steps 2 und 3 from above

Although it might be possible to checkout directly into a share from
DOS, I do not like that idea. I do not trust the Windows TCP/IP stack
that much, as it is rather old.

| You might run into problems with long filenames, but you probably
| already have encountered (or willfully avoided) those.

Well, as this project started on plain DOS, it only uses features
available on it.


Regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
Todd Denniston
2004-11-18 14:17:08 UTC
Permalink
Post by Spiro Trikaliotis
Hello Arno,
<SNIP>
Post by Spiro Trikaliotis
Post by Arno Schuring
but you would still be stuck at the connectivity level - DOS has no
native networking support.
Yes, I know. That's the reason I mentioned ssh in the original post.
Post by Arno Schuring
There is no real risk in mixing DOS and windows environments
(especially up to w98), since they share a common base (filesystem,
line endings).
Well, I know, as I have used it that way before.
In fact, the DOS project started using a RCS implementation for DOS. As
the project has all files in one directory, this is not that bad.
As I wanted to have all sources on a central server, which is backed up
regularly, I moved all RCS files into a central CVS repository. Although
I can share the sandbox between Windows and DOS, there are many "manual"
1. Check out a sandbox on Windows, put it into a Windows share
2. Copy the files from the Windows share to DOS (via network)
3. Work on the files
4. Copy the files back to the Windows share
5. commit
6. perform steps 2 und 3 from above
Although it might be possible to checkout directly into a share from
DOS, I do not like that idea. I do not trust the Windows TCP/IP stack
that much, as it is rather old.
<SNIP>

sneakernet.

I have used to great effect an Iomega Zip disk.
1. Check out a sandbox on system with CVS and a Zip drive, directly on the ZIP
drive.
2. move ZIP disk to computer where compiler is.
3. Work on the files
4. move ZIP disk back to machine in step 1
5. commit
6. perform step 2 & 3 from above
Same number of steps, but a little less likely to miss things.

You only have to trust the tcp stack on the system you do the checkout on, or
in my case I did the checkout physically at the CVS server machine running
linux to a vfat formatted ZIP.
You don't have to trust that you copied everything because it is all on the
disk, and unless the disk fails you get all or none of it.
In my case, the compiler machine had a ZIP drive but I was not allowed to
install (in any way) any form of CVS executable on it, so this was the easiest
method of keeping the sources controlled.

Minor notes, if using this method with a linux machine:
1) mount the ZIP disk with the conv=text option,
2) the first checkout should be done to a case sensitive&preserving filesystem
and then `zip /tmp/movemod.zip cvsmodule ; cd /mnt/zip; unzip
/tmp/movemod.zip`, if you don't the linux vfat driver will make your file &
directory names all lower case and cause you grief later. But after the
initial checkout is on the disk with correct capitalization, commit, update
and all the other cvs commands seem to work fine. (cvs adding a new directory
might mess up the new CVS directory capitalization )
--
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane)
Harnessing the Power of Technology for the Warfighter
Spiro Trikaliotis
2004-11-19 06:37:27 UTC
Permalink
Hello Todd,
Post by Todd Denniston
sneakernet.
Yes, I fear it's the way I have to go. ;-(

Anyway, in my environment, I mostly use a DOS-Box inside of VMWare, so
using physical media would not be that reasonable, would it? I rarely go
to a real DOS box, mostly for testing purposes (especially timing). This
is mostly done with the binaries only (compiling is slow like hell on
that machine).
Post by Todd Denniston
if you don't the linux vfat driver will make your file &
Why should I use vfat on Linux? Wouldn't it make better sense to use FAT
only, as MS-DOS cannot handle lower-case names and/or long filenames,
anyway?

BTW: After having a look into DJGPP, I found that there is already a CVS
version inside of it. Unfortunately, it is some CVS 1.9 or CVS 1.10
(both options are there), and there is no network support in.

I doubt it would make much sense to try to port it over to DOS, as the
potential user base would not be that big. Because of this, I think I
will try something different, taking into account your suggestions here.

Stay tuned! ;-)

Regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
Todd Denniston
2004-11-19 13:50:47 UTC
Permalink
Post by Spiro Trikaliotis
Hello Todd,
Post by Todd Denniston
sneakernet.
Yes, I fear it's the way I have to go. ;-(
<SNIP>
Post by Spiro Trikaliotis
Post by Todd Denniston
if you don't the linux vfat driver will make your file &
Why should I use vfat on Linux? Wouldn't it make better sense to use FAT
only, as MS-DOS cannot handle lower-case names and/or long filenames,
anyway?
<SNIP>
Actually as long as your file names are already 8.3 it makes little to no
difference, and all the difficulties I described for vfat would still apply
to fat as well.
--
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane)
Harnessing the Power of Technology for the Warfighter
jsWalter
2004-11-19 18:57:49 UTC
Permalink
It's not CVS, but it is a link to SSH for DOS.

It's a step.

http://sshdos.sourceforge.net/

Walter
jsWalter
2004-11-17 22:32:45 UTC
Permalink
Post by Spiro Trikaliotis
Hello,
1. As we all know, it is always recommended to generate a CVS sandbox at
the system on which the development should occur. That is, if we use
Windows, use a Windows client, if we use some kind of Unix, use that
client.
2. Furthermore, it is considered "bad practice" to share sandboxes
between systems.
Now, I have the problem that I need access from a MS-DOS machine to a
remote CVS repository. Anywhere, using google, I did not find any version
of CVS for DOS (nor did I find ssh, which would be needed for remote
access, but this is another story).
I have complete details on how to use CVS and SSH from the command line.

I access my Linux server every day.

Now, I have no idea if this works in pure DOS, as I use it from the DOS
box in windows.

But, I figure you can try and see if it works.

Walter
Alan Dayley
2004-11-17 22:47:51 UTC
Permalink
Post by jsWalter
I have complete details on how to use CVS and SSH from the command line.
I access my Linux server every day.
Now, I have no idea if this works in pure DOS, as I use it from the DOS
box in windows.
But, I figure you can try and see if it works.
Don't leave us in suspense! We want details! :^)

Alan
jsWalter
2004-11-19 06:10:47 UTC
Permalink
Post by Alan Dayley
Post by jsWalter
I have complete details on how to use CVS and SSH from the command line.
OK, I should not have said "complete" :/

<snip>
Post by Alan Dayley
Don't leave us in suspense! We want details! :^)
Don't let the path definitions below throw you. This *is* on a Windows box
(XP and 2k3 server infact)

I have the files "installed" on my 2k3 server, and the ENV VARs setup on
my desktop machine.

I even did this to my boys PC to see if it would work on multiple machines
off the same server.

Yep!

Now, to understand my directory structure, you need to read...

http://web.torres.ws/walters_way

The SSH file is there as well, I just revamped it tonight.

Please let me know how it works for you, or not.

I would welcome and and all comments on structure, content, context,
syntax, etc.

Walter
Spiro Trikaliotis
2004-11-19 06:31:25 UTC
Permalink
Hello,
Post by jsWalter
Don't let the path definitions below throw you. This *is* on a Windows
box (XP and 2k3 server infact)
Well, the OP (from me) clearly stated DOS. That is, MS-DOS x.yy. I do
not understand what your posting has to do with this?
Post by jsWalter
http://web.torres.ws/walters_way
But this is for Windows, not DOS. Furthermore, the CVS part - the thing
I was asking about - is still missing.


I should have stated it more clearly before: I have CVS and SSH set up -
on my Windows machine, as well as an my Linux machine. In fact, I even
compiled CVS on my own for both environments. I do not need a solution
for Windows. I need a solution for MS-DOS, but there seems not to be
any.

Regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
jsWalter
2004-11-19 16:04:48 UTC
Permalink
Post by Spiro Trikaliotis
Post by jsWalter
Walter
Don't let the path definitions below throw you. This *is* on a Windows
box (XP and 2k3 server infact)
Well, the OP (from me) clearly stated DOS. That is, MS-DOS x.yy. I do
not understand what your posting has to do with this?
Sorry, I just replied to a message. Didn't reall pay attention to the
Subject.
Post by Spiro Trikaliotis
But this is for Windows, not DOS. Furthermore, the CVS part - the thing
I was asking about - is still missing.
It was late last night when I finished the write up on SSH.

The CVS part will be tonight.

(Below assumes "Walters Way" installation)

In short, go to www.cvshome.org

Grab the latest ZIP (1.12.9 - at the bottom of the page).

UnZIP the file and drop 'cvs.exe' in /bin

Add 2 ENV VARs...

User ENV VAR
HOME u:/users/[yourname]

System ENV VAR
CVS_RSH=ssh

Assuming you followed the SSH procedure, you now hace CVS with SSH on your
windows box.

[wait! before you tell me that is not what your asking for, read below].
Post by Spiro Trikaliotis
I should have stated it more clearly before: I have CVS and SSH set up -
on my Windows machine, as well as an my Linux machine. In fact, I even
compiled CVS on my own for both environments. I do not need a solution
for Windows. I need a solution for MS-DOS, but there seems not to be any.
Now! I have no idea if this will work on a DOS [only] box.

I'm hoping you'll be willing to experiment and tell us.

Good luck.

Walter
Spiro Trikaliotis
2004-11-19 16:21:24 UTC
Permalink
Hello,
Post by jsWalter
Now! I have no idea if this will work on a DOS [only] box.
Of course, it will not. The windows binaries are Win32 binaries, that
is, they are PE executables. OTOH, DOS can only execute the older MZ
format.

Furthermore, they are using the Windows API, not the DOS API.


Best regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
jsWalter
2004-11-19 16:44:54 UTC
Permalink
Post by Spiro Trikaliotis
Hello,
Post by jsWalter
Now! I have no idea if this will work on a DOS [only] box.
Of course, it will not. The windows binaries are Win32 binaries, that
is, they are PE executables. OTOH, DOS can only execute the older MZ
format.
Furthermore, they are using the Windows API, not the DOS API.
Didn't know that, something to add to my ever growing pile of trivia.

Sorry I couldn't help.

Walter
Spiro Trikaliotis
2004-11-18 08:58:15 UTC
Permalink
Hello,
Post by jsWalter
But, I figure you can try and see if it works.
Any more specific details are welcome. I could test it even myself.


Best regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
Mark D. Baushke
2004-11-18 02:02:26 UTC
Permalink
Post by Spiro Trikaliotis
Hello,
1. As we all know, it is always recommended to generate a CVS sandbox at
the system on which the development should occur. That is, if we use
Windows, use a Windows client, if we use some kind of Unix, use that
client.
2. Furthermore, it is considered "bad practice" to share sandboxes
between systems.
Now, I have the problem that I need access from a MS-DOS machine to a
remote CVS repository. Anywhere, using google, I did not find any
version of CVS for DOS (nor did I find ssh, which would be needed for
remote access, but this is another story).
SSHDOS has an SSH, SCP, SFTP and telnet client for DOS.
http://sshdos.sourceforge.net/

PuTTY is an SSH1+SSH2 implementation for Windows (not MS-DOS only).

CVS (from cvshome.org) has a cvs.exe that should work in the DOS command
window of a Windows box. I do not know how much MS Windows support is
required of if you really mean a MS-DOS only environment or a DOS window
on a Windows machine.

CVSNT (from cvsnt.org) has a both a 'graphical' interface and a
command-line backend for Windows environments.
Post by Spiro Trikaliotis
Currently, I checkout the sandbox in Windows and move it to DOS via
Windows shares. It works, but it surely violates 1. and 2. Of courses,
Windows line endings and DOS line endings are the same, so 1. might not
be that big a problem, but 2. is one. Furthermore, it is very error
prone.
So, I ask you if you know of any DOS version of CVS (binary), or how I
could build that? If anyone knows how to find a working ssh client, this
would help me, too.
http://openssh.com/windows.html lists a number of possible Windows
alternatives for SSH.
Post by Spiro Trikaliotis
BTW: Now, it is no option to not use DOS at all, but to use the DOS box
of Windows, or some emulators on Linux. The compiler environment uses
some custom DOS extender, which is not compatible with all DOS "boxes" I
know of. Running a real DOS on VMWare is an option, and this is in fact
what I am doing.
Any input is highly appreciated,
Spiro.
Please summarize your experience to help other folks in the future.

Good luck,
-- Mark
Spiro Trikaliotis
2004-11-18 09:40:05 UTC
Permalink
Hello Mark,
Post by Mark D. Baushke
SSHDOS has an SSH, SCP, SFTP and telnet client for DOS.
http://sshdos.sourceforge.net/
Ok, this sounds promising.
Post by Mark D. Baushke
PuTTY is an SSH1+SSH2 implementation for Windows (not MS-DOS only).
Yes, I know.
Post by Mark D. Baushke
CVS (from cvshome.org) has a cvs.exe that should work in the DOS
command window of a Windows box. I do not know how much MS Windows
support is required of if you really mean a MS-DOS only environment or
a DOS window on a Windows machine.
I want to run it on a machine which uses MS-DOS 6.22, nothing more. On
cvshome, I only found the Win32 versions. (Menu: ccvs/binaries/...),
nothing DOS only. I do not need a Win32 version, as I have a full cygwin
environment here up and running on my main machine. Currently, I'm
checking out for DOS on Win32, but this is really error prone. I would
like to have a DOS only solution.
Post by Mark D. Baushke
CVSNT (from cvsnt.org) has a both a 'graphical' interface and a
command-line backend for Windows environments.
Yes, I know. Arthur Barret advertises it very often here. ;-)
Post by Mark D. Baushke
Please summarize your experience to help other folks in the future.
Of course, I will. I think I will try to compile CVS with djgpp, and
report whether I had success or not.

Regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
Steve McIntyre
2004-11-18 10:22:16 UTC
Permalink
Post by Spiro Trikaliotis
I want to run it on a machine which uses MS-DOS 6.22, nothing more. On
cvshome, I only found the Win32 versions. (Menu: ccvs/binaries/...),
nothing DOS only. I do not need a Win32 version, as I have a full cygwin
environment here up and running on my main machine. Currently, I'm
checking out for DOS on Win32, but this is really error prone. I would
like to have a DOS only solution.
I've got to ask the question - why?
--
Steve McIntyre, Cambridge, UK. ***@einval.com
"Because heaters aren't purple!" -- Catherine Pitt
Spiro Trikaliotis
2004-11-18 10:31:41 UTC
Permalink
Hello,
Post by Steve McIntyre
I would like to have a DOS only solution.
I've got to ask the question - why?
As I told before, I cannot compile this project on Win32, OS/2 or the
like. The compiler simply does not work, because its DOS extender does
not.

Checking out in Win32 and copying over to DOS is error prone, as you
must exactly remember which step to do when. If you forget anything,
your local changes might get lost, and I do not like that. ;-)

Regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/
chance
2004-11-29 15:12:50 UTC
Permalink
http://ardice.com/Arts/Music/Styles/Rock/Progressive/Bands_and_Artists/P/Pain_of_Salvation
Loading...