Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 21349 - Team error when Synchronizing with repository
Summary: Team error when Synchronizing with repository
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Team (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P2 major (vote)
Target Milestone: ---   Edit
Assignee: Kevin McGuire CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-07-08 12:04 EDT by Simon Haldon CLA
Modified: 2002-07-10 11:59 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Haldon CLA 2002-07-08 12:04:33 EDT
SETUP PRODUCING THIS ERROR:
CVSNT 1.11.1.3 is installed on "Machine A" - Server running Windows 2000 (SP2). 
The repository is on this machine. In the CVSNT admin panel a prefix is 
specified for the repository locations, with just the repository directory 
itself listed in the repository entries.

Eclipse v2.0 is installed on "Machine B" and "Machine C", (same OS as server).

The Team Tutorial in the Eclipse help was being followed:
User 1 on Machine B creates a project and several text files, adds the 
repository to the workspace(no problems accessing it here), and then shares the 
project to this repository.

User 2 on Machine C checks out 'as project' the project from the repository.

Both users amend their local versions of text files.

User 2 synchronises with repository and commits changes.

User 1 attempts to synchronise with the repository. When using a file that user 
2 didn't change there is no problem. But if user 2 has already committed a 
changed file to the repository, user 1 receives an alert box:
Header: 'Unable to Synchronize'.
Text: 'An error has occurred processing file <repository file name><version 
number of the version uploaded by user2>' 
'Error fetching file revisions' was initially displayed when this error first 
cropped up.
Updating from the repository still works.

The fact that 2 users cannot concurrently work with files in a repository means 
the team functions can't be used under CVSNT unless there is a way round this 
or the bug is fixed.
Comment 1 Michael Valenta CLA 2002-07-08 16:30:32 EDT
Is there anything in the .log file?

The problem looks to be related to how synchronize determines the remote file 
revision. As a work around, you may have to use the Team/Update and Team/Commit 
menu commands. These commands are analogous to "cvs update" and "cvs commit" so 
using them is just like using any other CVS tool. 
Comment 2 Simon Haldon CLA 2002-07-09 05:18:03 EDT
Thanks for the response,

I can't see anything like an error message in the CVS loginfo file in CVSROOT 
if this is the log you're referring to.
I'm already using the Eclipse 'Team' menu commands (Synchronize, commit, 
update) rather than the CVS native commands. 

The files are stored in the repository with the extension (e.g.) "file2.txt,v" -
 is this correct or should the 'v' actually represent the current version (1.2)?

Below is the contents of repository file2.txt,v that is causing the problem, if 
this helps, although it look identical to the file that is working correctly. 
The only difference is that the 'author' of each version is the same for the 
file that is working correctly. Both users in this example have the same 
administrator authority. I cannot take 'Synchronize with repository' for this 
file without getting the error. I'm wondering if the 'locks - strict' has 
anything to do with it, could this prevent the other user from accessing the 
file?


head	1.2;
access;
symbols;
locks; strict;
comment	@# @;
expand	@o@;


1.2
date	2002.07.08.09.42.07;	author sahuja;	state Exp;
branches;
next	1.1;

1.1
date	2002.07.08.09.37.40;	author shaldon;	state Exp;
branches;
next	;


desc
@@


1.2
log
@*** empty log message ***
@
text
@This is file 2.
It was input by Simon.

And has not been (maybe not) changed.
 

No..you are wrong.. see it has been changed:  sa@


1.1
log
@Initial commit of resources for iMaestroTestProj
@
text
@d4 4
a7 1
And has not been changed.@


<end of the file>

I can attach you the CVSROOT directory from the server if this will be of any 
use, there is only a little test data in there.

Regards,

Simon
Comment 3 Michael Valenta CLA 2002-07-10 08:37:04 EDT
The log  am referring to is the .log file found in the .metadata directory of 
your workspace.

The contents of the file look good and if it was bad then the cvs command line 
would work either. It could be a permissions problem. Perhaps this could occur 
if the file was stored on an NTFS partition as opposed to a FAT.

Out of curiosity, what does your repository path look like (i.e. what is the 
path part of your CVSROOT string)?
Comment 4 Simon Haldon CLA 2002-07-10 09:15:35 EDT
This is the contents of the log that relates to the error:
---

!MESSAGE Error fetching file revisions
!SUBENTRY 1 org.eclipse.team.cvs.core 4 -6 Jul 08, 2002 10:43:27.705
!MESSAGE An error has occurred processing 
file 'E:/iMaestro/CVSRep/iMaestro/iMaestroTestProj/file1.txt 1.2'

---
The repository path is E:/iMaestro/CVSRep
 
Cheers
Simon
Comment 5 Michael Valenta CLA 2002-07-10 10:04:47 EDT
Is E:/iMaestro/CVSRep the path you used when you created the repository 
location or did you configure your CVSNT server to use an alias? The reason I 
ask is because Eclipse will not work if CVSNT is set up to use a repository 
alias (the reason being that CVSNT sometimes communicates the full path: 
a.k.a. 'E:/iMaestro/CVSRep/iMaestro/iMaestroTestProj/file1.txt')
Comment 6 Simon Haldon CLA 2002-07-10 10:24:56 EDT
To install, I followed the exact instructions from this website:
http://w1.858.telia.com/~u85831169/InstallCVSNT.html
down to step 10, replacing the 'test' repository with our 'iMaestro' one. 

Once this was done I went back to eclipse and added the repository 
successfully. Everything worked fine for both users until the synch. issue. All 
other functions, including synching for the user who last committed the file, 
are fine. It is only when a user who was not the last person to commit that 
particular file attempts to synch their version with the repository that the 
error occurs. Seems to indicate some security issue with access to the version, 
but I don't know where or how to fix that, although I'm trying a few things.
Comment 7 Michael Valenta CLA 2002-07-10 11:16:32 EDT
The problem is that even though CVSNT can be configured to use a repository 
prefix (step 7b. in the document you provided), it does not always communicate 
the directory relative to this prefix. This makes it impossible for Eclipse to 
work with this mode. If you want to use the advanced features of the Eclips CVS 
client, you will need to disable the prefix and use the full path name when 
specifying the repository location.
Comment 8 Simon Haldon CLA 2002-07-10 11:59:38 EDT
Yes, that's cracked it, thank you very much indeed. I will post a reference to 
this bug at the end of the thread I initially raised in the newsgroup in case 
anyone else needs this info.