Re: Locking CVS

2005-07-11 Thread Jim Hyslop

S I wrote:

Hi everyone,

I'm planning to lock cvs today getting ready for our release.  I realize 
with certain version control software nowadays you don't have to lock 
the repo and the developers can continue with their work.  However, 
we're imposing and enforcing a few days for freeze and to regroup.


Our repository resides on a linux box with :pserver method access from 
WinXP CVS DOS and Tortoise clients.  Could I just lock the repo by 
executing cvs admin -l or -L  or do I have to download some perl module 
to accomplish this? I need to lock our CVS repository today.  Three 
projects reside in the repository, is it possible to lock them 
selectively or would admin -l lock the entire repo?


If you want to lock all projects, then create an empty 
$CVSROOT/CVSROOT/writers file. I believe this will work for all access 
methods, not just pserver. Unlocking the repository is a simple matter 
of deleting the file. See 
https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_2.html#SEC36 for 
details.


To selectively lock projects, have a look at the cvs_acls script. It's 
in the source code distribution (available from www.cvshome.org) in the 
contrib/ directory.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Smart CVS

2005-07-07 Thread Jim Hyslop

Liquidchild wrote:

I posted on here recently with regards to using SSH and SmartCvs, I
have (i think) made a little head way in this but when trying to get
the modules to read from smartCVS checkout project option i am getting
the following:

An i/o error occured, details: Unknown Compression method


Turn off compression. There should be a checkbox on the check-in dialog 
for compression.


There are known issues with compression on some versions of the CVS server.


p.s. would have posted this on the smartCVS form but my company
firewall blocks it!


subscribe via email. Send an email to [EMAIL PROTECTED]

Messages to the group can be sent to [EMAIL PROTECTED] once 
you're subscribed.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How can I administratively "freeze" a branch?

2005-07-07 Thread Jim Hyslop

[EMAIL PROTECTED] wrote:
 Why not just "cvs rm" all the files from it, so they no 
longer exist at the head of the branch?  People would have to 
accidentally checkout old revisions before they could 
accidentally commit to it; that's pretty improbable I think.



  The problem is that files from old branch still exist in
HEAD (in fact, what we did was to commit the branched files
to HEAD).

I don't understand your objection.

'cvs remove' on a branch will declare the tip of the branch dead, 
thereby preventing anyone from checking anything into the branch. It's 
exactly what you want to do.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Undesirable Watch/Edit Behavior

2005-07-06 Thread Jim Hyslop

Todd Foster wrote:

I am not sure I agree with that.  The act of doing a fresh checkout of that
file (either via a new "checkout" or "update -C" or what-not) makes CVS 
forget
that you are editing that file.  "cvs editors" no longer returns you as 
an editor of
that file (regardless of where you run it from - either the first or the 
second directory).


Personally, I consider that a bug.  I believe I have even seen a patch 
submitted

to change this behavior thought I don't remember what the patch did.


Yes, I'd forgotten about that bug and patch - thanks for the reminder. I 
just checked the NEWS file, and it doesn't look like the patch has been 
released yet. My apologies for the misinformation.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: migration of CVS repositery from one machine to another

2005-07-06 Thread Jim Hyslop

ravish agarwal wrote:
Does that mean that by only copying the files of the repositery after 
installing the new version of CVS will do the needful. all the 
history-details will remain there.? also Is there any possilble version 
upgrade related issues. Please Help me out.


As Todd Dennison wrote earlier in the thread, this is covered in the 
manual. Yes, that's all you need to do. There should be no other version 
upgrade issues.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Undesirable Watch/Edit Behavior

2005-07-06 Thread Jim Hyslop

[EMAIL PROTECTED] wrote:

I've set up a CVS module with "cvs watch on" so that users have to use
"cvs edit" to reserve files for editing.  This works fine for serial
editing of unmergeable binary files files.  When users try to edit
files already marked for editing by someone else they are told the file
is unavailable for editing as expected.

The problem that I've encountered is that if a user subsequently checks
out the same module again to a different location (i.e. two different
sandboxes for the same module) CVS forgets about any files that user
marked for editing before the second checkout.  Is this behavior by
design or a bug?  I'm using CVS version 1.11.1p1 on a Linux server?


That's pretty much by design. Each checkout is completely independent of 
any other checkouts, and CVS does not make any attempt to coordinate 
between multiple checkouts. Thus, CVS has not forgotten anything - if 
your users go back to the first directory, they'll find that it is 
currently "Edit"ed by them.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How to control the current version of CVSROOT/modules ?

2005-06-22 Thread Jim Hyslop

[EMAIL PROTECTED] wrote:

Hi.
Is it possible to roll back the version of the currently used CVSROOT/modules 
file?

Say that a product rev. A is built using "Ampersand modules".

Say that the product is updated to rev. B, and that the "Ampersand modules" is 
changed causing a change in the CVSROOT/modules file.

If I would want to roll back to rev. A, I would have to restore the previous version of 
the CVSROOT/modules file, to ensure that the "Ampersand modules" are defined 
correctly.


Unfortunately, yes, that's what you'll have to do. CVS's configuration 
management support in this respect is rather lacking.


For maximum control, you could use a makefile or a script in the project 
itself, which checks out the required sub-modules. An advantage of this 
approach is that your script/makefile can specify exactly which tag to 
retrieve - you can't do that with ampersand modules.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS-Directories disappear when uploading per SFTP-Client

2005-06-21 Thread Jim Hyslop

Dennis von Ferenczy wrote:

Yes.  Get a CVS client for your local machine and do your cvs 
commits from there behind the IDE's back.  On the CVS server 
== web server, use the loginfo hook to keep a reference 
sandbox up to date, from which the web site operates.

https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_18.html#SEC158

   



Thanks for your advice. But what will be the advantage? If I get you right,
then I would have to do a commit every time I want to test the changes in my
scripts, even if I have changed only a single line of code - and even if the
code is buggy. Right now I work locally, have the files mirrored using SSH
(I'm not sure if cvs can use SSH) can immediately try my changes and if
everything works as desired I do a commit. Like this I can always be sure,
that code in the repository is actually code that is working correctly.
 

It sounds like you use your production environment for testing. Good 
configuration management practises dictate that you should never do that.


Configure your local machine to behave the same way as the production 
machine. Test on your local machine.


If you do not do this, then sooner or later you *will* crash your 
production machine.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Help Required in CVS

2005-06-21 Thread Jim Hyslop

Hemant Thakre wrote:


2) Another problem which I'm facing after upgradation is

*CVS Time stamping problem.

*When I checkin or commit any file to cvs server. It shows diff. time 
stamp for checked in file which is around six hours less than current 
time.


We use ntp for time synchronisation in our premises. So all the 
workstations and servers are having exactly same time (GMT IST).


I dont know from where CVS is picking up this time.

Please let me know any solution if somebody came across these kinda 
problem.


Thanks in Advance



CVS always stores files using UTC. UTC is, IIRC, the default time 
displayed for the 'cvs log' command. Which time zone are you in, and 
which time zone do your PCs show? Can you provide copy-and-paste 
examples of the time output that you're getting, and indicate what you 
were expecting to see?


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: query

2005-06-17 Thread Jim Hyslop

Russ Sherk wrote:

You are correct Jim.  It should be used together with other metrics to
aid in determining the general health of a particular load or to see
general trends.  E.g. we used to parse the logs between builds and
generate a list of changed files grouped by log entry and PR #.  It
provided a snapshot of the changes that was easy to scan.  (You could
see what changed, how much changed etc.)  This was particularly useful
for T&V.


Now _that_ sounds like useful information.

--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: query

2005-06-16 Thread Jim Hyslop

Russ Sherk wrote:

On 6/16/05, Jim Hyslop <[EMAIL PROTECTED]> wrote:

I'm curious - what use could this information possibly be, anyway?


Usually this information is used by managers to determine churn. 
Bigger churn (more files/lines changed) means bigger risk.


Not if there's a proper set of unit tests in place.

I'm always skeptical of raw numbers like this being used for any 
meaningful analysis.


I don't think simply counting the number of lines added or removed is a 
good indication of risk. Suppose the tool reports "100 lines added, 100 
lines removed." Does that mean one line was changed 100 times? 100 lines 
were changed, one time each? Changing one line 100 times carries less 
risk than changing 100 lines once. And unless FishEye (or any other 
software) performs a fairly complex analysis of exactly which lines were 
added and removed, you won't know where on that spectrum your count of 
"100 lines added/removed" lies.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Repository Access

2005-06-16 Thread Jim Hyslop

S I wrote:
cvs_acls? Ok thanks.  I have to research that.  Is that a 3rd party tool 
or part of CVS?


It's part of the source code distributed from www.cvshome.org. Download 
the tarball (or check out the source) and cvs_acls will be in a 
directory named 'contrib'.


cvs_acls provides more fine-grained control over access - it allows, for 
example, control over who can check into branches, and so on.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Repository Access

2005-06-16 Thread Jim Hyslop

S I wrote:

Hi Class!

Currently our CVS repo has 3 main & separate projects running under it.  
By default when I create a new unix user; I give them access to the 
whole repository, however, some folks have been editing files in 
projects they were not supposed to.


How can I ONLY and specifically create or modify the access rights & 
privileges of only few specific people w/o wreaking havoc on the whole 
repository?  And by default if they're not listed in that file then that 
means they have access to all projs?  Is there a way?


Use your operating system's access control system. Create a group for 
each project, and assign people to the groups they are allowed to be in. 
You will have to determine, in conjunction with your project leaders, 
which projects new users will have access to, by default.


And, of course, get the managers and project leaders on side to explain 
that changing project files they haven't been assigned to will result in 
disciplinary action, up to and including termination.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: query

2005-06-16 Thread Jim Hyslop

Hridyesh Pant wrote:

Hi All,
Is there any way to find out how much liles added or removed in a file 
between two dates.


[note: please choose more descriptive subject lines. "query" is rather 
vague.]


Not easily, no. Between one revision and the next is quite simple - just 
look at the output of 'cvs log'.


I'm curious - what use could this information possibly be, anyway?

--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Working on sources in parallel

2005-06-16 Thread Jim Hyslop

Paul Sander wrote:
CVS notices the conflicting changes and produces a working copy of the 
file that contains Person1's removed lines and Person2's inserted lines, 
with special mark-ups to draw attention to the problem.  It also leaves 
copies of both contributors in the user's workspace.


Not quite. CVS will only rename your working copy to .#[filename].[cvs 
revision]. To see the other person's contributions you need to use 'cvs 
diff' on the pre- and post-modification revisions.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: migration of CVS repositery from one machine to another

2005-06-16 Thread Jim Hyslop

Todd Denniston wrote:
[...]

moving a repo is covered in the manual[1].
basically:
0) get everyone to do a final checkin and then release their sandboxes
(mainly prevent confusion later).
1) Back up the repository [2].
2) take the backup to the other machine.
3) restore from backup.
4) configure the machine to serve cvs.


4a) test the configuration, including all scripts.


5) update everyone's CVSROOT values.


There is, of course, the possibility that someone might forget that the 
migration is happening, and check in a change to the old repository 
while the migration is in process. To eliminate this possibility, just 
create an empty file named CVSROOT/writers between steps 0 and 1. This 
also adds step 6: delete CVSROOT/writers file.


Step 5 is actually a rather difficult task. In order to make future 
migrations easier, I recommend that your server's actual machine name is 
*not* the one that is published to the users. Instead, set up an alias, 
which your system's DNS resolves to the actual server. That way, you can 
eliminate step (5) in all future migrations.


IOW, set up an alias in your DNS entries, called cvs.yourcompany.com. A 
DNS lookup resolves cvs.yourcompany.com to the actual machine. Then, in 
future migrations, you simply perform all the steps above, except step 5 
now becomes: Change DNS entries to point to the new machine.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: login cvs from Linux on windows directory

2005-06-16 Thread Jim Hyslop

Travos Xavier wrote:

Hy all,

I am using cvs from a linux platform and the cvs
directory is on a server. My problem is that the cvs
directory for the server in on a windows host D:\CVS.

How to login ? Im doing
:pserver:[EMAIL PROTECTED]: because it is not
linux directory /usr/cvs for example.


Sounds like your server is CVSNT. I _think_ the syntax is something like 
:pserver:[EMAIL PROTECTED]://D/CVS/ - poke around the cvsnt.com web site for 
details.


If that doesn't work, you could always try the CVSNT client - it has 
been back-ported to UNIX.


--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Recovering from Attic

2005-06-08 Thread Jim Hyslop

Aaron Jackson wrote:
Ok, if there is a directory in a project that had three files in it and 
they were all removed to the attic with cvs rm at different times and 
you want to recover all three files (say 3 could be 100+ files in some 
cases) but they all have different versions on them. How could you check 
the version just before the version that was marked as dead and moved to 
the attic? I did manage to recover something that had been tagged, but 
in this case many of the files would not be tagged in a version.


If there are many files, then I think you'll have to write a script to 
do this:

- create a dummy file with the correct name
- issue a 'cvs add' and captures the output of the add command, e.g.:

cvs add: Re-adding file `test.txt' (in place of dead revision 1.3).

- parse the above message to find the dead revision number
- subtract 1 to get the last good revision number
- issue the command
cvs update -p -r[rev number] filename>filename

--
Jim




___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Retrieving dead files from the Attic

2005-05-26 Thread Jim Hyslop

S I wrote:

Here's another question I have on the same topic:

If a file is removed from CVS properly (by rm, cvs rm, cvs ci), what 
gets committed to the Attic exactly? Both the file and its sister 
comapnion file,v or just the latter?


The original file is never copied into the repository. When you 'cvs 
remove' a file, CVS adds a new revision to the ,v file, with the state 
"dead", and the file is moved into the Attic.


I still have not managed to retrieve my lost files from the Attic, 
executing the 3 commands I listed.  They simply don't work and retrieve 
new files with zero or empty cotent.  Help!


Keep in mind that just because a file is in the Attic does not mean it 
is completely dead. It only means that the *trunk* is dead.


Unless the file was explicitly checked into the Attic directory (which 
is unlikely, because the developer really has to go through hoops to do 
that) then everything can be done from your client.


What does a 'cvs log' show for one of the files? (You can trim the log 
messages themselves, but please keep intact the header and the revision 
state info, e.g.:


RCS file: /cvs_repository/conversations/factory/save.txt,v
Working file: save.txt
head: 1.1
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:

revision 1.1
date: 2003/03/09 16:26:19;  author: Jim;  state: Exp;
[log message trimmed]
=

--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Problems with branching

2005-05-22 Thread Jim Hyslop

rakesh mailgroups wrote:

Hi all,

I have found branches that i have created in cvs are not showing for
other users and vice versa.

Does anyone know why this is?


I have never heard of such a problem.

What exactly do you mean by "not showing for other users?"

Please provide more details: exactly what commands did you run, what was 
the expected output, and what was the actual output you received?


Also, which version of CVS (both client and server) are you using?

--
Jim



___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: trigerring several actions on commit

2005-05-20 Thread Jim Hyslop
Guillaume Rousse wrote:
I had a small look in the list archive and in the on-line manual without 
being able to find an answer: can I trigger several actions with a 
single commit ?

My own tries make me think that only the first line with a regexp 
matching the commit directory is used, and subsequent ones are silently 
ignored.

I could use a wrapper scripts encapsulating the different tasks, however 
I don't want to use the same list of task for all the different parts of 
a repository. In other terms, I'd like to do something as:
^foo report-mail
^foo/www extract-website

Meaning sending mail for any commit in foo modules, and additionaly 
extracting web pages for the www subdirectory.

^foo foo_commit.sh
^foo/www foo_www_commit.sh
where foo_commit.sh and foo_www_commit.sh call whatever scripts you need.
Or, have a single foo_commit.sh script, which uses `cwd` to determine if 
it's in the www subdirectory, and if so, invoke extract-website.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Restoring deleted revisions (was: Branch Numbers)

2005-05-20 Thread Jim Hyslop
Hridyesh Pant wrote:
Thanks a lot Jim.
Is this version of cvs is stable?
right now we are using cvs 1.11.17.
Is is ok for me to go 1.12 version?
It should be, yes. 1.12 is very close to being promoted to the next 
"stable" version.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How to get started

2005-05-19 Thread Jim Hyslop
Rondal Ellifritt wrote:
I have recently been hired into an existing development group. One of my
tasks is to get the group using version control.
Quite a challenge, from your description.
Maarten has given you some excellent tips. Out of all of these, I think 
your first priority *has* to be to separate the production environment 
from the development environment. I know you're new to the company, but 
I'm sure if you start enough casual conversations, you'll get a large 
number of horror stories about problems that occurred because of this 
mixture - use this as ammunition to convince people. Also explain that 
separating development from production is not _your_ way of doing things 
- it is a widely accepted, industry standard Best Practise.

Nowhere have you mentioned developer training in CVS. Do the developers 
already know how to use CVS? If not, that is a critical step that must 
happen before you do anything. The developers must understand and be 
comfortable with basic version management concepts and the basic CVS 
commands if you want any hope of achieving your goals.

Along the way, you will likely encounter many excuses for not doing 
things the new way: "Oh, it's only one minor tweak." "I don't have time 
to do it right - I've got a deadline" (your response: "If you don't have 
time to do it right, when are you going to have time to do it over?" and 
don't wait for an answer - it's a rhetorical question). Gently but 
firmly remind them that these shortcuts are what got them into the 
current mess they're in (and don't be afraid to use the word "mess" - if 
the other developers have a shred of professional pride, they know in 
their hearts the situation is a disaster waiting to happen).

As you progress, you will likely have dozens of questions. Feel free to 
post them here - that's what this list is for ;=)

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Restoring deleted revisions (was: Branch Numbers)

2005-05-19 Thread Jim Hyslop
Hridyesh Pant wrote:
Hi Jim,
As per ur suggestion i made cvsadmin group.but now the user can not execute cvsadmin 
-l  to lock the file.
CVS 1.12 can be configured to allow non-admin users to execute specific 
cvs admin sub-commands. Have a look at the UserAdminOptions at 
https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_18.html#SEC206

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS update -j failes to merge

2005-05-18 Thread Jim Hyslop
Asbjørn Sæbø wrote:
On Fri, May 13, 2005 at 03:58:12PM -0400, Jim Hyslop wrote:
What version of client and server are you using?

Both are 1.12.9 
Hmmm... I just tried it with 1.12.12, and it worked OK. Can you upgrade 
to the latest versions and try again?

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Restoring deleted revisions (was: Branch Numbers)

2005-05-17 Thread Jim Hyslop
Hridyesh Pant wrote:
Hi ,
i am facing a problem with CVS.Some R&D guys delete the TAG and revision on 
file.I want to restrict that things. Can i block this thing so that only some 
cvsuser can Tag the code base.
Your best bet is education. Educate these R&D guys that deleting tags 
and revisions is not necessary. You need to make sure they understand 
that deleting tags and revisions is a non-recoverable action. 
Non-recoverable actions should only be performed when absolutely 
necessary, i.e. extremely rarely.

CVS only stores the head revision in its entirety; all other versions 
are simply stored as deltas. Thus there is very little impact on 
performance, and on storage space. In the vast majority of cases, tags 
also have no noticeable impact on performance, either in terms of 
processing time or disk space.

If your server is on UNIX, only members of the system group cvsadmin can 
use the 'cvs admin' command. Make sure the R&D guys who like to kill old 
revisions are *not* members of that group.

You can prevent tags from being deleted by installing a taginfo script - 
see https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_18.html#SEC179 
for details.

If the above techniques fail, you may need to resort to less subtle 
means (such as a club or other blunt instrument applied to the side of 
their head :=)

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Restoring deleted revisions (was: Branch Numbers)

2005-05-13 Thread Jim Hyslop
Hridyesh Pant wrote:
Hi Jim,
I need ur help,some how i deleted 1.1 revision of some files.can i restore this 
revision.
The only way to actually delete a revision of a file is using the 'cvs 
admin -o' command. There is no way to undo that action, except by 
restoring the repository file from your daily tape backups.

For example: if i have 1.2 revision of these files , can i make 1.1 revision which is copy of 1.2 revision?
You could, but what would be the point?
Is there any cvs command to do this.
No. Unless revision 1.1 has critical information in it, I wouldn't worry 
about it.

If you feel you absolutely must have the revision 1.1 available, then 
here's what I suggest (others may have better ideas):

Before you do anything, back up your repository as it sits right now. 
That way, if any of the following steps screw up, you can simply restore 
from backup.

If and *ONLY* if you are sure there have been no check-ins, tags, or 
other modifications to the file since the revision got deleted, then 
simply restore the ,v file from your tape backup into the repository. 
Make sure nobody else is trying to access these files while the restore 
is in process (you can create two empty files, called 'readers' and 
'writers', in the CVSROOT directory to lock everyone out of the 
repository temporarily; delete the files when done).

Otherwise, if there is any doubt, then restore the repository file *into 
a different location in the repository*, check out revision 1.1 of the 
file, copy it into the "good" working area, and check it in on a branch. 
It will not be revision 1.1, but at least it will be available for 
inspection.

As an example, suppose the file you want restored is big_project/main.c. 
Have the file restored to, say, $CVSROOT/temp_for_restore/big_project 
directory. Then issue the following commands:

cvs co big_project
cd big_project
cvs tag -b -r1.2 revision_1_1 main.c
cvs up -r revision_1_1
cd ..
cvs co temp_for_restore/big_project/main.c
cp temp_for_restore/big_project/main.c big_project
cd big_project
cvs ci -m "Revision 1.1 restored from tape backup" main.c
Right now i am not able to send mail to "info-cvs@gnu.org".so pls help me.
I've cc'd the list with my response.
--
Jim
p.s. it's always best to start a new topic by creating a brand-new 
message, not by replying to an old one. Your question has nothing to do 
with the previous discussion on branch numbers, and (assuming it made it 
to the list) might have been ignored by someone who's flagged that 
thread as "not interesting".


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Questions on pserver authentication

2005-05-13 Thread Jim Hyslop
Todd Foster wrote:
I am trying to determine how pserver authentication works.  I understand 
when you do a cvs login that it creates ~/.cvspass file.  Therefore, I'm 
guessing that whenever you are running cvs commands cvs blindly combines 
the USER from whichever method wins (either using the pserver info found 
in the local working copy or in the $CVSROOT or in the -d) and uses the 
password from the ~/.cvspass of whoever is running the commands.  Is 
this correct?
No, there is nothing "blind" about this. CVS determines the user ID from 
the CVSROOT information. It searches for the CVSROOT information in this 
order:

1) the global -d option
2) the file ./CVS/Root
3) the CVSROOT environment variable
CVS then parses the CVSROOT information, and if the :pserver: method is 
specified, it looks up the CVSROOT in $(HOME)/.cvspass (note that it is 
not necessarily ~/.cvspass - $HOME is frequently set to ~).

So, if user1 goes into a cvs directory created by user2 and tries to do 
cvs commands in there, it uses the username found in the local working 
copy (user2) and combines that with ~user1/.cvspass and authentication 
fails.

One way around that is to override the user explicitly to user1 with the 
cvs -d option.  However, this is a very annoying way to get around the 
problem.
You could delete the file CVS/Root, and make sure each user has the 
CVSROOT environment variable is set.

If you're using *NIX, you could create an alias:
alias cvs=cvs -d :pserver:[EMAIL PROTECTED]:/path
on a per-user basis.
Or you could wrap CVS in a script:
# cvs-wrapper.sh
cvs -d :pserver:$(USER)@server:/path $@
(or whatever the syntax is for 'all command line arguments - I'm not 
very experienced at shell scripts)

and get everyone to use cvs-wrapper.sh instead of cvs.
What I'm really wondering, is what does the pserver authentication do if 
the username is omitted from the pserver CVSROOT, then what happens?  
I haven't tried it, but you'll probably get an error, since the CVSROOT 
format for :pserver: requires a user name.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS update -j failes to merge

2005-05-13 Thread Jim Hyslop
Asbjørn Sæbø wrote:
On Fri, May 13, 2005 at 10:04:59AM +0200, Asbjørn Sæbø wrote:
I have a CVS module (named "ldas") where I would like to merge the
contents of a branch into the trunk.  According to the documentation,
is seems that I should be able to du this using "cvs update -j
".  However, this does not work.  No merging takes place,
the files on the trunk do not receive the changes from the branch.
[...]
[EMAIL PROTECTED]:~/ldas/utvikling$ cvs update -j dev_20050413_b ldas

However, when I changed into the ldas directory, and did the update,
it worked:
[EMAIL PROTECTED]:~/ldas/utvikling$ cd ldas
[EMAIL PROTECTED]:~/ldas/utvikling/ldas$ cvs update -j dev_20050413_b .
[Much retrieving and merging]
Is this difference between naming the module/directory and standing in
the module/directory expected behaviour?
No. I just tried it with cvs 1.11.20, and it worked OK:
C:\cvs-test\jim>cvs -d \cvs_repository tag -r brach_base -b abranch
cvs tag: Tagging .
T test.txt
C:\cvs-test\jim>cvs up -r abranch
cvs update: Updating .
C:\cvs-test\jim>echo branch changes>>test.txt
C:\cvs-test\jim>cvs ci -m "branch changes" test.txt
Checking in test.txt;
\cvs_repository/cvs-test/jim/test.txt,v  <--  test.txt
new revision: 1.2.2.1; previous revision: 1.2
done
C:\cvs-test>cvs up -A jim
cvs update: Updating jim
U jim/test.txt
C:\cvs-test>cvs up -j abranch jim
cvs update: Updating jim
RCS file: \cvs_repository/cvs-test/jim/test.txt,v
retrieving revision 1.2
retrieving revision 1.2.2.1
Merging differences between 1.2 and 1.2.2.1 into test.txt
What version of client and server are you using?
--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: watch on

2005-05-12 Thread Jim Hyslop
Pedro Hernandez wrote:
Hello folks!
cvs 1.11.20 on Whitebox Linux 3
I'm trying to make a directory watched by default, reading in
Cederqvist
"Command: cvs watch on [-lR] [files]...
...
Is this a bug in cvs, the doc or in my head?
It's a bug in CVS. The workaround is to issue the command from within 
the directory, and do not specify anything for "[files]" when you issue 
the command:

cd wt
cvs watch on
--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS and Images

2005-05-12 Thread Jim Hyslop
Mychael Scribner wrote:
I have a simply little question. I do a lot of web based project that often
have images. Is their and do's or don'ts that I be watching for with images.
Should I not include them when I import a project?
There's no reason to exclude them. Just make sure you mark them as 
binary when you add them - either add the extensions to 
$CVSROOT/CVSROOT/cvswrappers, or explicitly use the '-kb' option with 
the 'cvs add' command.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS migration question

2005-05-12 Thread Jim Hyslop
[EMAIL PROTECTED] wrote:
I've been thinking about this since reading it on CM Crossroads this 
morning.  I don't think it would be too terribly complicated.  On the 
server side, I think it's just a matter of packing up the entire 
repository and ftp'ing it to the new server (or just copying it if you 
have a samba share).
That's the bulk of it. You would have to update (or more likely rewrite) 
any scripts, such as commitinfo, loginfo, etc.

My only concern is whether or not you'd have to 
worry about the "^M" end-of-line problem between windows and Unix.
Nope. RCS file format always uses a plain ASCII LF character as the line 
terminator, regardless of the platform the RCS file lives on. It's the 
client that translates LF into the appropriate line terminator for the 
client platform.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Can't checkout to my C: root directly *PANIC* Admin Files Missing

2005-05-11 Thread Jim Hyslop
Mark D. Baushke wrote:
If you see that you are indeed configured to use
TopLevelAdmin=yes, then Arno Schuring's analysis
that you are unable to create and populate a
C:\CVS directory is likely the root-cause of your
problem.
I think the analysis Arno provided is exactly right, and has nothing to 
do with the TopLevelAdmin option.

From any working directory, if you create a directory named CVS (or 
'cvs' on Windows, since it's case-insensitive) then _without changing 
directories_ issue just about any CVS command, you'll get the "PANIC" 
error message.

The red herring in this case is the fact that the current working 
directory also happens to be the root directory.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Branch Numbers

2005-05-10 Thread Jim Hyslop
SUBRAMANIAN, SARAVANAN (SBCSI) wrote:
Hi all,
How Branch Numbers are formed Internally in CVS.
I read the manual it is really confusing.
We have two branches, after we created the second branch, when the
developers start committing the files,
I found out that one file is committed with 1.12.2.1
And other with 1.1.4.1
Please help me found the why there is a difference in the above?
Larry and Kaz have given some excellent basic information to answer your 
question. I will add this, though: forget about it.

Revision numbers should, for the most part, be treated as "black boxes" 
that have no meaning to you and me, only to the program itself.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: What exactly is HEAD anyway?

2005-05-10 Thread Jim Hyslop
Andrew DeFaria wrote:
The more I look into CVS the less I understand. Perhaps you can help me...
When using -r HEAD I do not seem to get the latest revision on the trunk:
As you've found, 'HEAD' means the latest revision on the trunk for all 
commands except 'diff', where it means the latest revision of the branch 
that is checked out. I don't know how this inconsistency came about, but 
for backwards compatibility it's not likely to get fixed. Instead, the 
feature branch (CVS 1.12.x) has added new special purpose tags so that 
you can always specify the tip of the trunk, the tip of a branch, the 
base of a branch, and so on.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Locking a Branch

2005-05-09 Thread Jim Hyslop
SUBRAMANIAN, SARAVANAN (SBCSI) wrote:
Hi
I need to lock  a Branch, so that no one can check out or check in some
information into it.
First of all, do you really need to lock the branch? Can you not trust 
your developers?

I don't have access to the CVS host machine, but I am connecting it
through the CVS Binaries
That will make it more difficult. You need to install scripts on the 
server in order to do what you want. One script is the cvs_acls script 
that is contained in the source distribution (download the source from 
www.cvshome.org).

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Renaming a branch

2005-05-04 Thread Jim Hyslop
David Leskovac wrote:
Sorry for the basic question but I need to implement a new branch
naming scheme & want to make sure I am doing this correctly.
To start this process, I need to rename several existing branches.
Would this work for each branch to be renamed?:
cvs rtag -b -r   
cvs rtag -d 
I am aware of the -B argument to rtag. But, the version of cvs that
we use is so old (1.11.1p1) that it pre-dates that argument.
That will probably get you where you want to be, although it doesn't 
really do what your stated goal is (to rename the branch). It will 
create a new branch and delete the old branch. The effect will be the 
same, but be aware that you will be branching off a branch. Suppose, for 
example, that the tip revision for a particular file on 
original_branch_name is 1.2.2.2:

Before branch add and delete:
1.1 --- 1.2 --- ...
 \
  + --- 1.2.2.1 --- 1.2.2.2
after branch add and delete:
1.1---1.2--- ...
   \
+---1.2.2.1---1.2.2.2---X <--old branch (effectively dead)
  \
   + ---1.2.2.2.2.1 <-- new branch
'cvs co -r new_branch_name' will retrieve the correct branch.
--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: contrib directory?

2005-05-04 Thread Jim Hyslop
[EMAIL PROTECTED] wrote:
This is like the third reference I've seen to a "contrib" directory... 
where is it?  
As I said, it's in the source code distribution. Download the source 
code from www.cvshome.org.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Question about binary distribution

2005-05-03 Thread Jim Hyslop
(gnu.cvs.help trimmed from recipient list; I can't access it)
HSP wrote:
hello, i downloaded cvs-1-11-20.zip from https://ccvs.cvshome.org but
i can´t find information about wich windows versions are supported. Is
Windows 2003 server suitable for cvs server ?
thanks in advance!!
If you're using Windows as your server, then you probably would be 
better off using CVSNT on your server: www.cvsnt.org

Clients can use either CVSNT or cvshome's CVS.
--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Lock on Trunk

2005-05-03 Thread Jim Hyslop
Dean Do wrote:
Hi,
I have a question on access control.  Is there a way to prevent all commits
on the main trunk and allow commits on branches only?  Once the changes on
the branch are reviewed and approved for merging into the main trunk, then
the main trunk can be manually opened up temporarily for those changes only.
Please advise if there's a way to implement this type of controlled access.
Yes. Have a look at the cvs_acls script, in the contrib/ directory of 
the source distribution.

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Idea for reducing disk IO on tagging operations

2005-03-22 Thread Jim Hyslop
Dr. David Alan Gilbert wrote:
  2) I could do with a better under standing of the directory locks;
  pointers? I've read the top of lock.c but it still doesn't tell me
  enough; for example there seem to be multiple lock files used - but
  then surely the creation of them isn't atomic? Or is there one lock
  file used for both reading and writing?
The locking process is explained in the manual, at 
https://www.cvshome.org/docs/manual/cvs-1.11.19/cvs_2.html#SEC17

--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Checkout after a change

2005-03-08 Thread Jim Hyslop
[EMAIL PROTECTED] wrote:
The example they give is with unix, how would I do it with linux
(Fedora C3, I think it is).
Same principle. Remember, Linus *is* a port of UNIX.
--
Jim

___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs