[Fwd: CVS, Cygwin, IDE and Emacs]
Hello, I've got a CVS repository (cvs 1.11) for a project that was originally being built by makefiles under Cygwin, but has since been moved to a Windows IDE for development. All is generally well, with one problem. I still check the files in and out from Cygwin, but the text files now have DOS line ends instead of Unix. This is not really a problem, as I use the '-b' switch when diffing. However, Cygwin CVS uses vi (Vim) as the editor for checkin comments (when I don't use -m), leaving Unix line ends on the comment lines, which CVS leaves as is. Emacs loads the file in Unix mode if even one line has a Unix line end, so I get hundreds of lines (all the ones I'm interested in) with ^M at the end. I'm aware that this is not strictly a CVS issue, but I believe that this is the place where I'm most likely to find someone who has encountered this before, and perhaps solved it, or at least found a workaround. I'm wondering what my best option is. I could try to use emacs as my editor for the comments, but I could only use the floating window version (which is a slow load) because I use scrollbars in my Windows consoles, and emacs -nw fills the entire buffer. If anyone has anything on this, I'd sure like to hear it. Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
[Fwd: Backrevving a file]
I have a file which is, say, rev 1.11. I would like to load the rev 1.10 version of the file and start working from there. Anyone know how to do this? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: [Fwd: CVS, Cygwin, IDE and Emacs]
Eric Siegerman wrote: On Tue, Jun 11, 2002 at 03:52:43PM -0700, Mike Ayers wrote: I still check the files in and out from Cygwin, but the text files now have DOS line ends instead of Unix. Try using WinCVS or another of the GUI CVS clients, or even a native command-line version, instead of Cygwin. I think there's also a setting somewhere in Cygwin that'll fix this. SNIP/ A bunch of possible kludges, but only one real solution -- get CVS to stop putting ^M's in the repository. CVS isn't putting the ^M's in there - the IDE editor normalizes all line ends to DOS standard, CVS just isn't removing them. Is there a way to tell CVS to automatically normalize line ends for text files? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: [Fwd: CVS, Cygwin, IDE and Emacs]
Noel Yap wrote: First, some questions: 1. Why do you have version control comments within the files? I didn't set up the repository, I inherited it. I could probably remove the log, but some folk feel pretty strongly about keeping them in there. It's a bit of a moot point in this case, since there is almost zero chance of branch-and-merge. 2. Is your working directory mounted as binary or as text? All my cygwin drives are mounted binary as is the default. As I (vaguely) recall, mounting Cygwin drives text led to some bizarre complications. Note that the repository contains text and binary (i.e. Word documents) files. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: [Fwd: CVS, Cygwin, IDE and Emacs]
Eric Siegerman wrote: My wording was imprecise. I meant get CVS to start taking them out, as it's @#(! well supposed to do. There's no way to tell CVS to do this; it's supposed to just happen. Hmmm - if it's supposed to just happen, then that may explain it. Specifically, I am checking in DOS format files from a Unix format environment, so I suspect that my (Unix format compiled) CVS client just assumes that I have Unix format files and does no conversion, as it would not need to, ordinarily. Your discussion of CVS internals in this regard support this theory, if I read it correctly. Then the answer would be to use WinCVS after all, which would canonicalize the line ends for me, yes? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: [Fwd: CVS, Cygwin, IDE and Emacs]
Peter Ring wrote: Which Windows IDE is it? TI's Code Composer. It's an MSVC clone for DSP development. Emacsen (gnu or X, any platform) are pretty agnostic (ie: accommodating) wrt. line-ends. A shame some people never get to like emacs; there's also this very nice VC mode specifically for CVS, pcl-cvs, which is my primary GUI interface to CVS. I do my major editing with Emacs, or else I wouldn't be having this problem. TICC canonicalizes line ends, while Emacs doesn't and can't be forced to (according to my reading of the docs, YMMV). On Windows, I use also the command line (cygwin) and occasionally WinCVS, TortoiseCVS, tkcvs, or jCVS. Oy! I'm using Cygwin and also have a copy of WinCVS, which I'd use if I could find the manual. WinCVS can be told to behave globally (per installation) to treat 'text' Unix-style or DOS-style. For me, this setting depends on which other CVS clients must be used in sandboxes on that machine, since CVS clients are rather unforgiving about the administrative files (in CVS subdirs in the sandbox). The problem here is that Unix line ends are on checkin comments are being left as-is when added to DOS line end files. I'm handling this by deleting all in-file logs, as often suggested. TortoiseCVS is becomming popular, I guess mainly because it's easy to get going for users that loathe command lines, and it's easy on the CVS admin wrt. support because it's 'just there' where people need it (it works as a shell extension to Explorer), and comes with a ssh client integrated. But text files (the administrative files, actually) must be DOS style for TortoiseCVS to work. Then I'll avoid it, if only because I think that hex dumping files I can't understand to parse their line ends just shouldn't be necessary. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
[Fwd: Re: [OT] RE: [Fwd: CVS, Cygwin, IDE and Emacs]]
Tim Bingham wrote: I do my major editing with Emacs, or else I wouldn't be having this problem. TICC canonicalizes line ends, while Emacs doesn't and can't be forced to (according to my reading of the docs, YMMV). OT: - emacs does the right thing! - Back OT: what is the right thing? - when creating a new file it uses the line ending convention of the host This is the right thing. I don't think we could find any non-trolls to disagree with this. - when modifying an existing file it accepts and preserves whatever line ending convention the file already has Is this the right thing? In my case it is not. I have files which have mixed line endings. Preserving these is not, for me, A Good Thing. I would prefer IETF treatment - be liberal in what you accept, and strict in what you emit. I would rather see emacs canonicalize mixed line endings to the platform default, but not change the file unless it is saved. This implies that there is no good reason to have mixed line endings, which is probably true, but there's always the corner cases... But I'm shooting the messenger here. What shocked me was the discovery that CVS does not canonicalize line endings, but assumes that the platform default is in use. This has never been a valid assumption (can you say FTP? I try, but it just comes out plltt), and we all know about assume anyway, yes? I'd call it a bug, but line ending behavior is fragile and should never be changed - it's not a bug, it's not a feature, it's just a fact. So what should I have done? Written wrapper scripts to call unix2dos on all text type files that get comitted. This may also require pre-invoking an editor for the commit comments so that unix2dos can be run on them as well, but it's not a bear of a script in any case. I'll keep it in the back of my mind and work on it as I am able. If all programs obeyed these simple rules we'd be living in a more perfect world. *SIGH* - everyone says that, but they've never got the same set of rules! ;-) /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: How to find out the CVSROOT and location in the repository of a working directory
Reinstein, Shlomo wrote: Thanks for the detailed reply! Before this sample script, I actually thought that your idea was bad because every type of shell or operating system has its own way of redirecting the standard error -- but you proved me wrong (or is it Perl that always launches the same type of shell when it runs backticks, and this is why it works?). I really didn't know that this error redirection is uniform in all shells and operating systems. (At least those we use, Linux and Windows with several shells in each.) I was surprised to see that this worked on both cmd on Windows, and on tcsh and bash on Linux. I don't believe that it will work on tcsh, or any csh for that matter, since csh uses a different syntax to redirect stderr. However, perl uses bourne shells by default for backtick evaluation, so the perl script will catch the stderr of its evaluated expression, even when invoked from a csh. Such redirection (or anything for that matter) is not consistent from shell to shell. Perl explicitly looks for a standard bourne shell (barring that, a shell that supports standard bourne behavior such as bash) when installing in an attempt to get reasonably consistent behavior. However, this becomes problematic on systems like NT. ActivePerl invokes CMD.EXE, whereas the perl.exe installed with Cygwin uses ash (a vanilla bourne shell) - these two behave quite differently. However, if you limit the use of backtiks in Perl to output capture as shown, you will find your scripts pretty darn portable, as CMD.EXE supports bourne style command redirection. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
WinCVS home directory
WinCVS keeps popping up messageboxes asking me to indicate my home directory. This being Windows, I have no home directory. Does anyone know what WinCVS really wants to know? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Where can I find WinCVS?
Xicheng Jia wrote: Could you please tell me where I can find WinCVS. Thanks a lot. :-) Start at www.cvsgui.org and find the downloads. There's also lots of good documentation there. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Conflict upon add
Using WinCVS, I added a PDF file to my archive (PDFs illustrate the problem of text file canonicalization - I don't know whether they're text or binary, but must check them in as one or the other). Once added, it displayed as a conflict file. It is my understanding that one needs revisions of a file for that file to be in conflict, yes? Any idea what is happening here? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
WinCVS tree commit
Using WinCVS, I would like to commit all the commitable files in the tree. If I select the top directory and run commit from there, it doesn't seem to work, although it does appear to be recursing and doing something (what?). Suggestions? TiA, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Tag names
CVS has the (to me, odd) restriction on tags that they may not contain the characters `$,.:;@' . This is puzzling in light of the fact that the most common way, both historically and currently, to tag releases is in x.y.z form. I suspect that there is a standard substitution for the dots. Is there? If so, which char? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
CVS friendly bug tracker
This probably comes up on a regular basis, but I'm looking for a bug tracker that's CVS friendly - bug numbers matched to checkins, etc. If there's canned information on this, please just point the way. I tried to check cvshome, but it's down at the moment (or the network between here and there is). Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
What tags are in my archive?
How can I get a list of the tags that have been applied to files in my archive? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Date of tagging
Is it possible to find out upon which date a tag was placed? The information does not seem to be stored. Barring that, I believe that I could do something like the following (pseudocode); TaggedAfter = BeginningOfTime TaggedBefore = EndOfTime for each File of FilesInRepositoryWithTag if CommitTime( TaggedRevision ) TaggedAfter TaggedAfter = CommitTime( TaggedRevision ) if RevisionExists( TaggedRevision + 1 ) if CommitTime( TaggedRevision + 1 ) TaggedBefore TaggedBefore = CommitTime( TaggedRevision + 1 ) This would at least give me the window in which the tag was stamped, I think. Is there a flaw in my thinking? I'm interested in the answer to this even if there is a way to get a timestamp for the tagging operation itself. Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Empty attic?
When attempting to change a tag name: cvs rtag -r old-name-0-4 rel-0-4 tc I get an error: cvs [rtag aborted]: cannot open directory E:\CVSROOT\cameras\cam1\doc\vendor\Maxim/Attic Upon checking, I find that the directory exists, is not read-only, and has no files in it (this is correct, as I have not removed any files from this directory). Any ideas as to what CVS is gagging on or how I can fix it? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Empty attic?
Larry Jones wrote: Mike Ayers writes: cvs [rtag aborted]: cannot open directory E:\CVSROOT\cameras\cam1\doc\vendor\Maxim/Attic Upon checking, I find that the directory exists, is not read-only, and has no files in it (this is correct, as I have not removed any files from this directory). Any ideas as to what CVS is gagging on or how I can fix it? Are you using cygwin? There's some kind of a bug in some versions where it returns the wrong error code and thus makes CVS think there's something wrong rather than directory just being empty. I am using WinCVS. The archive was originally created with CVS on Cygwin, but, unless I misread you, that shouldn't make a difference. I'll also note in passing that you should use forward slashes in your CVSROOT, not backslashes. Some parts of CVS don't handle backslashes so it will probably bite you sooner or later. I went into the preferences of WinCVS and change E:\CVSROOT to E:/CVSROOT, which made it change backslashes to slashes, but when I ran the rtag command again, the output looked exactly the same as before. Would it be safe to just delete the Attic directory? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Undoing cvs remove
I inadvertently performed a `cvs remove` on a file in WinCVS (I wanted to delete the file, then update it to get rid of changes I had made and get the archived revision back). How do I undo this (i.e. not commit the remove and get the file back)? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Undoing cvs remove
Allow me to (embarassedly) answer my own question: simply do a cvs add of the filename and it will be resurrected for you. I found it in the Cederqvist, and it matches my intuitive notion of what to do, which, due to my attempts to fix the problem before reading the directions, was not possible at the moment. /|/|ike Mike Ayers wrote: I inadvertently performed a `cvs remove` on a file in WinCVS (I wanted to delete the file, then update it to get rid of changes I had made and get the archived revision back). How do I undo this (i.e. not commit the remove and get the file back)? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: WinCVS 1.10 problem Logging in
Larry Jones wrote: When you check out a directory, CVS remembers the CVSROOT and uses it for all subsequent operations in that directory. (This makes life much simpler for those of us who use multiple repositories.) What you need to do is to edit that saved CVSROOT (in CVS/Root) to have the correct username. Is this generally safe? Is it possible to delete CVS/* in a directory and do a `cvs update -d [CVSROOT]` to redirect CVSROOT? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: WinCVS 1.10 problem Logging in
Hmmm - I suspect my question was misunderstood, so I shall ask it differently. If I edit the file CVS/Root for a given working directory, are there any other dependencies to be aware of, or is this just like setting the CVSROOT env var, except with a higher priority? Could I delete the CVS directory tree in a given working directory, then `cvs login` to a different (or the same) server to correctly rebuild the CVS directory tree, pointing to the new server? /|/|ike Chris Palmer wrote: Your password isn't saved there, nor is the access method. it just tracks the server/directories. You might already have more info stored in your environment variables, if you tend to use just a single single repository all of the time. Obscurity isn't security, so if you choose to make sure that your repository location is not know, you should also know that it WON'T be any safer by trying to hide them. Security is maintained via authentication and access control. Actually, you might be more concerned with the existence of the $HOME/.cvspass file (or whatever it's called), because that actually does store passwords for repositories. I think it only applies to pserver access, where you login to the cvs server to get access. -Chris Mike Ayers wrote Larry Jones wrote: When you check out a directory, CVS remembers the CVSROOT and uses it for all subsequent operations in that directory. (This makes life much simpler for those of us who use multiple repositories.) What you need to do is to edit that saved CVSROOT (in CVS/Root) to have the correct username. Is this generally safe? Is it possible to delete CVS/* in a directory and do a `cvs update -d [CVSROOT]` to redirect CVSROOT? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: CVS NT over extranet
Sumit Ranjan wrote: i am trying to connect to the CVS repository in India from Germany...over the extranet. has anyone done so or has any idea about this ? If you are referring to Nortel Networks' Extranet, then you should have no problem - use the FQDN of your CVS server and all should be well. If you are referring to a generic extranet, then you should have no problem with CVS if your extranet is set up correctly, but that's another issue altogether. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Accessing the repository via Internet
Helmut Mucker wrote: Is there a way to access our corporate repository from the Internet? Our security policy prohibits direct connections from the Internet to the CVS-Server. ACK! Haven't they heard of ssh? Can it be done using a ssh-proxy in the DMZ or something else? It *can*... However, since the stock response you will get on this issue will be use ssh, that's what it's for, you may find that no prewritten proxy exists. I would not expect one, certainly. /|/|ike P.S. Other responses, if they arrive, will probably be more authoritative than mine. :-) ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Accessing the repository via Internet
This has gone rather OT, but... Kaz Kylheku wrote: I'm sure they have; however, using ssh requires opening up a port from the DMZ to their internal network. In the minds of the super-paranoid, this introduces the risk of someone exploiting a security hole in ssh. Paranoia is good, uninformed paranoia is bad. I'll take one good secured authentication over two bad ones and a slap-together gateway. There's much less likely to be a security hole in ssh (open source, constantly reviewed code), than there is in whatever proxy gets written. I think that if you combine ssh with host-based access control, and ensure that you only allow crypto authentication, you really have nothing to worry about. ssh doesn't have unauthenticated or unencrypted modes, which is one thing that makes it really popular with the security conscious. Host based access control, on the other hand, is easily enough defeated to not be worth doing. In any case, with strong encryption and authentication (if it must be, then use password strength checkers), what bonus does host based access control give? What you can do is nest two ssh connections. You see, you can use ssh to tell one machine to execute a command on a third machine using ssh. ssh dmz-host 'ssh secure-host command' With ssh-agent forwarding, it should work. Anyway, it's worth investigating this ``proxy'' scheme. This will work if the DMZ machine permits logins and supports ssh. It is a good way to do things if the no direct connections from the internet rule is unwaivable. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: file type exported (unix/pc)
pootle monster wrote: When I update my files I find that the files that get to me are in PC format not unix I know its a minor problem, but its still bugging me I dont know whether this is an artefact of CVS or tortoise Is there an option so that I can choose Unix files? It is neither a problem nor an artifact - CVS is giving you text files in the Windows format on a Windows machine - what else would you expect? The problem is that you want them in a different format. I don't know about TortoiseCVS, but WinCVS (www.cvsgui.org) permits checkout of text files with Unix line endings. I do *not* know if it will properly check *in* those files after modification. You can also use Cygwin, which has Unix line ends as the default in its CVS client. *DANGER, WILL ROBINSON, DANGER!* Be *very* careful which tools you use on these files before checking them back in, as most tools will convert the line endings to Windows style. If you use Cygwin, it is best to write a little checkin script that runs dos2unix on text files before checkin. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: user unknown to this system in Windows2000 when I commit
Rob Helmer wrote: If you must run on Windows 2000, try CygWin : http://www.cygwin.com It comes with cvs and a bunch of other Unix tools compiled for Windows. Note that using Cygwin for Windows CVS can cause great headaches unless you pay constant attention to line terminators. For pure Windows development, the graphical WinCVS interface (http://cvsgui.org) is better for most. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Funky error when running log
When running `cvs log` on the file Image55.jpg, I get the following output: cvs log Image55.jpg (in directory C:\dssi\cameras\cam1\tools\doc\WinCVS\) cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `þ|-Á¿Ã¯Ãÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `ÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `ÿ' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `cÃ¥' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `cÃ¥' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs log: warning: duplicate key `cÃ¥' in RCS file `E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v' cvs [log aborted]: EOF in value in RCS file E:\CVSROOT/cameras/cam1/tools/doc/WinCVS/Image55.jpg,v The file is stored as binary. When I look at the JPEG, I get a correct image. These errors manifested themselves when I tried to tag the tree, yet I've already tagged this file twice. Any ideas? TiA, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Repository troubles - expert help needed
I am having serious problems, and need help. I suspect that my repository is corrupted. I would like to know what to do to fix it. As part of the project documentation, I checked in the WinCVS user's guide. This is 1 html file, wincvs11.htm, and about 60 images named Image*.jpg (numbered 1-63 with a few missing). The problem is with Image55.jpg and possibly Image56.jpg. I found that I could get logs on Image57.jpg and Image54.jpg, but not those two. I also could get logs on other randomly sampled files. It seems that any operation on the directory will fail when it gets to Image55.jpg: cvs update -P (in directory C:\dssi\cameras\cam1\tools\doc\WinCVS\) cvs update: Updating . cvs update: nothing known about Image55.jpg I am seeing a process crash (I suspect that it's the spawned CVS process) whenever I try to update the directory. After the crash, there is a new file left in the repository such as: #cvs.rfl.fluffy(mike).1208 My machine is fluffy and my username is mike. When I cd into the repository directory and `more` the files, I notice that all the files have headers: SNIP head1.1; access; symbols dssi-cam1-0_3:1.1 dssi-cam1-0_2:1.1; locks; strict; comment @# @; expand @b@; 1.1 date2002.06.25.15.30.51;author mike;state Exp; branches; next; desc @@ 1.1 log @Cumulative update @ text /SNIP EXCEPT Image55.jpg,v and Image56.jpg,v! I think I'm getting warm here... The real issue, though, is how to correct this problem without disturbing the rest of the repository. Gurus? aTdHvAaNnKcSe, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Is there a mean to set up cvs to check-out methods?
Cristian Romanescu wrote: I have a request from my boss, to find a mean to check-out from the repository not files, but at method level. Is there a way to set-up cvs to do that? Ummm - does your boss realize that this is an unsound request? Allow me to elaborate. The file is the (almost universal) fundamental unit of compilation. As such, everything in a file is run through the compiler together, and is therefore subject to the scope of compilation (example: static variables in C are visible to all methods in the same file, but nowhere else). Therefore, checkout by method isn't a generally sound strategy, because you are not isolating the scope of the method. Example: Programmer A checks out a method and makes a small but reasonable change. Programmer B checks out another method in the same file and makes a small but reasonable change. If these methods share file scoped data, then there is a possibility that these two changes, when merged (a checkout by method system will still have to merge, it will just do so automatically), will yield a broken file. I suggest that you and your boss take a good look at what you are trying to achieve. There is probably a more reasonable solution, such as method-per-file code storage, to achieve your ends. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Repairing repository
The device upon which my repository was stored has failed. I have last week's backup, but I had done some checkins since then. Fortunately, I have an up to date tree. I have copied the backup in to create a new repository. Now I must identify the files in the current working tree which are newer than (different from) the files in the repository, and get them comitted. Any suggestions for the easy way to do this? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Repairing repository
Matt Riechers wrote: [EMAIL PROTECTED] wrote: I have copied the backup in to create a new repository. Now I must identify the files in the current working tree which are newer than (different from) the files in the repository, and get them comitted. Any suggestions for the easy way to do this? What's wrong with 'cvs update/commit'? Possibly nothing. However, it was my understanding that `cvs update` will clobber any files which are different from those in the repository. Checking, I see that this will only happen if I use the '-C' flag (which I don't want). Will update then mark all files which are different from the repository as commitable, so I can just commit them and be back where I was? If so, my day just got considerably brighter... Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
[Fwd: Re: Repairing repository]
Matt Riechers wrote: [EMAIL PROTECTED] wrote: Will update then mark all files which are different from the repository as commitable, so I can just commit them and be back where I was? If so, my day just got considerably brighter... Essentially, yes. It will be as if you had checked out a fresh tree, and just updated those files by hand. Unfortunately, this does not appear to be the case. I copy the archive from backup to disk, then copy the current development tree from backup to its place. When I run `cvs update`, the files in the current tree are clobbered to match the repository. Not what I want. Am I getting something wrong here? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: ftp location for CVS mailing list archives
Yep! L(.)(.)k here--+ | Johnson, Susan wrote:| Is there an ftp location where I could download the| CVS mailing list archives? | | I prefer to grep archives rather than use a search | engine like webcrawler.| | Thank you. | | Susan Johnson | | ___| Info-cvs mailing list | [EMAIL PROTECTED] | http://mail.gnu.org/mailman/listinfo/info-cvs ---+ ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Repairing repository
Okay, here's how I restored my repository from a recent archive of the repository itself and a good working tree (sandbox). Thanks to all who responded - I couldn't have done it without you. First, all work is done on copies of the archive and the sandbox. Whenever I made a mistake, I just erased my working copies and started over. 1. Copy the archive to the new[1] location. Call this the restored archive. 2. Copy the sandbox to a new location. Call this the preserved sandbox. 2. In a new location, check out a sandbox from the archive. Call this the restored sandbox. 3. Delete everything from the restored sandbox that isn't a CVS admin file: $ find . -type f | grep -v '/CVS/' | sed 's/^/\/' | sed 's/$/\/' | xargs rm (the sed scripts enclose the filename in quotes to handle paths with spaces in them, which I had) 4. Delete everything from the preserved sandbox that is a CVS admin file: $ find . -type d -name CVS | sed 's/^/\/' | sed 's/$/\/' | xargs rm -rf 5. Copy the preserved sandbox onto the restored sandbox: $ cd /restored/sandbox $ cp -R /preserved/sandbox/* . 6. Do a `cvs update` on the restored sandbox. This should reduce the differences to the files which are actually different, and mark those files commitable. 7. Check the commitable files to ensure that they look like the ones in the preserved sandbox. 8. Commit all the commitable files, using a comment which is the same for all of them, and which can be used to find them. Optionally, tag them as well. 9. Check out a new sandbox. Other than the loss of some tags and commit comments, you should have your original archive back. (Note: I put this step in because I found that the read-only bits on the files in the restored sandbox were inconsistent after the restoration). That's it. This is basically the method suggested by Eric Siegerman with a few modifications. Hope it helps. /|/|ike [1] - Due to the nature of my archive failure, I could not restore my archive to its old location. It makes no difference, though. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
How I repaired my repository
[Note: this is an update. There were two steps I forgot] Okay, here's how I restored my repository from a recent archive of the repository itself and a good working tree (sandbox). Thanks to all who responded - I couldn't have done it without you. First, all work is done on copies of the archive and the sandbox. Whenever I made a mistake, I just erased my working copies and started over. 1. Copy the archive to the new[1] location. Call this the restored archive. 2. Copy the sandbox to a new location. Call this the preserved sandbox. 2. In a new location, check out a sandbox from the archive. Call this the restored sandbox. 3. Delete everything from the restored sandbox that isn't a CVS admin file: $ find . -type f | grep -v '/CVS/' | sed 's/^/\/' | sed 's/$/\/' | xargs rm (the sed scripts enclose the filename in quotes to handle paths with spaces in them, which I had) 4. Delete everything from the preserved sandbox that is a CVS admin file: $ find . -type d -name CVS | sed 's/^/\/' | sed 's/$/\/' | xargs rm -rf 5. Copy the preserved sandbox onto the restored sandbox: $ cd /restored/sandbox $ cp -R /preserved/sandbox/* . 6. Do a `cvs update` on the restored sandbox. This should reduce the differences to the files which are actually different, and mark those files commitable. 7. Check the commitable files to ensure that they look like the ones in the preserved sandbox. 8. Now step through your archives and find all the directories which do not exist in the restored repository and should. I do not know how to do this on the command line, as I am using WinCVS, which makes this step quite easy. 9. Add any files in the directories discovered in Step 8 to the restored repository. 10. Commit all the commitable files, using a comment which is the same for all of them, and which can be used to find them. Optionally, tag them as well. 11. Check out a new sandbox. Other than the loss of some tags and commit comments, you should have your original archive back. (Note: I put this step in because I found that the read-only bits on the files in the restored sandbox were inconsistent after the restoration). That's it. This is basically the method suggested by Eric Siegerman with a few modifications. Hope it helps. /|/|ike [1] - Due to the nature of my archive failure, I could not restore my archive to its old location. It makes no difference, though. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Trying to download sourcecode
Naughty, naughty! Please don't send HTML or rich text email to newsgroups or mailing lists. Steele, Lynne wrote: I am trying to download cvs source from ccvs.home.org to use for a You mean ccvs.cvshome.org, I hope? project and the download seems to be just pushing me around the ccvs list page. Can someone help me? Where can I get the previous version of cvs? I had no problem downloading cvs-1.11.tar.gz from http://ccvs.cvshome.org/servlets/ProjectDownloadList . On that page is a link historical download pages, which you can use to find old distributions (you want all platforms). Enjoy, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: (no subject)
Josh wrote: As I am running the CVS server (v1.11.2 pserver) on a (linux) machine with two network adapters I would very much like to know if it is possible to bind the server to a specific network interface? Douglas Finkle wrote: Check out http://coombs.anu.edu.au/ipfilter/. You can make your server listen on _only_ the desired interface. Absolutely incorrect. IP filters do not prevent the service from listening on other interfaces, they are used to block packets before they get to the service. The difference is that if you forget to filter an interface, the packets will reach the server, which is probably bad. What is desired is to have the server listen on only the desired interface instead of the usual 0.0.0.0. Here's a snippet from my inetd manual entry (OpenBSD 2.9): For internet services, the first field of the line may also have a host address specifier prefixed to it, separated from the service name by a colon. If this is done, the string before the colon in the first field indicates what local address inetd should use when listening for that service. Multiple local addresses can be specified on the same line, separated by commas. Numeric IP addresses in dotted-quad notation can be used as well as symbolic hostnames. Symbolic hostnames are looked up using gethostbyname(). If a hostname has multiple address mappings, inetd creates a socket to listen on each address. This would be the way that I would use on that machine. Josh, your Linux machine probably supports the same method. If so, this is what you want. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Newbie Q: cannot open CVS/Entries for reading
H Albin Takami wrote: 4. Checked in/committed a bunch of files with cvs ci *.v What are *.v files? (Just curious) 5. I setup the .cshrc file for another user, Peggy. 5.5 When did Peggy do `cvs checkout project/module`? This is when the CVS directories get created. That's all I can think of /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Newbie Q: cannot open CVS/Entries for reading
Albin Takami wrote: 5.5 Peggy never checked out any files/module because the files she is trying to check-in/commit are new files (first time check-in). *BZZZT* Sorry... This is the problem. Once a project is created, in order to work in the project, one must first check out the project tree. (Strictly speaking, this is not true, but it requires a great deal of skill in CVS to work without the project tree). Then, when committing files, CVS has a context to work from, as saved in the CVS directories in the project tree. So if Peggy checks out the project, moves her files into the project tree, and commits them from there, ahe will have no problem. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: sync repositories
Zieg, Mark wrote: I have to sync two CVS repositories located on two non- connected networks. (yep, this means tape/CDROM transports, I know it sounds silly). I was wondering if there is a better way than creating incremental tar files on both sides and applying them on the other side. Luckily, the chances that two persons from the two sites are working on the same file are minimal, but I would like to prevent possible sync errors if it occurs. If you MUST do this (and it is almost certain that you do not need to, but that's another story), then please examine two messages from the archives of this list entitled How I repaired my repository dated 30Jun02 - my summary of how I repaired a corrupt repository from a good sandbox and Eric Siegerman's additional suggestions. In your case, it becomes How to sync your repository, the restored archive is your repository to be updated, and the preserved sandbox is your sandbox created from the other repository. Note that there is significant potential for disaster. Note that you will have to do this again, in the other direction. Note that CVS was not designed for multiple repository operation. Note that this is generally a bad idea. Is a pattern emerging here? Silly or not, I'm going to have to do the same thing in a week or so -- and it will probably become a regular part of our CM process. In certain industries, the need for private, disjunct networks is an unbending fact of life. We can categorize these industries as industries which do not understand computer security, and yes, we'll be stuck with them for some time to come. I haven't come up with a solid plan for this that I liked yet, but I'll watch the list to see if anyone has a good existing method, and I'll share whatever I come with in-house... As much as I discourage doing this, I am interested in whatever you settle on. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: (OT) Mailing List Commands
Mark Cooper wrote: Does anyone know where the list of recognisable embedded commands for this mailing list can be found? Well, the web admin page, as listed below, at http://mail.gnu.org/mailman/listinfo/info-cvs, contains the options. There aren't many, though. The web page refers to a FAQ, but doesn't give a link to one. Hmm?? A CVS FAQ? I'm not aware of one. Other mailing lists I subscribe to provide such things as '--LongSig' to truncate long, corporately applied signatures from the end of mails (hence I apologise for mine). They also provide commands for obtaining re-sends of all messages in a thread or a list of messages with certain text in iether the subject line or message body (helps to stop from posting the same question as the group spent 3 weeks arguing over a short while previously). All you get here is FTP hosted monthly archives. Welcome to the old school! Huge, bureaucratic, auto-appended siggy snipped/ Oil, meet Water. Water, Oil. I'm sure you'll be great friends. England, meet Digital Age. Digital Age, England. I'm sure you'll be great friends. Bwaaahahahahahaha!!! (Sorry. Sometimes I just can't help myself. But Mr. Grenyer's siggy had me in the mood, and you pointed it out...) ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: sync repositories
Zieg, Mark wrote: I have to sync two CVS repositories located on two non- connected networks. If you MUST do this (and it is almost certain that you do not need to, but that's another story) I assume that you've never had to develop under DOD-enforced contract requirements, or you wouldn't have written that. Anyway, the justification Nope. I was thinking of DoD, that's why I wrote almost. The DoD leads the list of industries that don't understand digital security. (And no, I'm not thumbing my nose at you for working there) Duly noted. For the record, does anyone have a suggestion for an open-source CM tool which _is_ designed for use in this manner? Again, assuming that the repositories must be on physically disjunct networks, such that any synchronization would have to be via hand-ported media in human-readable format (ie, diff patches on CD-R, etc). I suspect you won't find one, since, as mentioned before, this is fundamentally bad practice with a simple solution - single repository operation. (A real solution for this is mindbogglingly complicated, due to all the special cases that can arise). I know that the subject comes up a lot, but I've never seen anyone come back with a solid answer. I think most of the solutions that get implemented are painful but workable ones like the one I suggested, or the one you outline below. I don't debate that this is stretching the intended functionality of CVS, but I would nonetheless prefer finding a way to use an open-source CM tool such as CVS than rely on a proprietary commercial vendor solution. Sounds good. However, you aren't stretching, you're redefining. Please keep in mind that CVS will only be a component in a system of your own design. I'm still working on a satisfactory algorithm for this, but my current thinking bends toward a classic master-slave synchronization effort, ie treat one repository as the master (main trunk) as the other as a slave (branch). Then all we have to do is merge the branch back into the main trunk, then re-spawn a fresh copy of the master to start a new branch. That should work OK, but you will have to shutdown the slave during synchronization and force update (and possible merge) of all slave clients when you bring it back up. (Although I'm using the term branch, I'm not currently planning to make use of actual CVS branches...should I? Is there room for an efficient optimization by using that feature?) Almost certainly not, perhaps someone else is more inspired than I. The one thing I think might help would be per-file branches, which I mention below. This visualizes my approach: (RepoA and RepoB are Repositories on Networks NetA and NetB.) RepoA - foo.c @ 1.1 foo.c - 1.2 foo.c - 1.3 copy RepoA to RepoB | | \ | \ | \ | \ | \ | \ \/ _| RepoA RepoB - foo.c @ 1.3 | foo.c @ 1.3 foo.c - 1.4 | | foo.c - 1.4 (alpha mod) foo.c - 1.5 | foo.c - 1.6 | | foo.c - 1.5 (bravo mod) foo.c - 1.7 | time to sync changes! | collect all diffs |to all files |(2 diffs for foo.c), | -- transport to RepoA | foreach file, | foreach diff, | apply comm. | | foo.c - 1.8 | foo.c - 1.9 | | foo.c now has | alpha and | bravo mods | | WHOOT! WHOOT! WHOOT! Danger, Will Robinson! Are you ABSOLUTELY CERTAIN that the person merging the databases will be able to merge the files? If not, you're either going to have to shuttle developers into and out of the RepoA location (with both repos down in the meantime), or prepare for long periods of broken trees. Another thing that you could do here would be per-file branches, only for files that have conflicts like this. So your file would now history like: foo.c | | \ | \ | \ | \ | \ | \ \/ _| trunk diff_branch_2002_08_09 - foo.c @ 1.3 | foo.c @ 1.3.1.1 foo.c - 1.4 | | foo.c - 1.3.1.2 (alpha mod) foo.c - 1.5 | foo.c - 1.6 | | foo.c - 1.3.1.3 (bravo mod) foo.c - 1.7 | | / | / | / | / | / | / | V foo.c - 1.8 (merged) With this, you still have a viable archive (provided foo.c isn't the file that everything else depends on), and may be able to overwrite RepoB with this and proceed for the next cycle while the foo.c developers do the merge. Structuring your files to minimize simultaneous alternate location development will pay off big here. copy RepoA to
Re: Newbie Q: cannot open CVS/Entries for reading
Albin Takami wrote: -Original Message- From: Mike Ayers [mailto:[EMAIL PROTECTED]] Albin Takami wrote: To clarify, the repository location is the directory that you set the CVSROOT variable to, right? Yes, but you should not need to set CVSROOT - in fact, I recommend you don't. Use the -d flag during checkout, and let the CVS directories track the repository for you. I've done some more reading and it seems like Karl Fogel and Cederquist's book suggests that I should set CVSROOT in .cshrc. So, I was wondering what the benefits and drawbacks are for not setting CVSROOT in .cshrc, according to you? Okay, this may not be a perfect explanation, as I have not had time to fact check all this, but... Originally, one pointed to one's archive via CVSROOT. However, this becomes a problem as soon as the second archive is accessed. Now one must change env var values every time one changes one's work tree - a problematic way to manage the issue. So our thoughtful CVS developers came up with an excellent solution: each directory of the sandbox swould have a directory in it named CVS that held files which helped CVS operate. One of those files, named Root, contains the location of the CVS root directory. It is automatically created and properly set when you checkout the development tree. The order in which CVS looks for a root is: 1) The -d flag on the command line of a cvs command 2) The Root file in the CVS subdirectory of the directory in which you are operating. 3) The CVSROOT env var. So if you are using CVS properly, the CVSROOT env var never comes into play. Note that in many respects, Cederqvist is out of date. This is one of them. `cvs checkout /design/project/dig/V9/src` is incorrect syntax. If you have built module src in CVSROOT /design/project/dig/V9, then you should: $ cvs -d /design/project/dig/V9 checkout src Have you tried this? Well, have you? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Newbie Q: cannot open CVS/Entries for reading
Albin Takami wrote: Yes, I have tried this and it's works. Would replacement of checkout with co result in the exact same thing? `cvs checkout` and `cvs co` are the same command, so yes. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Newbie Q: cannot open CVS/Entries for reading
Larry Jones wrote: Mike Ayers writes: So if you are using CVS properly, the CVSROOT env var never comes into play. I think you're overstating the case. Most people just use a single repository and even people who use multiple repositories usually have one repository that they use more often than others. In those cases, it makes sense to set $CVSROOT so you don't have to explicitly set it on the command line even for checkout (or import!) in most cases. Whoops! That should have read may never or almost never, assuming that checking out clean trees or importing are rarely done. In either case, setting an environmental variable, the procedure intended for making permanent changes to one's computing environment, does not seem to be the proper way to do this. I am glad for the new way, and push it, because CVSROOT was never a good way to do this. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Getting diffs between two revisions
Derek Robert Price wrote: Johnny John wrote: Hello: Should I not be able to update my working copy of a file by doing something as follows? cvs update -j HEAD:2002-07-17 12:00 -j HEAD:2002-07-19 12:00 to get changes between July 17 and July 19 placed into my local working copy? I tried it, and nothing was patched. thanks. -Johnny. From http://www.cvshome.org/docs/manual/cvs_16.html#IDX257: `HEAD' refers to the most recent version available in the repository In other words, it's a static tag, the most recent version on the trunk, not the trunk itself as a branch. There isn't a trunk tag, but if you use dates to tag the trunk at the two times you mentioned, you should be able to get what you were trying to. If I am interpreting correctly, no such tags were made. Johnny wants to get changes between July 17 and July 19 placed into my local working copy, i.e. filter based solely on date of commit, which I do not believe is possible with CVS. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: CVS server process still running long after command is executed
Jeeva Sarma wrote: Hi all I have received no replys for this question whish I posted 2 days ago. The primary reason for that would be that you gave no information from which an answer could be derived. First, check if your server is set up so that it logs all its output - if not, reconfigure it to do so (on Unix systems, just use output redirection to file; if you are using a Windows server, check the manual for that system to see how, or if, this can be done). Once your server logs its output, just do your usual until the process hangs, then check the log. If you are on a Unix server, kill the CVS process (do NOT `kill -9` it!) to flush the file. Now read the end of the file - that should give you some idea of what the problem is. Have no one ever faced this problem?Can someone tell me atleast the reason for the cvs processes not dying?It only happens sometimes,not always.The server eventually freezes. Sounds like you've got a resource comsumption problem. Off the top of my head, I'd guess that the problem is not CVS, but a CVS script (commitinfo, taginfo, etc.) going infinitely recursive or somesuch. If you are using scripts, check your process list to see if any of them are running when CVS hangs. If so, there's your culprit. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Ignoring everything *but* a list of flies
Nuno Nunes wrote: I was wondering what is the best way to do something that I cannot find documentation for (maybe I haven't looked deep enough?). I want to have cvs keep track of some files in a directory where I will have a lot of other files appear. The problem is that of course I only want CVS to consider the files it keeps track of and I want it to ignore all the rest. This is something similar to what .cvsignore does only not quite: In the .cvsignore file I can put sh-style patters for files to be ignored but, since I don't know what kind of files will appear in this directory, I want to implement a behaviour similar to .cvsignore but where I can say ignore everything except files that match these patterns. Is there any (standard) way of doing this? Am I confused? The last I looked, this was the default behavior for CVS, provided you don't do something like `cvs add *`. That is, CVS will see those other files, but will ignore them, since they don't exist in the repository. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: CVS WINDOWS
[EMAIL PROTECTED] wrote: Larry I'm using WinCVS. I checked the option check for an alternate rsh name = c:\cvs\ssh2.exe I tried: c:\cvs\ssh2 myname@mayserver and it works If you're using WinCVS, then setting CVSROOT does nothing, unless you've set it inside WinCVS. WinCVS clobbers most useful environment variables, including CVSROOT and HOME. Try this: 1) Pick the menu item Create\Checkout module... 2) Under module name and path on the server, you want bless. Set the local folder as desired. 3) Click the General tab. Set authentication to ssh. Click the settings button next to the authentication chooser and point it to your ssh executable. Set Path to /cvs, Host address to pippo, User name to joe, and CVSROOT to :ext:joe@pippo:/cvs. 4) Click the Globals tab. Set what you want - I recommend the auto logout. Clicking OK should now get you your sandbox (I hope). /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: no space on device - import
Larry Jones wrote: If you can move it without changing its full path and without using symbolic links, the move will be completely transparent. If you keep the path the same by using symbolic links, most things will work fine but eventually you'll probably run into problems with things that don't. If you change the path, then everyone who has stuff checked out will either have to abandon it and do fresh checkouts or else they will have to edit their CVS/Root files to point to the new location. Hmmm - although it would be rarely used, I think a CVS command: cvs relocate /old_root/ /new_root/ would be darn useful when needed... /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Issues with network file systems and CVS
Frederic Brehm wrote: For performance reasons (I/O throughput during compiles and network traffic) you might want to put it on a local disk. Policy makers don't always understand performance issues, though. It also helps to point out that there should be no need to backup the sandbox directories. This, however, requires that the developers be trained to perform intermediary checkins of work in progress, which itself requires training in branch-and-merge development for larger changes (or just to permit checking in still broken files), so it's not the simplest thing. Nonethteless, things do seem to work the best that way... /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: pserver problem, still
James P. Schmidt wrote: cvs -d :pserver:zaren@(host):/usr/local/cvsrepos login CVS password: cvs login: authorization failed: server (host) rejected access to /usr/local/cvsrepos for user zaren $ ls -ld /usr/local/cvsrepos It should be at least 755. If it is, then check permissions throughout the directory. The error message seems to indicate that your problem is permissioning. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Pandora's Black Box (was: Re: Issues with network file systems and CVS)
Eric Siegerman wrote: I'd rephrase there should be no need to depending on your process, you might be able to get away without it. I wouldn't. But I will concede that most of the industry has accepted standards of work in software that could be vastly improved upon, and my should is based on standards higher than those. Or perhaps I just need to think about it some more to see those problems I'm not considering... However, this little exchange has raised an interesting problem for me. Actually, I've bumped up against it frequently lately, but this is the first time I've looked at it from a project management perspective. Let's call it the Pandora's Black Box problem. A developer starts working on an issue (bug, feature, etc.), then decides (after gaining more knowledge of the inner workings of the project) that it *may* be appropriate to take a different tack on the matter. What does she do now? Backbranch(!? - just branch?)) and checkin the WIP from the first attempt, then start the second in a clean sandbox? Leave the (possibly fragile as the main branch evolves) WIP idle and come back to it later (note the DR hazard)? Does anyone have a method in place for dealing with this? I'd be interested to hear... /|/|ike P.S. Yeah, I guess it's OT...sending anyway ;-) ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Hung CVS server processes
Larry Jones wrote: So we're back to the unfriendly option -- it seems that Solaris accepts the KEEPALIVE option but doesn't actually do KEEPALIVE processing. Like I said, I suggest finding some Solaris experts and asking if there's a way to enable it. This actually isn't all that surprising, given that KEEPALIVE is an optional component of TCP. If you don't know already, KEEPALIVE has, since the early days of TCP, been the subject of great debate (this is largely because both sides of the debate have valid reasons reflecting differing operational scenarios. In any case, as best I understand it (just tried to do some fact checking, but my key book is buried), accepting a KEEPALIVE option, but not actually performing keepalive may be (interpreted as) valid behavior. Wish I could be a little more informative, but I thought I'd at least throw out the warning. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Backup single module
Mahantesh wrote: Hi, I want to backup single module in cvs(not whole repository) and restore whenever I want with version information. I am morally obligated to inform you that this is probably not a good idea, and may not do what you want. Can you please brief me about how to do that. If you wish to backup a single physical module, e.g.: CVSROOT | +---MegaLaser | +---ShrinkRay --back up only this | +---MindControl ...then you can, as Larry said, just back it up. This is valid only if ShrinkRay is self contained, i.e. it uses no files from any other module in the tree. If you wish to backup a logical module (a module defined in the modules file), or you wish to back up a physical module that is not self contained, it is best to simply back up the entire CVSROOT and consider it an inefficient way of backing up a single module. PS: I am just resending it, as I did not get any comments on this to my earlier mail. Your timestamps, according to my American locale, show that you sent this out at 11PM Sunday night and resent at 8AM Monday morning. Due to the global nature of the internet, and the propensity of us lazy sots to not do much on weekends, it is best to wait a full day before resending to any internet list, with weekend days counting for nothing. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: cvs [annotate aborted]: invalid change text in filename,v
Larry Jones wrote: Unfortunately, there's no easy way to fix your corrupted files; you'll either have to live with them, try to recreate them, or become intimately familiar with the RCS file format and try to repair them by hand. DUDE! Backups... I have had problems on a few occasions recently with files getting corrupted in my archive (oddest thing, really - I am only operating in local mode on local drives, but I *am* running Windows...), which have, fortunately, occured on rarely checked in files (the majority citizen of most archives). I fixed them by pulling an old archive, verifying that the file was the same version as the corrupted file, then verifying that they were different. When I replaced the current repository file with the archived one, all was once again hunky-dory. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: cvs [annotate aborted]: invalid change text in filename,v
Larry Jones wrote: Todd Denniston writes: Not that I WANT to work in the windows environment, but if CVS/RCS as a repository is unstable in a local mode there, I would like to know if it is something CVS is doing or could protect against (besides refusing to work there :). If the data gets corrupted when CVS isn't updating it, it can't very well be something CVS is doing, now can it. Nor could CVS do anything to protect against it, although it could, perhaps, detect it more aggressively. No, such corruption is almost certainly caused by system software defects and/or hardware defects. Most Windows machines have a notoriously unreliable operating system, main memory with no error detection, and a disk interface with no error detection. In many ways, it's a tribute to modern technology that it doesn't break more often. It would be more accurate to say that it breaks far more often than we realize, but most of the breakage occurs in non-critical areas, since only a tiny portion of the typically installed code is actually critical. I think that my problems this time came not from the OS, but from the even-less-reliable PC hardware. I had a motherboard that seemed to work, but showed weird problems just often enough to not get discarded immediately. I do not think I have had any corruptions since I replaced it. BTW, it is my current suspicion that the failure occured immediately after CVS let go of the data - during the physical write to disk. Does anyone know if CVS verify its writes? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Adding Files To A Release Branch
Chuck Tomasi wrote: I'm still fairly new to CVS (less than two months). I'm using CVS 1.11.2 on a Solaris 7 and Solaris 8 system. I have a main trunk for development and currently one release branch to maintain the production system. Over the course of time the main trunk has had some files added and some removed. When I checkout the release branch at a given release tag, I get what I expect. I apply my changes from the main trunk with a cvs update -jtag1 -jtag2 file. However, I'm still lacking the files that have been added and would like the release branch to reflect the files removed from the main trunk also. From the release branch, what commands should I use to get rid of excess files and obtain the missing ones from the main trunk? You would handle this exactly as you handle it in the main branch, except that you do all your work in a tree that has been checked out from the branch in question. Note that you will need to check for conflicts and merge as needed. The general practice is, for each change in the main branch, decide whether or not the change will be applied to any branches, and apply the change to the branch as it is applied to the trunk. Good practice is to make the apply/no apply decision early in the development, and to test the change against the branches as part of the development. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Including file version during checkout
Frederic Brehm wrote: I don't remember many unhappy comments about $Rev$ or its cousins $Id$ and $Name$. There are many reasons to avoid $Log$, though. Ever archive a Perl script that used variables with the (not exactly unusual) variable names $Rev, $Name, or $Log? I'd like to see the whole auto-substitution thing thrown out, myself. For the OP, I would recommend writing a script which runs `cvs log` on each file in the build, strips out the desired information, and formats it appropriately (e.g. a C source file which defines a structure of file information and the single instance of that structure). This avoids having auto-expand keywords in a source file. Oh, and if you write a Perl script, don't store the filename in variable $Name, or every file will have the same name as the script! /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: checkout multiple tags
Eric Fritz wrote: The problem is what if I want to checkout the last 3 updates. If I try to use: cvs checkout -r tag1 -r tag2 -r tag3 module it only gets the files in tag3. If I try to run them seperately, one on top of the other, subsequent checkouts actually remove the files that are not listed with the tag. You write a little script that runs from the top of the directory. You feed the script the names of the tags that you want to find. It runs `cvs log` on every file in the tree, looking for the tags. If it finds one match, it saves that filename and revision number. If it finds multiple matches, it uses the highest numbered revision. When it is done, it extracts all matching files and versions via `cvs checkout -r`. WARNING: if a given change is applied to multiple branches with the same tag (e.g. your tag names are PR numbers), then the logic to find the right revision becomes nontrivial. HTH, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Newbie question : common/shared objects
Jay Yarbrough wrote: I'm quite new to using CVS. Our applications rely on common source, and built products alike. Some of these are 3rd party (dlls, jars, source, etc.) and some are internally developed. For instance, to build release 1.2 of product X, I need release 3.4 of product A, release 5.4 of product B, and release 1.1 of product C. To build release 2.1 of Product Y, I will use release 3.4 of product A, release 5.3 of product B, and release 2.0 of product D. How is this typically handled within CVS? It isn't. It's a configuration management problem, CVS is an archiving system. Because configuration management and archiving are so tightly linked in practice, people tend to miss the fact that they're conceptually separate. I am, unfortunately, not terribly familiar with available CM tools. Many folk seem to be happy with simple homegrown CM models, and I see a couple of suggestions have already been forwarded. I just wanted you to be aware that whatever solution you pursue, you should be able to use CVS to do the archiving. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
per-directory checkout files as?
Here's what my project structure looks like: DeathRay | +--- include | +--- source | | | +--- drivers | | | +--- applications | +--- projects | +--- RatFry | +--- DeadDog Now I like to have the files checked out read only, so that I pay attention to which files I'm changing. My projects are built in an IDE that wants all its files read-write. Is it possible to set up CVS to do this, or will I need to run scripts? If I need scripts, is there a convenient CVS hook where I can run the script? Thanks, /|/|ike (mad scientist at large) ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Hung CVS server processes
Larry Jones wrote: That sounds like someone started a commit, the editor came up for the log message, and the person forgot about it until the next day when they finally saved the log message and let the commit complete. So... can the editor zombie or die in some other fashion without the server knowing that it has died? Wouldn't that leave perpetual CVS processes lying around? Just a guess, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: New to CVS
Rob Beach wrote: As the subject says i'm new to CVS and from what I have read about it, it sounds really good. BUT I was wondering if it can handle excel .xls files ? and word .doc files the same way it can handle .txt files ? as I am Not exactly the same, but the same. When you add those files, you must be sure to tell CVS that they are binary files (-kb option from command line, add binary button on WinCVS), after that, everything is the same (except that when you diff binary files, since CVS has no way to interpret differences, it can only tell you same or different). looking for something that can do what cvs can do but i have spreadsheets that about two or three people will need to edit and update at a time. At the min they have to wait for each other to get out of the file. You seem to be headed down the right path. also there are people that need to just look at the spreadsheets to get data off them can you set it up so people can view the files but not edit them ? is there that sort of security on cvs ? It can be done, but is dependent on the specifics of your server implementation. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: symbols in patterns interpreted *recursively*?
RLMuller wrote: Hi All, Hello! Using a pattern I encountered behavior I didn't expect, as follows: my $ABC = abc; $_ = $ABC; print \$ABC . (/^$ABC$/? matches : does not match) . \$ABC\\n;# Matches my $ABC_DEF = abc\\def; $_ = $ABC_DEF; print \$ABC_DEF . (/^$ABC_DEF$/? matches : does not match) . \$ABC_DEF\\n; # Doesn't match print abc\\def . (/^abc\\def$/? matches : does not match) . \abc\\def\\n; # Matches If $ABC_DE's content is further interpreted, as seems to be the case, how do I stop it? I'm feeling generous today, so I'm giving you not just an answer to your question, but two, count 'em, TWO helpful tips for a happy internet life! Answer: print \${ABC_DEF} . (/^${ABC_DEF}$/? matches : does not match) . \${ABC_DEF}\\n; # Matches! Note the brackets around the variable name, without which Perl will assume the variable name ends with the first nonalphanumeric character, in this case '_'. Suggestion 1: Don't send HTML, Rich text, or multipart MIME mail to technical mailing lists. It just upsets people, and most likely the person who can best answer your question will be one of the upset parties. Suggestion 2: Send Perl questions to a Perl mailing list or newsgroup (heeding Suggestion 1 - I recommend comp.lang.perl.moderated). Normally you will get no answer to them here. I only looked at the problem because I thought it was a keyword substitution issue. ObCVS: Don't use Perl variables named $Name, $Id or any other CVS keyword if you want to be able to archive your script with CVS. Have a nice day, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: multiple servers
[EMAIL PROTECTED] wrote: I want to maintain my cvs repository in multiple servers and then the client to pick a ramdom server and get the update from there. CVS was not designed for this. If you wish to do this, you will need to figure out the repository synchronization isues. You would probably be best off just getting a nice beefy server for everyone to work from. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Installing WinCVS 1.2 as a stand-alone
[EMAIL PROTECTED] wrote: Hi folks, Similar question here: Is there a Win98/2000 light cvs server? Light server? There's a full-featured one that you can get at http://www.cvsnt.org that will run on Windows 2K. It is implemented as an NT service. I am not a Windows expert, but that could well mean that moving it to Windows 98 is impractical. The correct word is impossible, as services are processes, which Win98 does not have. If you have a Windows NT/2K/XP box, you should be able to install CVSNT and WinCVS and go from there. Correct. If you have a Windows 98 machine only, then you are probably out of luck. If you have a Win98 machine, and want to do single machine development... bharath katragadda wrote: I am new to WinCVS. I want if I can use this WinCVS as a stand-alone software on my private machine without the need of a server. I would be greatful if you people help me on this. To use WinCVS for standalone development, select create a new repository from the create menu. Check your settings carefully - you want local mode with matching path and CVSROOT(pick a new directory). Once you click OK, your new repository will be created and initialized. Then, using the change location button of the browse toolbar, select your new repository. Voila! Single person development up and running! Enjoy! /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Installing WinCVS 1.2 as a stand-alone
Stan Berka wrote: Thanks a lot, Mike! That was exactly what I needed. CVS gives me a reliable versioning and backup this way. And yes, it's a single person development at home for our parish. Good. Now just remember to do regular backups and store them offsite, and you're professional grade. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Tag locking change
Greg A. Woods wrote: If you really Really REALLY want to tag the head of a branch then just check out the branch (or do a cvs update in any existing working directory which has no un-committed changes) then then apply the tag to what you get as a result by running cvs tag in that working directory. That way you can know ahead of time exactly what you've got. It's then up to the user whether or not they actually look to see what's there before they tag it. What I fail to understand is why anyone would want to tag the head of a branch in an instantaneous fashion. Wouldn't you want to build/test, etc. first? If you're just doing daily tags, can't you just tag the previous second - wouldn't that be good enough? I'm kind of lost on what the point of contention is here. What is it that someone would want to do that is affected by the tag locking change? Could someone please clarify? Thanks, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: cvs commit features
Reinstein, Shlomo wrote: Of course, a user can always use cvs add and cvs remove to add or remove files, but these two options can help him/her make sure they didn't forget to do this for some of the files. This is one of those things that might work really well, but only for certain development models. For instance, I am using a GUI based tool. It likes to create lots of files that may or may not need to be archived. I have experimentally determined that if I archive a certain set of them, then there seems to be no problems. Do I want CVS to pester me about the ones I'm not archiving every time I do a commit in that directory? No way! And just think what would happen if you inadvertently did your CVS commit without making clean first... Nannyware sucks. Optional nannying? Hmmm - doesn't the nannyware model *require* that the nagging not be optional? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Tag locking change
Adam Bregenzer wrote: Not at all. The server that holds the cvs repository also has apache runing on it. When a commit occurs each file that is committed is copied into a seperate directory. That directory is the DocumentRoot for apache. That way, when a change is committed it is automagicall viewable by browsing to the cvs server. The point is that one who does not edit the site manages and approves the site. Currently that individual runs cvs rtag when the site is in a producation ready state. Then a script is run that does a cvs export with that tag and posts it to the live site. It has nothing to do with the client, it's all *server* side. I see no reason for it to bve tied to an update, I don't even know how to execute a server-side script on update and wouldn't want to anyways. At this point I begin to understand what you are talking about. What you are doing is overloading CVS to be an archiving system *and* distribution system. This is, to be blunt, bad engineering. What you should do is write a script which commits the file and, upon successful commit, updates DocumentRoot (or it could be a smart script that only updates the relevant directory). So you already *do* have a working copy, you've just built it the wrong way. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: CVS server debugging
Dan Peterson wrote: Is there a way to start the CVS server (pserver) so it can be run through gdb? From inetd? I should hope not. This would (I believe) imply a rather serious security gap in inetd. I want to be able to debug the server process from the very beginning, but the best I can do is after inetd has forked off the cvs server process I can attach to the process with gdb using the PID. Problem is, this is after the point where I need to debug... and the process usually doesn't last long enough to attach to it anyway. Stupid debugging trick: set your own breakpoint. Immediately before the statement at which you would like to start debugging, insert: while ( 1 == 1 ) ; ...build, and replace your existibg executable. When you attach, it will be holding right at the point of interest. You will be able to safely move the PC to the statement immediately following the infinite loop, thus allowing the program to execute as if it were never stopped. If you must debug in a live environment (obcaveat: avoid if possible), then inserting a 10 second sleep instead of an infinite loop should do the trick nicely (helpful suggestion: send an ALL CAPS email ten minutes (or so) before installing the sleeping program so that your developers do not think that the server is broken when every command takes ten seconds minimum to complete). Maybe not what you wanted, but it works pretty well. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: How do I tag only on branched module
I'm going to take my best shot at this, although I'm not entirely certain what the situation is. I believe your problems stem largely from your use of `cvs rtag` instead of `cvs tag`. As I understand it, you have a trunk and two branches, and are making changes, sometimes to more than one branch at a time, and wish to label after every change. To do this properly, you should have three sandboxes, one for each branch (you can also do this by changing the branches of a single sandbox, see Cederqvist for details). After each checkin, run `cvs update` on the sandboxes for the branches, then `cvs tag` from tbe root of the sandboxes you wish to tag. HTH, /|/|ike Ravish A.S wrote: hi , I wonder is it cvs bug!! . Still i am facing some strange problem. How do i label the branch and main trunk at a time. because i have created two branch of specific folder and rest of the files still in main trunk. I used ' cvs rtag -nRF -r branchname tagname moduleName' tag all the files under the branch( and also on newly added files). Then i used ' cvs rtag -fnRF -r branchname tagname moduleName' tag all the files under branch and main trunk but it fails to tag newly added files to branch. Please anybody knows this problem. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Per-modules readers/writers ?
Nick Patavalis wrote: What's wrong with uid/gid based permissions? For starters, they require that each CVS user have a login account on the machine in question. In some cases, this is not acceptable. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Visual Studio .NET projects and CVS
Kaz Kylheku wrote: Knowing what files are primary objects that should be version controlled is a Visual .NET problem, not a CVS problem. It's your responsibility to understand the development tool you are using, and know what all the .dsw, .opt, .ncb, .aps and whatever files mean. So that means no asking for help? Sheesh! If you want to just jump somebody's case, do it for something legitimate, like sending HTML email to a mailing list. I have successfully rebuilt Visual projects with nothing more than a *.dsp or *.dsw file, as of Visual Studio 6, but have not tried with .NET. I have also archived all the files, and that worked fine, too. My general rules for archiving projects from development environments that produce mystery files: 1) Examine each file with a text editor. Do NOT use a text editor that autosaves to the original file. Do NOT use a text editor that cannot handle binary data. I use emacs and never have a problem. It should be immediately obvious if this is a binary file. If so, add it as binary. 2) Add the remaining files as text individually. If CVS feels that the file may be binary, abort the add and add it as Unicode. This is especially relevant for Microsoft-on-Microsoft development systems such as the Visual line. 3) If you are working in a read-only-by-default configuration, do `cvs edit` on all such files. 4) Just do your work as usual, and check in all the changed files as updates before doing any reference tags. This methodology has a few niceties: 1) You need know nothing about which files are what. 2) If you need to go back to a certain tag, your development environment will go back with you (sometimes this may not be so good). 3) You can highly customize the development environment, using branches to develop features, and get the customizations for each branch. Of course, you need to trade off the value to your team of these niceties with the cost of archiving them before deciding which you would like to do. HTH, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
CVSIGNORE on WinCVS
I am using WinCVS. Setting the CVSIGNORE environment variable, either for user or system, does not seem to work. Does anyone know what will work. I would prefer to avoid changing CVSROOT/.cvsignore if possible, as that tends to change things for everyone on all projects. TiA, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: pserver login problem to Linux from Win2k
Kaz Kylheku wrote: On Thu, 31 Oct 2002, Steve deRosier wrote: Here's what is happening: 1. J: is a networked drive connected to my home directory on our Linux server via Samba You can't do that, because Linux and Windows don't agree on the representation of text files. This affects the treatment of text documents on update and commit, and also the representation of the CVS/ administrative files. Also, you should always use native drives both for your sandbox and repository. Generally speaking, networked drives within their native systems (NFS across Unix clones, SMB between Windows boxes) can be considered native. Anything that crosses OS architectures (especially Unix/Windows) is bad. So even if you solve the location non-transparency problem by using a CVSROOT that works everywhere, you still have this problem. New question: Is there an easy way to fix this problem, so I can transparently use CVS in the same working directory both remotely and locally? This is not a problem, so much as an architectural fact. Unix and Windows do not agree on what constitutes a text file. It is impossible for them to work together without some sort of intermediary. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Nubie question
Dmitry Suzdalev wrote: Hello all! Can anyone explain me how to get latest STABLE release of some package from CVS? Manual says that i have to use tags. But all examples in it contain tag's name, such as cvs update -r Release-02 But what if i dont know this name? Can I find it somehow? Is there a CVS command that lists all tag names? Note that knowing all the tag names mat not help. You need to know whatever tagging system is in use in the project you are working on, and that tagging system needs to include a procedure for tagging the latest stable release. If both of these are true, only then can you use the previously mentioned commands to scan the tags and find your latest stable release. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: can't add with wincvs
Steve Buehler wrote: I am not sure if this got through to the list or not since I didn't see it come back to me. So I am sending it again in the hopes that someone can help me. ---original message I am hoping that someone might be able to help me. My customer can't do without a GUI to work with cvs. I am not knowledgeable with either wincvs or cvs. Anyway, I get the following error when trying to click on the Add Selected button in wincvs. (The [EMAIL PROTECTED] is not what I have entered. I changed it here for security reasons). ---snip- cvs add testz.php (in directory C:\ijobs\cvs\) cvs add: warning: unrecognized response `Password: ' from cvs server cvs add: warning: unrecognized response `[EMAIL PROTECTED]'s password: ' from cvs server cvs add: warning: unrecognized response `Password: ' from cvs server cvs [add aborted]: end of file from server (consult above messages if any) *CVS exited normally with code 1* ---snip- In the WinCVS preferences, I have: General Enter the CVSROOT [EMAIL PROTECTED]:/usr/local/cvsroot Authentication SSH Server Ports Check for an alternate rsh name (checked) c:\putty\plink.exe I know they can login to the server with SSH manually. Actually, I am testing it with my account. Yes, but when you log in to the account, you have to enter username/password, don't you? What you need to do is set up plink with a key for the account that you wish to log in with. You will need to consult the plink instructions/manual to determine how to do this. Note that you will then need to take appropriate measures to guard that key, which will be stored in plaintext in a file on your Windows machine. HTH, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Newbie Problem: About repositiory
Noel Yap wrote: There're several things (with varying pro's and con's) you can do: 1. move back the repo until you've checked in everything you need (and don't checkout another working directory until it's moved back) 2. create a symlink (or mount the new repo) to the location of the old repo 3. modify all your CVS/R* files to point to the new repo 1 and 2 may not be possible in your environment. 3 is intrusive and error-prone. What about...? 4. Run a script which deletes all the CVS/Root directories and then `cvs -d /new/path/to/repository update` Won't this do the trick? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: CVS, emacs, shh, cygwin
Seth Copen Goldstein wrote: I am having trouble using cvs, emacs, bash, etc. on my windows XP machine. My configuration is: CVS: Concurrent Versions System (CVS) 1.11 (client/server) Emacs: GNU Emacs 21.2.1 (i386-msvc-nt5.1.2600)\n of 2002-03-19 on buffy Cygwin: not sure version, cygwin1.dll is dated: 2/25/2002 Ssh: (from cygwin): OpenSSH_3.2.3p1, SSH protocols 1.5/2.0, OpenSSL 0x0090604f I have afs (version 1.2.2b), but would also be ok with using SSH. However: If I can't set a CVSROOT to :local:f:/path (it complains about path not being absolute) Correct. Cygwin is a Unix emulation layer, and therefore does not recognize DOS drive specifications. CVSROOT should be :local:/cygdrive/f/path. I can't set CVS_RSH=SSH, because cvs replies: cvs [checkout aborted]: end of file from server (consult above messages if any) This is probably an artifact of your bad CVSROOT, yes? (there are no error messages) Don't you get the bad CVSROOT error message? Wouldn't that count? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: can't add with wincvs
Steve Buehler wrote: Ok. I was able to get a private key setup and running so that it logs me in. Now I am running into another problem. I can connect to the server. In fact, in WinCVS, I can even do a create which gives me the following reply in WinCVS: cvs init *CVS exited normally with code 0* WHOA, Nelly! Where's the `cvs checkout` that you MUST do between these two paragraphs? Even with no files in the repository, it will set up your CVS directory. Now. When I go again and click on a file to add (testz.php), then click on the Add Selected button, I get this: cvs add testz.php (in directory C:\ijobs\cvs\) cvs add: in directory .: cvs [add aborted]: *PANIC* administration files missing Sounds like it couldn't find the CVS directory... /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Newbie question re: ssh
Robert Koster wrote: I have set up a repository, and want to use :ext w/ SSH (without keys). Pros/cons? Con: this isn't possible. ssh operating without keys will forcibly invoke username/password login, which will gag the CVS client. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Moving to Pserver from .rhosts
Greg A. Woods wrote: [ On Friday, November 15, 2002 at 11:17:10 (-0800), Shankar Unni wrote: ] Subject: RE: Moving to Pserver from .rhosts Greg opines: Then you have no accountability in your CVS repository. None. You have as much accountability as you have from ssh and the passwd file: you know the name of the person (from the pserver passwd file), and that is recorded in the repository. No you don't. CVS is not a security application. It was not designed to be one and it cannot ensure any (i.e. not any at all) level of accountabilty. None whatsoever. Nil. Zilch. Zip. Zero. Negative even. If you think otherwise you are sadly mistaken and seriously fooling yourself into a complete and utterly false sense of security. Stupid questions for blowhards time: When did anyone in this thread actually *ask* how to secure their CVS server? /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Moving to Pserver from .rhosts
Larry Jones wrote: Mahantesh writes: we have working repository running right now. Currently the mode of authentication is .rhosts. We are planning to migrate the mode of authentication to pserver. Why? :ext: is generally consider superior to :pserver:, particularly when used with ssh rather than rsh. Not all systems implement rsh the same way, as there was never any real spec. As such, the OP may be working with systems whose rsh's do not interoperate. If there is no need to secure the client/server connections, then pserver makes a nice low maintenance solution, and is sure to work on any machine on which a CVS client can be compiled. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Newbie question re: ssh
Greg A. Woods wrote: [ On Friday, November 15, 2002 at 22:20:39 (-0800), Mike Ayers wrote: ] Subject: Re: Newbie question re: ssh Robert Koster wrote: I have set up a repository, and want to use :ext w/ SSH (without keys). Pros/cons? Con: this isn't possible. ssh operating without keys will forcibly invoke username/password login, which will gag the CVS client. Huh? I haven't tried without keys in a while but I'm pretty sure my client still just asks me for the password and lets me type it Hmmm. thinking back, that problem occurs on WinCVS. It may be that the command line client behaves correctly. I need to get my lab rebuilt and test these things first. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: WinCVS problem - sandbox files not shown
Stefan Andersson wrote: (I've tried all combinations of the Show buttons, but the only thing that differs is if non-cvs files is shown or not...) Incorrect. There are a number of Show buttons colored red. Those buttons will hide all files *except* those shown. Please check those and make sure none are depressed. If any are, tell them a good joke, or just click them, and your hidden files should come out to play. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: An automatically commit
Giohanna MEndez wrote: /---Version 11 /---version 1-/ / \ /\Version 12 version base /---version 2 \---version 3 - Version 31 Each version has: version base |-include (inside some files .h) |-server (inside some files .c) +-client (inside some files .c) version 1 |-include (inside same files as include in version base and more files .h) |-server (inside same files as server in version base and more files .c) |-client (inside same files as client in version base and more files .c) +-communications (inside some files .c) version 2 |-include (inside same files as include in version base and more files .h -different from version 1) |-server (inside same files as server in version base and more files .c -different from version 1) +-client (inside same files as client in version base and more files .c -different from version 1) Snipped more of the same/ I made this logical structure in this way: first I create the version base, then from the version base I made a checkout, then I modify it and import it with the name version 1, I made the same procedure to create version 2 and 3, It is important to say to each modification is different between each version, to create the version 11, I made a checkout from the version 1, then I modify it and import it with the name version 11, I made the same to create version 12. To obtain version 31: I made a checkout from the version 3, then I modify it and import it with the name version 31. Didn't this seem more than a bit awkward? (see below) In this way, I had created modules for each version (at the same level in my cvs repository), but what I want to do is: each time I made a modification in program of the version 1, and I make a commit, the cvs automatically makes a commit for the version 11 and 12. Other example: if I made a commit for a modified program of the version base, cvs make automatically a commit for the dependent versions from it (according to my logical structure). This is my problem: how can I do it automatically? By not archiving multiple copies of the same file. (see below) what I am doing at the moment, that is by the way too expensive, it is: I make checkout of the version 1, then I modify it, then I made commit, after that and manually I made a checkout of the version 11, then I made the same modification and I made a commit, then I made a checkout of the version 12, then I made the same modification and I made a commit This is not only too expensive, it is too error prone. Somebody can help me to make this process more automatically? I shall try. First, I must point out your fundamental problem: you are trying to solve a configuration problem with an archiving system. This is why your solution is so awkward and error prone. The thing to do is to treat this as a CM problem, and you're halfway home. Basically, instead of maintaining so many copies of the same files, you should maintain only one copy, and use a manifest and conversion script to translate the archive into your chosen directories. This results in far less files to archive. It also means that your automatic commit happens by default, although you will need to rerun your conversion script each time you commit. That can be handled with a checkin script, if necessary. HTH, /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Display all assets by TagName...
Larry Jones wrote: DePaul, James writes: Is there a way in WinCvS to list all of the assets tied to a specific tag!? This is regular (command line) CVS -- WinCVS has it's own mailing list (see www.wincvs.org). But I strongly suspect the answer is no. You are correct in your suspicion. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Changing CVSROOT in CVS/Root of working directory
mmala wrote: Hi I am facing a problem. Actually, right now our DNS is down so for running client server cvs,I am adding IP address of the clients as entries in the /etc/hosts file of the machine where cvs server is running.But we all have previously checked out working directories;the old CVSROOT is no longer valid;instead of the server name we are giving server ip address and updated using cvs -d $CVSROOT update Now in all CVS/Root directories, the new root has replaced the old one so we no longer have to use -d each time.But in one machine, this is not happening.CVS is always reading old CVSROOT and is giving error 'there is no machine by that name' I changed CVSROOT in the autoexec file, rebooted that machine and did update with -d but in CVS/Root file, the old CVSROOT remains.How do I change this?The client is win 98 machine and cvs client is command prompt. Simply remove all the CVS/Root files in that sandbox and do a `checkout -d` from the top of the tree. This will create new CVS/Root files with the new root. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: cvs does not add hierachy files
Charles Sun wrote: I am a newbie. I added many files and directories in the original check out. Is there a simple way to add all of them? ??cvs add?? does not add hierarchy files and directories. ??cvs import?? will create unnecessary tags on other cvs files. I wish ??cvs add?? has a ??-R?? option. Please do not send HTML mail to technical mailing lists. As far as CVS not adding everything new in a tree, this is deliberate. This prevents the inadvertent adding of intermediate files and other files that you would not wish to version control. This requires you to decide to commit each file. While this is inconvenient, it tends to be, in practice, much less inconvenient than the alternative. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Changing CVSROOT in CVS/Root of working directory
Riechers, Matthew W wrote: Alternatively, you could add the IP address of the server to the client host file(s). In Windows 98, I believe the file is c:\windows\hosts. In Windows NT systems and derivatives, the file is usually %SYSTEMROOT%\etc\hosts. CAVEAT: Doing this now may cause much pain if the IP address of the host machine ever changes. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: AW: using .cvsrc in client-server setup
Fabian Cenedese wrote: Windows 98 does not allow me to name/create a file as .cvsrc I tried naming a file just cvsrc and setting HOMEDRIVE and HOMEPATH.It doesn't work. Can anyone tell me how they accomplished setting global options on windows 98?Any other suggestions? I really really need cvs co -P,update -P and update -d as default options for all users. Let someone create the .cvsrc file on a unix system (or any other system that allows it) for you and then send it to you as email attachment. When saved from the email the file will be created. With Win98 I was able to edit the file after that and save it as .cvsrc, on NT4.0 I had problems because it always tried to rename the file as .cvsrc.txt. I guess that's not an NT problem but one of this editor or registry setting. Just create any suitable file and rename it on the DOS command line, works without a fault (at least on my NT4 but 98 should be even easier). ren cvsrc.txt .cvsrc If you cannot name a file .cvsrc, it is because Windows is managing file extensions for you. Open My Computer, select menu item Tools\Folder Options, select tab View. If Hide file extensions for known file types is selected, then Windows will automatically append .txt to Notepad files. If it is cleared, you can use notepad to create .cvsrc by selecting type All Files when saving. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Problem with WinCVS
Please send only plain text messages to technical mailing lists. Thanks. David Gagnon wrote: Hello, I am a new to CVS and I need some help: We have a CVS server on a Mac OSX computer and it's work well with MacCVS Pro client on a remote Macintosh. All the things seem to be ok for the MacCVS client. But now, I am trying to use WinCVS on Windows XP and I have some problem. Any function return a message like Cannot fdopen 3296608 for write: No such file or directory. Message like does not help much. Message is would be much better. Can you cut-and-paste the exact output? If not, please transcribe faithfully. Thanks. Note that I am using WinCVS1.3b5 with Python 2.2.2. Current is WinCVS 1.3b10. Always upgrade to the latest when you haven't gotten something to work yet. CVS GUI is now found at http://www.wincvs.org. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Commit Problem
Please send only plain text messages to technical mailing lists. Thanks. Bill Smith wrote: Below is a message I posted to the tortoise cvs mailing list. Additionally, I tried doing a cvs commit with cygwin cvs, I get /CVSROOTccess /var/cvs No such file or directory This is not a cut-and-paste of the output. Please send a cut-and-paste of the output, or reproduce the output faithfully. Approximate error messages do not help. I know there is some inconsistency between the cvs cygwin cvs client and the cvsnt client but searching, it's not clear to me what those inconsistencies are. Can anyone clarify them? If you find this out, please tell us. :-) (Other than the line ending issue, that is). - I have a strange one here. I have a group of jpg images that I'm adding to a repository. When I do a cvs add, all the images add fine. When I try and commit, I get the error below for certain files. (I only see the message below if I commit them one at a time, when in a group, I get some generic message). What is weird is that in some cases, if I open the image in an editor and resave it (change jpg params) and try and commit, it will work. This could be a coincidence. What params are you changing? Opening a JPEG file in an editor and resaving it should change nothing. Additional Info: TortoiseCVS version 1.2.1 client os: Windows XP Home server os: Redhat 7.2 server ssh version: OpenSSH_3.1p1 Server CVS version? Client/server protocol? :ext: with ssh is implied, but you give an OpenSSH version, and TortoiseCVS only works with PLINK.EXE, which does not show an OpenSSH version. Any ideas? Honestly, I don't think this is a TortoiseCVS problem, but instead a generic cvs problem, but I was hoping someone on this list might have some ideas. I'm also gonna post this on the cvs list. *cough* Or generic pilot error? Just make sure you double check your setup. In C:\Projects\webv3: C:\Program Files\TortoiseCVS\cvs.exe commit -m src/html/gallery/images/sunfun/009_6a.jpg CVSROOT=:ext:[EMAIL PROTECTED]:/var/cvs cvs commit: warning: unrecognized response `FATAL ERROR: Server sent disconnect message: ' from cvs server cvs commit: warning: unrecognized response `Corrupted check bytes on input. ' from cvs server cvs [commit aborted]: end of file from server (consult above messages if any) Check bytes? Smells like client/server incompatibility to me. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Commit Problem
Bill Smith wrote: - Original Message - From: Mike Ayers [EMAIL PROTECTED] Actually, yes it is a cut-and-paste, here it is again including the command line Here s the entire trace with the -t option $ cvs -t commit cvs commit: notice: main loop with CVSROOT=:ext:[EMAIL PROTECTED]:/var/cvs cvs commit: Examining . - Starting server: ssh www.copperleaf.org -l bsmith cvs server [EMAIL PROTECTED]'s password: /CVSROOTccess /var/cvs No such file or directory Hmmm... this looks like the string /CVSROOT overlaid on the string Cannot access /var/cvs. This would happen if, say, you were using Unix style formattting... You mentioned Cygwin earlier. Have you used Cygwin to work in this sandbox that you are using TortoiseCVS in? FYI, the cygwin cvs version is $ cvs -v Concurrent Versions System (CVS) 1.11 (client/server) Grandma! What params are you changing? Opening a JPEG file in an editor and resaving it should change nothing. I played with changing the compression level of the jpg using the gimp. cvs SHOULDN'T care anyway. It's a Ah - that's not a parameter - you recompressed the image. CVS shouldn't care, yes, but I, trying to understand the problem, do. :-) Additional Info: TortoiseCVS version 1.2.1 client os: Windows XP Home server os: Redhat 7.2 server ssh version: OpenSSH_3.1p1 Server CVS version? server cvs version is 1.11.1p1 Old Aunt Ethel! Client/server protocol? :ext: with ssh is implied, but you give an OpenSSH version, and TortoiseCVS only works with PLINK.EXE, which does not show an OpenSSH version. On the client side, TortoiseCVS is using plink which is connecting to sshd on the server side. Are you certain of this? How do you know? This has worked successfully with all the other files. To add some more detail, it is only a handful of files (~12 out of 100) all jpgs that are acting up. The images all vary in size, but none exceed 30 - 40k. Irrelevant, mostly. CVS is all or nothing. What's surprising is that so many files do work. Since we are talking configuration, fyi, in the server cvswrappers file is an entry for jpgs: *.jpg -k 'b' Good. Please status your JPEGs and verify that the option took. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: update -l -r brnch dir doesn't seem to do anything
CHARLES HART, BLOOMBERG/ 499 PARK wrote: I've used CVS for a bit over 24 hours, having used ClearCase for the past 16 years, and I am trying to get a handle on how NOT to get a whole directory dumped into my work area. We have a directory with approximately 1,500 source files in it. (No unfortunat ely, I can't make a smaller directory, since this is only one of 475 directorie s I have to worry about). I have figured out that I can start with an empty work area and say $ cvs update -r brnch bmf/foo.x and just get one file moved into the directory. But, if I start with an empty work area and I want to create a new file in the big directory, I can't get CVS to give me an empty place to work. (At least the cvs add command refuses to work in anything other than a work directory blessed by CVS). I figured out that I can do an mkdir and cvs add, and cvs correctly notices that the new directory is redundant, but shouldn't update -l -r brnch dir work too? -CTH You understand the problem correctly. To get your directory blessed, just check out a single file in it - use `cvs update -r brnch bmf/foo.x`, then delete foo.x, make your file (in the bmf directory), and check it in. While updating foo.x, CVS should create all the CVS/* files it needs to do the add. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Binary update and merge problem
Walter Ghijsen wrote: Hi, I'm running into problems with merging binary files from one branch into another. SNIP/ Does anyone have any suggestions? Yes. Don't merge binary files. CVS knows how to merge only text files. Binary files you must handle on your own. What you probably want to do is replace the main trunk version of the file with any changed files on the developer branch, but you are the expert there. You may need to devise a script for this. The handling of binary files in CVS is very limited. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Bug tracking.
Steven Buroff wrote: I would like to vote for this feature too. This open source. Only patches count as votes. CVS's support for bug tracking is poor to nonexistent and many people have commented on it and requested better support. Tags don't really do it. That's because CVS is not a bug tracking tool. It's an archive system. Only an archive system. If you want to do more than just archiving, you must find tools that do those other things and/or integrate them yourself. Sorry if this sounds harsh, but too many people just don't seem to grasp this. /|/|ike ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs