Komodo 9.3 CVS commit error

Komodo CVS checkout of a Linux repository to a local Windows repository works. Komodo CVS edit and save to local repository works. Komodo CVS commit fails:

Any ideas as to what’s wrong with my setup?

What build? I fixed a bunch of CVS issues yesterday but you could be behind.

Komodo IDE, version 9.3.2, build 88191, platform win32-x86.
I think we’ve isolated it to a permissions issue with a Samba share. I’ll let you know what we find.

Our admin says:
“When a file is committed to the CVS repository using command-line CVS, its chmod permissions are changed to 544 and its ownership is changed to the user:group of the person committing the file. For some reason, the Windows/DOS cvs.exe file that Komodo uses does not do this. Instead, if the user:group of the committer does not match the user:group of the file, the commit fails. There used to be an option in CVS config called PreservePermissions, but this option has been deprecated. I tried making the files in the repository world-writable, which resulted in a successful commit even when the user:group didn’t match; unfortunately, the permissions just get set back to 544 after commit. And because the user:group of the file doesn’t change, any subsequent commit through Komodo will fail. I looked at all the options for cvs.exe and found nothing dealing with setting permissions for files in the repository.”

If there’s anything about this scenario that can be fixed through Komodo that would be great! Otherwise, we’ll have to use cvs manually ouside of Komodo.

I’m not very familiar with CVS so my comments are all speculative;

You say Komodo uses a different cvs.exe file, does configuring Komodo to use the same cvs.exe as your command line fix the problem? You can set the version of cvs under Prefs > Source Code Control > CVS.

I’m also a bit confused about your use of Unix file permissions combined with Windows executables, are you describing using CVS across different systems?

Yes, we’re working across systems: Windows Komodo, cvs, and a cvs working repo checked-out from a Linux cvs repo.

Alright, I still don’t see how Komodo or the CVS could be at fault here though. Both run on Windows, and neither can be expected to enforce a Linux file permission. Are you sure this worked before using this setup (ie. committing from windows?)

Additionally it seems odd to me that a VCS would cause a chown of files, that sounds more than a bug than a feature. But again - I’m not very familiar with CVS.

Finally it’s worth noting that all Komodo does is invoke your command line CVS executable, it doesn’t enforce any permissions on top of that. The command Komodo executes to commit your files is:

cvs commit -F /tmp/file /path/to/file

It does not modify the file itself in any way, only CVS does that.