Community
Participate
Working Groups
When checking out from CVS, external tools tell me (in an aparently unpredictable way) that various components are not upto date even though Eclipse thinks they are. Similarly if I check out using other tools and refresh Eclipse, it thinks that some components are changed and need to be committed. The two tools I'm using are WinCVS and tortise (both of which seem to be consistent between each other). I have an example project that I checked out - JTA - which when checked out via eclipse, tortise tells me that .classpath is up to date, but .project and jta.jar have changes. When I check out using tortise, eclipse (after a refresh) tells me that .classpath and .project are up to date, but jta.jar isn't. The CVS Entity files follow: Eclipse Checkout: /.classpath/1.4/Tue Apr 30 14:52:38 2002/-kb/ /.project/1.2/Tue Apr 9 17:24:46 2002/-kb/ /jta.jar/1.1/Thu Feb 28 18:36:46 2002/-kb/ Tortise Checkout: /.classpath/1.4/Tue Apr 30 14:52:38 2002/-kb/ /.project/1.2/Tue Apr 09 17:24:46 2002/-kb/ /jta.jar/1.1/Thu Feb 28 19:36:46 2002/-kb/ D .project looks the same, but isn't uniformly recongnized. I don't know if this is a problem and is difficult to express in a bug, but the eclipse checkout doesn't have cr/lf characters that notepad likes, where tortise does. -Tony
The differneces are: 1) For .project, the day of the month differs (9 vs. 09). I thought we fixed this. What build of Eclipse are you using? 2) For jta.jar, the timestamp is off by 1 hour! It is odd that one file would be off by an hour while other wouldn't be. It's also odd that each tool matches the timestamp on disk to what's in the Entries file. What is the timestamp of the file on disk? Is it different depending on the tool you use or do both result in the same timestamp?
RE: 1) I've seen the problem with 5/1/02 and one other version that I checked (not sure but I think it was 4/25) 2) Yup, thought that was particularly odd. JTA in eclipse shows 2/28/02 2:36pm JTA from tortise shows 2/28/02 2:36pm Maybe this helps - when I check out from Tortise and view properties in Eclipse it says the time is 1:36pm. Could this be some bizzaro DST/EST timezone thing?
If you checkout the JTA file with the cvs command line tool (i.e not tortoise), what is the timestamp?
Whether I checkout the JTA module with Tortise, WinCVS, or command line CVS, they all have the same timestamps. Its only when I checkout using Eclipse that I get a different timestamp. I'm using the following command line: cvs -z9 checkout -P JTA
Action: For part 1, we need to ensure that we meet the CVS spec when storing timestamps. Our goal is command line compatibility. For part 2, I saw a posting somewhere that implied that special handling was required for daylight savings time when CVS is storing files on certain types of drives (I can't remember if it was NTFS vs. FAT or involved network drives). The CVS command line client does this but Eclipse does not. If this is the problem, there is little hope for us to solve it since Eclipse is isolated from the local file system by java.io.File. The good part is that the manifestation of this bug is phantom outgoing changes which CVS handles well.
Same behaviour on my system (W98SE, FAT32, JDK1.4.0_01, Eclipse 2.1M2). At daylight savings switch last weekend *all* resources in Eclipse switched to 'modified' (and i don't see anymore, what had really changed). Same behaviour in the Java Grundspud CVS client. Example (a file after daylight savings change): FAT32 XMLDevice.java Mon Oct 28 18:48:58 2002 CVS/Entries XMLDevice.java Mon Oct 28 17:48:58 2002 WinCVS XMLDevice.java Mon Oct 28 17:48:58 2002 Grundspud XMLDevice.java Mon Oct 28 18:48:58 2002 Eclipse XMLDevice.java Mon Oct 28 18:48:58 2002 Timezone on my system GMT+01:00, Timezone on CVS-Server CET (last week GMT+02:00 vs. CEST). Another example (a file not changed since daylight savings change): FAT32 SourcePath.java Fri Aug 23 12:14:28 2002 CVS/Entries SourcePath.java Fri Aug 23 10:14:28 2002 So there is a difference of two vs. one hour. Are CVS/Entries always stored in GMT? Maybe you can do some magic with java.util.Timezone?
The last comment is not the same problem. This last problem has to do with how Windows deals with daylight savings (i.e. timestamps of all files change by 1 hour when the time changes). Workaround is to perform a Team > Update.
I've found the trap. I've updated a file with WinCVS 1.2: FAT32 toDo.txt Tue Oct 29 11:48:14 2002 CVS/Entries toDo.txt Tue Oct 29 10:48:14 2002 and then with Eclipse 2.1M2: FAT32 toDo.txt Mon Oct 28 22:18:24 2002 CVS/Entries toDo.txt Mon Oct 28 21:18:24 2002 So Eclipse uses the timestamp of the last change and WinCVS of the last update, don't know which behaviour is right.
*** Bug 59889 has been marked as a duplicate of this bug. ***
There are some extensive additional comments / diagnostics on Bug 59889. But what I wanted to add here is this: We are seeing the problem using Eclipse in conjunction with the authoritative CVS command line as produced by cvshome.org. It seems to me that Eclipse should strive to as closely emulate the CVS specification / authoritative product as possible (if this were a problem interacting with, say, WinCVS only, I'd be less concerned -- but as the problem appears when working with CVS ("the" CVS) it seems like more of a red flag). It's definitely been a nasty thorn in our side, as we have a mixed environment where separating command line and Windows-based development is simply not an option (see Bug 59889 for details). So, I'm just registering my vote that this problem be researched and solved. :-)
Just one more thought: If the problem is in fact impossible to workaround because Java (java.io.File) has isolated Eclipse from the file system "too much," what about adding a preference that indicates whether the project workspace is on a Unix (or whatever) drive? For the record, we use SMB to mount our Unix file systems. As far as I know, you get the same results if you use NTFS.
*** Bug 72544 has been marked as a duplicate of this bug. ***
would it be possible to add external cvs support to work around the bug with windows DST? is there another work around that can fix this? i've effectively had to resort to exclusively command line cvs and unshare my project from eclipse because of this, at least until after next month when things should be ok for about 6 months. my requirements are to have eclipse CVS support mirror the cvs cli client support.
Regarding comment 13, I'm not sure what you mean by "adding external cvs support". If you are asking if there is a way to have the Eclipse CVS plugin use an external CVS client then the answer is a no. Although it may be technically possible, it would be an extrememly large amount of work and is not something we would even consider. I would be cursious to know how this is preventing your use of the Eclipse CVS client. It may be possible to address the issues independantly.
the reason i can't seem to be able to use eclipse with cvs is that ultimately my source code isn't getting formatted during my build. as mentioned in bug 72544, i'm using JavaStyle.jar from Jrefactory.sourceforge.net. there's probably a bug in that lib that's actually causing the trouble and i'll look there. the time comparison code it's using is: public boolean equalsTime(long time) { //System.out.println("time="+time); //System.out.println("date.getTime()="+date.getTime()); if (date == null) { return false; } else { return (date.getTime() > time) ? ((date.getTime() - time) < 1000) : ((time - date.getTime()) < 1000); } } where date is the date from the Entries file, and time is from java.util.File lastModified(). sorry if i'm barking up the wrong tree, but using other tools doesn't seem to cause a conflict, only eclipse. i'd much rather be using eclipse, so i'll see about frixing this library if possible.
*** Bug 28903 has been marked as a duplicate of this bug. ***
There is currently no plan to address this item.
*** Bug 99334 has been marked as a duplicate of this bug. ***
(In reply to comment #18) > *** Bug 99334 has been marked as a duplicate of this bug. *** We have been evaluating eclipse about three times now from 2002 on. One of the features that are sticking out is cvs implementation with it's synchronizing view and so on. We saw the improvements and tried again to use it in our case (mixed environment unix/windows as also described in bug 59889 -> so there are others with a similar infrastructure). We have mixed environments because the applications are built automatically on unix servers. An other reason why we have to allow eclipse and commandline cvs usage is because of service issues. The only thing that's disturbing in the moment is that we can't get a clean state after setting up on an pre-build environment. We use also a mounted drive like U: (unix) where we enable access to a project. As you mentioned in rep#18 this item will not be resolved for the moment. In rep#5 you defined it as goal to ensure command line compatibility. The whole topic is very old and startet in 2002 so i'd like to know if it will be solved or not. Maybe there are also to few interested parties for using eclipse as ide for remote developing. Can you give us an idea what 'will be resolved later' means in this case? Is there a workaround that enables coexistance of both? After updating, synchronizing and performing 'clean timestamps' about 40 files (of 8000) unequally spread all over the project stay dirty. Dieter
The problem here is that this is actually a bug in Java not in Eclipse. We use java.io.File to obtain the timestamp of the file and, for some file systems, it differs from what is used by CVS command line clients. So, the options are to either wait for Java to fix the problem or reimplement the timestamp determination ourselves. I can't really comment on the chances of the former happening. As for the later, the Resources plugin would be the proper place for this since it already has platform specific support for other file system related operations (e.g. making a read-only file writtable). There is already a bug for the problem (bug 5337) but it has been marked WONTFIX. So, what RESOLVED LATER means in this case is that we do feel that this is an issue we would like to be able to address but we currently do not have an acceptable solution for the problem or the manpower to work on a solution given the priorities set forth by the Platform PMC. The good news is that this is an open source project so you or anyone else is free to work on a solution and contribute it back to Eclipse.
Seems I was wrong in my previous comment so please ignore the first paragraph. The Resources plugin does have it's own timestamp determination mechanism and the CVS plugin uses this (so it cannot be a problem in java.io.File). Bug 28903 has a bit of a description of how the CVS command line client gets and sets the timestamp (i.e. using stat/utime). I don't know enough about the Resources plugin to say what it does but I will look into it. In the meantime, it would be worthwhile to confirm some information from the latest reported problem from Dieter. What type of drive do you have mounted (SAMBA or NTFS). Also, I would be curious to know if all the failures where in a particular date range (i.e. are the dates all within the Daylight savings time range). Finally, is there anythig you can se that is special about the 40 files that failed to have there timestamps reset? If you open a compare editor on them, does it show the contents the same? Anyway, I think it is a good idea to reopen this since it seems to be the last remaining issue for complete command line comptibility.
Now some more details as required ... Eclipse runs under XP: Eclipse (Version: 3.1.0 Build id: I20050610-1757) CDT (3.0.0 Build id: I200506050932) Some words to this project. This repository is a very new one that has been created in March 05 (so there are just a few days where day light saving be a problem) - Project checked out with cygwin cvs-client on local ntfs drive [Concurrent Versions System (CVS) 1.11.17 (client/server)] Project Set-Up: - File->New->Standard Make C++ Project-> Project Contents is the pre-checked-out local ntfs-dir (not default)-> Finish After this eclipse labels all included dirs and files as expected. There is no dirty-symbol and there is nothing in the synchronize-view if triggering 'Team->Synchronize with repository'. - Project checked out with cvs-client on a Unix-Server (HP-UX) [Concurrent Versions System (CVS) 1.11.17 (client/server)] Project Set-Up: - File->New->Standard Make C++ Project-> Project Contents is the pre-checked-out unix-dir (not default) samba-accessed via mounted network drive "e.g. U:<project-dir>" or direct access "\\<hostname>\<project-dir>" -> Finish ################################################################################ After this eclipse labels many files/directories as dirty. Doing a "Team->Update" solves some of the problems. Examples: ### directory term >>> Two files are dirty (Makefile.pl, _link_cycle_hack_term.c). >>> switch daylight saving 28.03.2005 >>> difference is in both times 1sec. >>> files working and not working are placed at both sides >>> of the daylight savibg zone. >>> I see a 'D' at the end of CVS/Enties file that dissapears after >>> update in eclipse. But it seems taht it doesn't matter (it's also >>> existing in the project that was check out local with cygwin-cvs-client on a ntfs-drive. before update (CVS/Entries) /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:37 2005// /Makefile.py/1.2/Thu Mar 31 08:02:10 2005// /_link_cycle_hack_term.c/1.5/Tue Apr 26 11:27:51 2005// /_link_cycle_hack_term.h/1.2/Tue Apr 12 05:11:10 2005// /main.cc/1.4/Mon Apr 11 11:59:08 2005// D after update (CVS/Entries) /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:36 2005// /Makefile.py/1.2/Thu Mar 31 08:02:10 2005// /_link_cycle_hack_term.c/1.5/Tue Apr 26 11:27:50 2005// /_link_cycle_hack_term.h/1.2/Tue Apr 12 05:11:10 2005// /main.cc/1.4/Mon Apr 11 11:59:08 2005// diff -r term term.bak Common subdirectories: term/CVS and term.bak/CVS diff -r term/CVS/Entries term.bak/CVS/Entries 1c1 < /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:36 2005// --- > /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:37 2005// 3c3 < /_link_cycle_hack_term.c/1.5/Tue Apr 26 11:27:50 2005// --- > /_link_cycle_hack_term.c/1.5/Tue Apr 26 11:27:51 2005// 5a6 > D dieter@sasrvb [138]> ### directory idl >>> In this dir all files are marked dirty (difference 1s) before update (CVS/Entries) /GenSkel.pl/1.1.1.1/Fri Mar 18 16:38:25 2005// /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:25 2005// /Makefile.py/1.1.1.1/Fri Mar 18 16:38:25 2005// /_defs_idl.idl/1.1.1.1/Fri Mar 18 16:38:25 2005// /rep_svr_idl.idl/1.1.1.1/Fri Mar 18 16:38:25 2005// D after update (CVS/Entries) /GenSkel.pl/1.1.1.1/Fri Mar 18 15:38:24 2005// /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:24 2005// /Makefile.py/1.1.1.1/Fri Mar 18 15:38:24 2005// /_defs_idl.idl/1.1.1.1/Fri Mar 18 15:38:24 2005// /rep_svr_idl.idl/1.1.1.1/Fri Mar 18 15:38:24 2005// diff -r idl/CVS/Entries idl.bak/CVS/Entries 1,5c1,6 < /GenSkel.pl/1.1.1.1/Fri Mar 18 15:38:24 2005// < /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:24 2005// < /Makefile.py/1.1.1.1/Fri Mar 18 15:38:24 2005// < /_defs_idl.idl/1.1.1.1/Fri Mar 18 15:38:24 2005// < /rep_svr_idl.idl/1.1.1.1/Fri Mar 18 15:38:24 2005// --- > /GenSkel.pl/1.1.1.1/Fri Mar 18 16:38:25 2005// > /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:25 2005// > /Makefile.py/1.1.1.1/Fri Mar 18 16:38:25 2005// > /_defs_idl.idl/1.1.1.1/Fri Mar 18 16:38:25 2005// > /rep_svr_idl.idl/1.1.1.1/Fri Mar 18 16:38:25 2005// > D dieter@sasrvb [144]> ### directory language >>> In this directory newtrans.ml and prm.ml are not dirty. >>> Differences here between 1s, 1h or both (Makefile.py) before update (CVS/Entries) /GenNewTranslation/1.1.1.1/Fri Mar 18 16:38:34 2005// /GetMlMFromMenuTitle.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// /Makefile.py/1.2/Wed Mar 23 15:58:33 2005// /collect_ml.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// /fmtree.ml/1.1.1.1/Fri Mar 18 16:38:36 2005// /languages.pl/1.1.1.1/Fri Mar 18 16:38:36 2005// /newtrans.ml/1.3/Fri Apr 22 08:01:14 2005// /prm.ml/1.6/Thu Jun 16 15:31:02 2005// D after update (CVS/Entries) /GenNewTranslation/1.1.1.1/Fri Mar 18 15:38:34 2005// /GetMlMFromMenuTitle.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// /Makefile.py/1.2/Wed Mar 23 14:58:32 2005// /collect_ml.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// /fmtree.ml/1.1.1.1/Fri Mar 18 15:38:36 2005// /languages.pl/1.1.1.1/Fri Mar 18 15:38:36 2005// /newtrans.ml/1.3/Fri Apr 22 08:01:14 2005// /prm.ml/1.6/Thu Jun 16 15:31:02 2005// diff -r language/CVS/Entries language.bak/CVS/Entries 1,7c1,7 < /GenNewTranslation/1.1.1.1/Fri Mar 18 15:38:34 2005// < /GetMlMFromMenuTitle.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// < /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// < /Makefile.py/1.2/Wed Mar 23 14:58:32 2005// < /collect_ml.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// < /fmtree.ml/1.1.1.1/Fri Mar 18 15:38:36 2005// < /languages.pl/1.1.1.1/Fri Mar 18 15:38:36 2005// --- > /GenNewTranslation/1.1.1.1/Fri Mar 18 16:38:34 2005// > /GetMlMFromMenuTitle.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// > /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// > /Makefile.py/1.2/Wed Mar 23 15:58:33 2005// > /collect_ml.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// > /fmtree.ml/1.1.1.1/Fri Mar 18 16:38:36 2005// > /languages.pl/1.1.1.1/Fri Mar 18 16:38:36 2005// 9a10 > D ################################################################################ After updating the whole project some files stay dirty (84 in this project). After 'Clean Timestamps' it increases to 44 files that are still dirty. Example: ### directory interface/ccm_conv/stocktake >>> Files are 'clean' after 'Clean Timestamps' >>> In the Compare-View i can't see a difference >>> (both files local/remote have the same revision) convProtInvProt.h convRadioInvPar.h diff -r stocktake stocktake.bak Common subdirectories: stocktake/CVS and stocktake.bak/CVS diff -r interface/ccm_conv/stocktake/CVS/Entries interface.bak/ccm_conv/stocktake/CVS/Entries 1,9d0 < /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:26 2005// < /Makefile.py/1.1.1.1/Fri Mar 18 15:38:26 2005// < /convBaseCreateSpontInPar.cc/1.1.1.1/Fri Mar 18 15:38:26 2005// < /convBaseCreateSpontInPar.h/1.1.1.1/Fri Mar 18 15:38:26 2005// < /convBaseStockMod.cc/1.1.1.1/Fri Mar 18 15:38:26 2005// < /convBaseStockMod.h/1.1.1.1/Fri Mar 18 15:38:26 2005// < /convBaseStockMove.cc/1.1.1.1/Fri Mar 18 15:38:26 2005// < /convBaseStockMove.h/1.1.1.1/Fri Mar 18 15:38:26 2005// < /convProtInvProt.cc/1.1.1.1/Fri Mar 18 15:38:26 2005// 11d1 < /convRadioInvPar.cc/1.1.1.1/Fri Mar 18 15:38:26 2005// 12a3,13 > /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:26 2005// > /Makefile.py/1.1.1.1/Fri Mar 18 16:38:26 2005// > /convBaseCreateSpontInPar.cc/1.1.1.1/Fri Mar 18 16:38:26 2005// > /convBaseCreateSpontInPar.h/1.1.1.1/Fri Mar 18 16:38:26 2005// > /convBaseStockMod.cc/1.1.1.1/Fri Mar 18 16:38:26 2005// > /convBaseStockMod.h/1.1.1.1/Fri Mar 18 16:38:26 2005// > /convBaseStockMove.cc/1.1.1.1/Fri Mar 18 16:38:26 2005// > /convBaseStockMove.h/1.1.1.1/Fri Mar 18 16:38:26 2005// > /convProtInvProt.cc/1.1.1.1/Fri Mar 18 16:38:26 2005// > /convRadioInvPar.cc/1.1.1.1/Fri Mar 18 16:38:26 2005// > D dieter@sasrvb [195]> ll interface/ccm_conv/stocktake - before 'Clean Timestamp' total 192 drwxrwxrwx 2 dieter salomon 8192 Jun 17 18:06 CVS -r--r--r-- 1 dieter salomon 3 Mar 18 17:38 Makefile.pl -r--r--r-- 1 dieter salomon 0 Mar 18 17:38 Makefile.py -r-xr-xr-x 1 dieter salomon 1952 Mar 18 17:38 convBaseCreateSpontInPar.cc -r-xr-xr-x 1 dieter salomon 1225 Mar 18 17:38 convBaseCreateSpontInPar.h -r-xr-xr-x 1 dieter salomon 2607 Mar 18 17:38 convBaseStockMod.cc -r-xr-xr-x 1 dieter salomon 1157 Mar 18 17:38 convBaseStockMod.h -r-xr-xr-x 1 dieter salomon 2634 Mar 18 17:38 convBaseStockMove.cc -r-xr-xr-x 1 dieter salomon 1169 Mar 18 17:38 convBaseStockMove.h -r-xr-xr-x 1 dieter salomon 2823 Mar 18 17:38 convProtInvProt.cc -r-xr-xr-x 1 dieter salomon 1177 Mar 18 17:38 convProtInvProt.h -r-xr-xr-x 1 dieter salomon 2293 Mar 18 17:38 convRadioInvPar.cc -r-xr-xr-x 1 dieter salomon 1192 Mar 18 17:38 convRadioInvPar.h dieter@sasrvb [196]> !! ll interface/ccm_conv/stocktake - after 'Clean Timestamp' total 192 drwxrwxrwx 2 dieter salomon 8192 Jun 17 18:06 CVS -r--r--r-- 1 dieter salomon 3 Mar 18 17:38 Makefile.pl -r--r--r-- 1 dieter salomon 0 Mar 18 17:38 Makefile.py -r-xr-xr-x 1 dieter salomon 1952 Mar 18 17:38 convBaseCreateSpontInPar.cc -r-xr-xr-x 1 dieter salomon 1225 Mar 18 17:38 convBaseCreateSpontInPar.h -r-xr-xr-x 1 dieter salomon 2607 Mar 18 17:38 convBaseStockMod.cc -r-xr-xr-x 1 dieter salomon 1157 Mar 18 17:38 convBaseStockMod.h -r-xr-xr-x 1 dieter salomon 2634 Mar 18 17:38 convBaseStockMove.cc -r-xr-xr-x 1 dieter salomon 1169 Mar 18 17:38 convBaseStockMove.h -r-xr-xr-x 1 dieter salomon 2823 Mar 18 17:38 convProtInvProt.cc -r-xr-xr-x 1 dieter salomon 1177 Mar 18 18:38 convProtInvProt.h -r-xr-xr-x 1 dieter salomon 2293 Mar 18 17:38 convRadioInvPar.cc -r-xr-xr-x 1 dieter salomon 1192 Mar 18 18:38 convRadioInvPar.h ################################################################################ The rest of the files /dirs that are remaining now get clean after deleting the directory an checking it out (Team->Update) with eclipse. Example: ### dirctory setup/touchapp/wamas_touch >>> dcc_full.ini, dcc_test.ini, wamas.bat are dirty diff -r setup setup.bak Common subdirectories: setup/CVS and setup.bak/CVS Common subdirectories: setup/touchapp and setup.bak/touchapp Common subdirectories: setup/touchapp/CVS and setup.bak/touchapp/CVS Common subdirectories: setup/touchapp/wamas_touch and setup.bak/touchapp/wamas_touch Common subdirectories: setup/touchapp/wamas_touch/CVS and setup.bak/touchapp/wamas_touch/CVS diff -r setup/touchapp/wamas_touch/CVS/Entries setup.bak/touchapp/wamas_touch/CVS/Entries 1,6c1,6 < /Makefile.py/1.1.1.1/Fri Mar 18 16:38:36 2005// < /dcc_full.ini/1.1.1.1/Fri Mar 18 16:38:36 2005// < /dcc_test.ini/1.1.1.1/Fri Mar 18 16:38:36 2005// < /wamas.bat/1.1.1.1/Fri Mar 18 16:38:36 2005// < /wamas.ico/1.1.1.1/Fri Mar 18 16:38:36 2005/-kb/ < /wamas_service.bmp/1.1.1.1/Fri Mar 18 16:38:36 2005/-kb/ --- > /Makefile.py/1.1.1.1/Fri Mar 18 15:38:36 2005// > /dcc_full.ini/1.1.1.1/Fri Mar 18 16:38:37 2005// > /dcc_test.ini/1.1.1.1/Fri Mar 18 16:38:37 2005// > /wamas.bat/1.1.1.1/Fri Mar 18 16:38:37 2005// > /wamas.ico/1.1.1.1/Fri Mar 18 15:38:36 2005/-kb/ > /wamas_service.bmp/1.1.1.1/Fri Mar 18 15:38:36 2005/-kb/ ll setup/touchapp/wamas_touch - before remove of dir and update with eclipse total 112 drwxrwxrwx 2 dieter salomon 8192 Jun 17 18:06 CVS -r--r--r-- 1 dieter salomon 390 Mar 18 17:38 Makefile.py -r--r--r-- 1 dieter salomon 3274 Mar 18 17:38 dcc_full.ini -r--r--r-- 1 dieter salomon 3278 Mar 18 17:38 dcc_test.ini -r-xr-xr-x 1 dieter salomon 1254 Mar 18 17:38 wamas.bat -r-xr-xr-x 1 dieter salomon 766 Mar 18 17:38 wamas.ico -r--r--r-- 1 dieter salomon 3126 Mar 18 17:38 wamas_service.bmp ll setup/touchapp/wamas_touch - after remove of dir and update with eclipse total 96 drwxr-xr-x 2 dieter salomon 96 Jun 17 18:21 CVS -r-xr--r-- 1 dieter salomon 390 Mar 18 18:38 Makefile.py -r-xr--r-- 1 dieter salomon 3274 Mar 18 18:38 dcc_full.ini -r-xr--r-- 1 dieter salomon 3278 Mar 18 18:38 dcc_test.ini -r-xr--r-- 1 dieter salomon 1254 Mar 18 18:38 wamas.bat -r-xr--r-- 1 dieter salomon 766 Mar 18 18:38 wamas.ico -r-xr--r-- 1 dieter salomon 3126 Mar 18 18:38 wamas_service.bmp ################################################################################ If you need it i can send you an archive (an extract ~ 2.5MB) of this CVS-Repository with the files above and of course with the effects descibed there. Tell me if you need more. It seems to be a curious thing ... Dieter
I find it interesting that the timestamps differ by 1 second. I would be curious to know what the timestamp on the server is. In the listings you've provided, only the hour and minute are shown. Can you redo the listing in a way that shows the seconds (I don't know how to do this myself)? Actually, even better would be for you to follow the steps in the following URL. It will show the exact timestamp that is being sent from the server. We can then compare that to what is set in the file system to see if it is Eclipse that is changing the timestamp. http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm- home/docs/online/cvs_features2.0/cvs-faq.html#misc_0
Back with more information :-) I did the checks for the first directory 'term' again. Inside two files are dirty (Makefile.pl, link_cycle_hack.c) before 'Team->Update'. After an update the directory and it's files are 'clean'. You can see below that mtime of this files does not change with eclipse-update. But the lines in CVS/Entries changed and got wrong now. Dieter ========== % ~/tmp/watchdir/watchdir.pl term Dir to check: term Legend: mtime ... last modification time ctime ... last file status change time ll ... extracted time out of ll output ~ mtime Press <s> to start scan of dir > s === before === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][directory! ] term [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][directory! ] term/CVS [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][Jun 21 10:21] term/CVS/Root [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][Jun 21 10:21] term/CVS/Repository [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][Jun 21 10:21] term/CVS/Entries [Fri Mar 18 17:38:37 2005][Tue Jun 21 10:21:12 2005][Mar 18 17:38] term/Makefile.pl [Thu Mar 31 10:02:10 2005][Tue Jun 21 10:21:12 2005][Mar 31 10:02] term/Makefile.py [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][Jun 21 10:21] term/.cvsignore [Tue Apr 26 13:27:51 2005][Tue Jun 21 10:21:12 2005][Apr 26 13:27] term/_link_cycle_hack_term.c [Tue Apr 12 07:11:10 2005][Tue Jun 21 10:21:12 2005][Apr 12 07:11] term/_link_cycle_hack_term.h [Mon Apr 11 13:59:08 2005][Tue Jun 21 10:21:12 2005][Apr 11 13:59] term/main.cc Press <s> to perform second scan > s === after === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][directory! ] term [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][directory! ] term/CVS [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][Jun 21 10:21] term/CVS/Root [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][Jun 21 10:21] term/CVS/Repository [Tue Jun 21 10:25:20 2005][Tue Jun 21 10:25:20 2005][Jun 21 10:25] term/CVS/Entries [Fri Mar 18 17:38:37 2005][Tue Jun 21 10:25:20 2005][Mar 18 17:38] term/Makefile.pl [Thu Mar 31 10:02:10 2005][Tue Jun 21 10:21:12 2005][Mar 31 10:02] term/Makefile.py [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][Jun 21 10:21] term/.cvsignore [Tue Apr 26 13:27:51 2005][Tue Jun 21 10:25:20 2005][Apr 26 13:27] term/_link_cycle_hack_term.c [Tue Apr 12 07:11:10 2005][Tue Jun 21 10:21:12 2005][Apr 12 07:11] term/_link_cycle_hack_term.h [Mon Apr 11 13:59:08 2005][Tue Jun 21 10:21:12 2005][Apr 11 13:59] term/main.cc === diffs === Object: term/CVS/Entries mtime:[Tue Jun 21 10:21:12 2005] -> [Tue Jun 21 10:25:20 2005] ctime:[Tue Jun 21 10:21:12 2005] -> [Tue Jun 21 10:25:20 2005] ll:[Jun 21 10:21 ] -> [Jun 21 10:25 ] Object: term/Makefile.pl ctime:[Tue Jun 21 10:21:12 2005] -> [Tue Jun 21 10:25:20 2005] Object: term/_link_cycle_hack_term.c ctime:[Tue Jun 21 10:21:12 2005] -> [Tue Jun 21 10:25:20 2005] Diff-Output Common subdirectories: term.before/CVS and term.after/CVS diff -r term.before/CVS/Entries term.after/CVS/Entries 1c1 < /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:37 2005// --- > /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:36 2005// 3c3 < /_link_cycle_hack_term.c/1.5/Tue Apr 26 11:27:51 2005// --- > /_link_cycle_hack_term.c/1.5/Tue Apr 26 11:27:50 2005// 6d5 < D % === Comandline Output inside eclipse Should i get more information on updating directory term. This output was already generated before (activated Preferences->CVS->General->Display detailed protocol output (for debugging purposes)). .options with debug information as described in cvs-faq is found on startup. *** cvs -r version Concurrent Versions System (CVS) 1.11.17 (client/server) ok (took 0:00.280) *** *** cvs -r update -d -P "/ECLIPSE_TEST-net/term" cvs update: Updating term ok (took 0:00.872) *** === Output-Console Install location: file:/c:/Programme/eclipse/eclipse/ Configuration file: file:/c:/Programme/eclipse/eclipse/configuration/config.ini loaded Configuration location: file:/c:/Programme/eclipse/eclipse/configuration/ Framework located: file:/c:/Programme/eclipse/eclipse/plugins/org.eclipse.osgi_3.1.0.jar Framework classpath: file:/c:/Programme/eclipse/eclipse/plugins/org.eclipse.osgi_3.1.0.jar Splash location: c:\Programme\eclipse\eclipse\plugins\org.eclipse.platform_3.1.0\splash.bmp runCommand: <C:\Programme\eclipse\eclipse\eclipse.exe><-name><Eclipse><-showsplash><600> <c:\Programme\eclipse\eclipse\plugins\org.eclipse.platform_3.1.0\splash.bmp> Debug options: file:/C:/Programme/eclipse/eclipse/.options loaded Time to load bundles: 40 Starting application: 811 !SESSION 2005-06-21 10:23:03.699 ----------------------------------------------- eclipse.buildId=I20050610-1757 java.version=1.4.2_06 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE Command-line arguments: -os win32 -ws win32 -arch x86 -data C:\Programme\eclips e\ws.user -debug -consolelog !ENTRY org.eclipse.ui 2 0 2005-06-21 10:23:05.362 !MESSAGE Warnings while parsing the key bindings from the 'org.eclipse.ui.comman ds' extension point !SUBENTRY 1 org.eclipse.ui 2 0 2005-06-21 10:23:05.362 !MESSAGE Cannot bind to an undefined command: plug-in='ViPluginEclipseLayer', co mmandId='com.mbartl.viplugineclipse.actions.SwitchToCommand'. !ENTRY org.eclipse.ui.ide 4 4 2005-06-21 10:23:24.483 !MESSAGE Problems occurred opening the selected resources. !SUBENTRY 1 org.eclipse.core.resources 4 567 2005-06-21 10:23:24.543 !MESSAGE The project description file (.project) for ECLIPSE_TEST-net is missing . This file contains important information about the project. The project will not function properly until this file is restored. I LOVE YOU Valid-responses ok error M E Checked-in Valid-requests Template Set-sticky MT Cl ear-static-directory Module-expansion Set-static-directory Clear-sticky New-entr y Merged Removed Updated Remove-entry Update-existing Copy-file Created Notified Mod-time valid-requests Valid-requests Root Valid-responses valid-requests Repository Directory Max-dotd ot Static-directory Sticky Entry Kopt Checkin-time Modified Is-modified UseUncha nged Unchanged Notify Questionable Argument Argumentx Global_option Gzip-stream wrapper-sendme-rcsOptions Set Gssapi-authenticate expand-modules ci co update di ff log rlog add remove update-patches gzip-file-contents status rdiff tag rtag i mport admin export history release watch-on watch-off watch-add watch-remove wat chers editors init annotate rannotate noop version ok Root /cvsroot gzip-file-contents 9 CMD> cvs -r version Global_option -r version M Concurrent Versions System (CVS) 1.11.17 (client/server) ok RESULT> Status OK: org.eclipse.team.cvs.core code=0 ok null CMD> cvs -r update -d -P "/ECLIPSE_TEST-net/term" Global_option -r Argument -d Argument -P Directory term /cvsroot/ECLIPSE_TEST/llr/src/term Entry /Makefile.pl/1.1.1.1/// Modified Makefile.pl u=rw,g=rw,o=r z646 Entry /Makefile.py/1.2/// Unchanged Makefile.py Entry /_link_cycle_hack_term.c/1.5/// Modified _link_cycle_hack_term.c u=rw,g=rw,o=r z161 Entry /_link_cycle_hack_term.h/1.2/// Unchanged _link_cycle_hack_term.h Entry /main.cc/1.4/// Unchanged main.cc Argument term Directory . /cvsroot/ECLIPSE_TEST/llr/src update Clear-static-directory term/ /cvsroot/ECLIPSE_TEST/llr/src/term/ E cvs update: Updating term Checked-in term/ /cvsroot/ECLIPSE_TEST/llr/src/term/Makefile.pl /Makefile.pl/1.1.1.1/// Checked-in term/ /cvsroot/ECLIPSE_TEST/llr/src/term/_link_cycle_hack_term.c /_link_cycle_hack_term.c/1.5/// ok RESULT> Status OK: org.eclipse.team.cvs.core code=0 ok null
Sorry, information was generated twice #24 + #25.
Here's the rest to all examples in rep#22. Dieter ######################################## In this directory newtrans.ml and prm.ml are not dirty. Differences here between 1s, 1h or both (Makefile.py) % ~/tmp/watchdir/watchdir.pl language Dir to check: language Legend: mtime ... last modification time ctime ... last file status change time ll ... extracted time out of ll output ~ mtime Press <s> to start scan of dir > s === before === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][directory! ] language [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][directory! ] language/CVS [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][Jun 21 10:21] language/CVS/Root [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][Jun 21 10:21] language/CVS/Repository [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][Jun 21 10:21] language/CVS/Entries [Fri Mar 18 17:38:34 2005][Tue Jun 21 10:21:11 2005][Mar 18 17:38] language/GenNewTranslation [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][Jun 21 10:21] language/.cvsignore [Thu Jun 16 17:31:02 2005][Tue Jun 21 10:21:12 2005][Jun 16 17:31] language/prm.ml [Fri Mar 18 17:38:34 2005][Tue Jun 21 10:21:11 2005][Mar 18 17:38] language/GetMlMFromMenuTitle.pl [Fri Mar 18 17:38:34 2005][Tue Jun 21 10:21:11 2005][Mar 18 17:38] language/Makefile.pl [Wed Mar 23 16:58:33 2005][Tue Jun 21 10:21:11 2005][Mar 23 16:58] language/Makefile.py [Fri Mar 18 17:38:34 2005][Tue Jun 21 10:21:11 2005][Mar 18 17:38] language/collect_ml.pl [Fri Mar 18 17:38:36 2005][Tue Jun 21 10:21:11 2005][Mar 18 17:38] language/fmtree.ml [Fri Mar 18 17:38:36 2005][Tue Jun 21 10:21:11 2005][Mar 18 17:38] language/languages.pl [Fri Apr 22 10:01:14 2005][Tue Jun 21 10:21:12 2005][Apr 22 10:01] language/newtrans.ml Press <s> to perform second scan > s === after === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][directory! ] language [Tue Jun 21 10:21:12 2005][Tue Jun 21 10:21:12 2005][directory! ] language/CVS [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][Jun 21 10:21] language/CVS/Root [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][Jun 21 10:21] language/CVS/Repository [Tue Jun 21 10:59:58 2005][Tue Jun 21 10:59:58 2005][Jun 21 10:59] language/CVS/Entries [Fri Mar 18 17:38:34 2005][Tue Jun 21 10:59:57 2005][Mar 18 17:38] language/GenNewTranslation [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][Jun 21 10:21] language/.cvsignore [Thu Jun 16 17:31:02 2005][Tue Jun 21 10:21:12 2005][Jun 16 17:31] language/prm.ml [Fri Mar 18 17:38:34 2005][Tue Jun 21 10:59:57 2005][Mar 18 17:38] language/GetMlMFromMenuTitle.pl [Fri Mar 18 17:38:34 2005][Tue Jun 21 10:59:57 2005][Mar 18 17:38] language/Makefile.pl [Wed Mar 23 16:58:33 2005][Tue Jun 21 10:59:57 2005][Mar 23 16:58] language/Makefile.py [Fri Mar 18 17:38:34 2005][Tue Jun 21 10:59:57 2005][Mar 18 17:38] language/collect_ml.pl [Fri Mar 18 17:38:36 2005][Tue Jun 21 10:59:57 2005][Mar 18 17:38] language/fmtree.ml [Fri Mar 18 17:38:36 2005][Tue Jun 21 10:59:57 2005][Mar 18 17:38] language/languages.pl [Fri Apr 22 10:01:14 2005][Tue Jun 21 10:21:12 2005][Apr 22 10:01] language/newtrans.ml === diffs === Object: language/CVS/Entries mtime:[Tue Jun 21 10:21:12 2005] -> [Tue Jun 21 10:59:58 2005] ctime:[Tue Jun 21 10:21:12 2005] -> [Tue Jun 21 10:59:58 2005] ll:[Jun 21 10:21 ] -> [Jun 21 10:59 ] Object: language/GenNewTranslation ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 10:59:57 2005] Object: language/GetMlMFromMenuTitle.pl ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 10:59:57 2005] Object: language/Makefile.pl ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 10:59:57 2005] Object: language/Makefile.py ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 10:59:57 2005] Object: language/collect_ml.pl ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 10:59:57 2005] Object: language/fmtree.ml ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 10:59:57 2005] Object: language/languages.pl ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 10:59:57 2005] Diff-Output Common subdirectories: language.before/CVS and language.after/CVS diff -r language.before/CVS/Entries language.after/CVS/Entries 1,7c1,7 < /GenNewTranslation/1.1.1.1/Fri Mar 18 16:38:34 2005// < /GetMlMFromMenuTitle.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// < /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// < /Makefile.py/1.2/Wed Mar 23 15:58:33 2005// < /collect_ml.pl/1.1.1.1/Fri Mar 18 16:38:34 2005// < /fmtree.ml/1.1.1.1/Fri Mar 18 16:38:36 2005// < /languages.pl/1.1.1.1/Fri Mar 18 16:38:36 2005// --- > /GenNewTranslation/1.1.1.1/Fri Mar 18 15:38:34 2005// > /GetMlMFromMenuTitle.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// > /Makefile.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// > /Makefile.py/1.2/Wed Mar 23 14:58:32 2005// > /collect_ml.pl/1.1.1.1/Fri Mar 18 15:38:34 2005// > /fmtree.ml/1.1.1.1/Fri Mar 18 15:38:36 2005// > /languages.pl/1.1.1.1/Fri Mar 18 15:38:36 2005// 10d9 < D % ######################################## Files (convProtInvProt.h, convRadioInvPar.h) are 'clean' after 'Clean Timestamps' In the Compare-View i can't see a difference (both files local/remote have the same revision) % ~/tmp/watchdir/watchdir.pl interface/ccm_conv/stocktake Dir to check: interface/ccm_conv/stocktake Legend: mtime ... last modification time ctime ... last file status change time ll ... extracted time out of ll output ~ mtime Press <s> to start scan of dir > s === before === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][directory! ] interface/ccm_conv/stocktake [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][directory! ] interface/ccm_conv/stocktake/CVS [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][Jun 21 10:21] interface/ccm_conv/stocktake/CVS/Root [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][Jun 21 10:21] interface/ccm_conv/stocktake/CVS/Repository [Tue Jun 21 11:02:52 2005][Tue Jun 21 11:02:52 2005][Jun 21 11:02] interface/ccm_conv/stocktake/CVS/Entries [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/Makefile.pl [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/Makefile.py [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][Jun 21 10:21] interface/ccm_conv/stocktake/.cvsignore [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseCreateSpontInPar.cc [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseCreateSpontInPar.h [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseStockMod.cc [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseStockMod.h [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseStockMove.cc [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseStockMove.h [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convProtInvProt.cc [Fri Mar 18 17:38:26 2005][Tue Jun 21 10:21:11 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convProtInvProt.h [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convRadioInvPar.cc [Fri Mar 18 17:38:26 2005][Tue Jun 21 10:21:11 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convRadioInvPar.h Press <s> to perform second scan > s === after === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][directory! ] interface/ccm_conv/stocktake [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][directory! ] interface/ccm_conv/stocktake/CVS [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][Jun 21 10:21] interface/ccm_conv/stocktake/CVS/Root [Tue Jun 21 10:21:11 2005][Tue Jun 21 10:21:11 2005][Jun 21 10:21] interface/ccm_conv/stocktake/CVS/Repository [Tue Jun 21 11:05:24 2005][Tue Jun 21 11:05:24 2005][Jun 21 11:05] interface/ccm_conv/stocktake/CVS/Entries [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/Makefile.pl [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/Makefile.py [Tue Jun 21 10:21:24 2005][Tue Jun 21 10:21:24 2005][Jun 21 10:21] interface/ccm_conv/stocktake/.cvsignore [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseCreateSpontInPar.cc [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseCreateSpontInPar.h [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseStockMod.cc [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseStockMod.h [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseStockMove.cc [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convBaseStockMove.h [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convProtInvProt.cc [Fri Mar 18 18:38:26 2005][Tue Jun 21 11:05:24 2005][Mar 18 18:38] interface/ccm_conv/stocktake/convProtInvProt.h [Fri Mar 18 17:38:26 2005][Tue Jun 21 11:02:52 2005][Mar 18 17:38] interface/ccm_conv/stocktake/convRadioInvPar.cc [Fri Mar 18 18:38:26 2005][Tue Jun 21 11:05:24 2005][Mar 18 18:38] interface/ccm_conv/stocktake/convRadioInvPar.h === diffs === Object: interface/ccm_conv/stocktake/CVS/Entries mtime:[Tue Jun 21 11:02:52 2005] -> [Tue Jun 21 11:05:24 2005] ctime:[Tue Jun 21 11:02:52 2005] -> [Tue Jun 21 11:05:24 2005] ll:[Jun 21 11:02 ] -> [Jun 21 11:05 ] Object: interface/ccm_conv/stocktake/convProtInvProt.h mtime:[Fri Mar 18 17:38:26 2005] -> [Fri Mar 18 18:38:26 2005] ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 11:05:24 2005] ll:[Mar 18 17:38 ] -> [Mar 18 18:38 ] Object: interface/ccm_conv/stocktake/convRadioInvPar.h mtime:[Fri Mar 18 17:38:26 2005] -> [Fri Mar 18 18:38:26 2005] ctime:[Tue Jun 21 10:21:11 2005] -> [Tue Jun 21 11:05:24 2005] ll:[Mar 18 17:38 ] -> [Mar 18 18:38 ] Diff-Output Common subdirectories: interface/ccm_conv/stocktake.before/CVS and interface/ccm_conv/stocktake.after/CVS % ######################################## The rest of the files/dirs that are remaining now get clean after deleting the directory (command line) an checking it out (Team->Update) again with eclipse. % ~/tmp/watchdir/watchdir.pl setup/touchapp/wamas_touch Dir to check: setup/touchapp/wamas_touch Legend: mtime ... last modification time ctime ... last file status change time ll ... extracted time out of ll output ~ mtime Press <s> to start scan of dir > s === before === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 11:13:28 2005][Tue Jun 21 11:13:28 2005][directory! ] setup/touchapp/wamas_touch [Tue Jun 21 11:13:14 2005][Tue Jun 21 11:13:14 2005][directory! ] setup/touchapp/wamas_touch/CVS [Tue Jun 21 11:13:36 2005][Tue Jun 21 11:13:36 2005][Jun 21 11:13] setup/touchapp/wamas_touch/CVS/Root [Tue Jun 21 11:13:36 2005][Tue Jun 21 11:13:36 2005][Jun 21 11:13] setup/touchapp/wamas_touch/CVS/Repository [Tue Jun 21 11:14:55 2005][Tue Jun 21 11:14:55 2005][Jun 21 11:14] setup/touchapp/wamas_touch/CVS/Entries [Fri Mar 18 17:38:37 2005][Tue Jun 21 11:14:43 2005][Mar 18 17:38] setup/touchapp/wamas_touch/wamas_service.bmp [Fri Mar 18 17:38:37 2005][Tue Jun 21 11:14:43 2005][Mar 18 17:38] setup/touchapp/wamas_touch/Makefile.py [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:14:55 2005][Mar 18 18:38] setup/touchapp/wamas_touch/dcc_full.ini [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:14:55 2005][Mar 18 18:38] setup/touchapp/wamas_touch/dcc_test.ini [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:14:55 2005][Mar 18 18:38] setup/touchapp/wamas_touch/wamas.bat [Fri Mar 18 17:38:37 2005][Tue Jun 21 11:14:43 2005][Mar 18 17:38] setup/touchapp/wamas_touch/wamas.ico [Tue Jun 21 11:13:28 2005][Tue Jun 21 11:13:28 2005][Jun 21 11:13] setup/touchapp/wamas_touch/.cvsignore Press <s> to perform second scan > s === after === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 11:16:47 2005][Tue Jun 21 11:16:47 2005][directory! ] setup/touchapp/wamas_touch [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:16:47 2005][Mar 18 18:38] setup/touchapp/wamas_touch/Makefile.py [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:16:47 2005][Mar 18 18:38] setup/touchapp/wamas_touch/dcc_full.ini [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:16:47 2005][Mar 18 18:38] setup/touchapp/wamas_touch/dcc_test.ini [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:16:47 2005][Mar 18 18:38] setup/touchapp/wamas_touch/wamas.bat [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:16:47 2005][Mar 18 18:38] setup/touchapp/wamas_touch/wamas.ico [Fri Mar 18 18:38:37 2005][Tue Jun 21 11:16:47 2005][Mar 18 18:38] setup/touchapp/wamas_touch/wamas_service.bmp [Tue Jun 21 11:16:47 2005][Tue Jun 21 11:16:47 2005][directory! ] setup/touchapp/wamas_touch/CVS [Tue Jun 21 11:16:47 2005][Tue Jun 21 11:16:47 2005][Jun 21 11:16] setup/touchapp/wamas_touch/CVS/Root [Tue Jun 21 11:16:47 2005][Tue Jun 21 11:16:47 2005][Jun 21 11:16] setup/touchapp/wamas_touch/CVS/Repository [Tue Jun 21 11:16:47 2005][Tue Jun 21 11:16:47 2005][Jun 21 11:16] setup/touchapp/wamas_touch/CVS/Entries === diffs === Object: setup/touchapp/wamas_touch mtime:[Tue Jun 21 11:13:28 2005] -> [Tue Jun 21 11:16:47 2005] ctime:[Tue Jun 21 11:13:28 2005] -> [Tue Jun 21 11:16:47 2005] Object: setup/touchapp/wamas_touch/.cvsignore mtime:[Tue Jun 21 11:13:28 2005] -> [] ctime:[Tue Jun 21 11:13:28 2005] -> [] ll:[Jun 21 11:13 ] -> [] Object: setup/touchapp/wamas_touch/CVS mtime:[Tue Jun 21 11:13:14 2005] -> [Tue Jun 21 11:16:47 2005] ctime:[Tue Jun 21 11:13:14 2005] -> [Tue Jun 21 11:16:47 2005] Object: setup/touchapp/wamas_touch/CVS/Entries mtime:[Tue Jun 21 11:14:55 2005] -> [Tue Jun 21 11:16:47 2005] ctime:[Tue Jun 21 11:14:55 2005] -> [Tue Jun 21 11:16:47 2005] ll:[Jun 21 11:14 ] -> [Jun 21 11:16 ] Object: setup/touchapp/wamas_touch/CVS/Repository mtime:[Tue Jun 21 11:13:36 2005] -> [Tue Jun 21 11:16:47 2005] ctime:[Tue Jun 21 11:13:36 2005] -> [Tue Jun 21 11:16:47 2005] ll:[Jun 21 11:13 ] -> [Jun 21 11:16 ] Object: setup/touchapp/wamas_touch/CVS/Root mtime:[Tue Jun 21 11:13:36 2005] -> [Tue Jun 21 11:16:47 2005] ctime:[Tue Jun 21 11:13:36 2005] -> [Tue Jun 21 11:16:47 2005] ll:[Jun 21 11:13 ] -> [Jun 21 11:16 ] Object: setup/touchapp/wamas_touch/Makefile.py mtime:[Fri Mar 18 17:38:37 2005] -> [Fri Mar 18 18:38:37 2005] ctime:[Tue Jun 21 11:14:43 2005] -> [Tue Jun 21 11:16:47 2005] ll:[Mar 18 17:38 ] -> [Mar 18 18:38 ] Object: setup/touchapp/wamas_touch/dcc_full.ini ctime:[Tue Jun 21 11:14:55 2005] -> [Tue Jun 21 11:16:47 2005] Object: setup/touchapp/wamas_touch/dcc_test.ini ctime:[Tue Jun 21 11:14:55 2005] -> [Tue Jun 21 11:16:47 2005] Object: setup/touchapp/wamas_touch/wamas.bat ctime:[Tue Jun 21 11:14:55 2005] -> [Tue Jun 21 11:16:47 2005] Object: setup/touchapp/wamas_touch/wamas.ico mtime:[Fri Mar 18 17:38:37 2005] -> [Fri Mar 18 18:38:37 2005] ctime:[Tue Jun 21 11:14:43 2005] -> [Tue Jun 21 11:16:47 2005] ll:[Mar 18 17:38 ] -> [Mar 18 18:38 ] Object: setup/touchapp/wamas_touch/wamas_service.bmp mtime:[Fri Mar 18 17:38:37 2005] -> [Fri Mar 18 18:38:37 2005] ctime:[Tue Jun 21 11:14:43 2005] -> [Tue Jun 21 11:16:47 2005] ll:[Mar 18 17:38 ] -> [Mar 18 18:38 ] Diff-Output Only in setup/touchapp/wamas_touch.before: .cvsignore Only in setup/touchapp/wamas_touch.after: CVS
Thanks but I wasn't quite clear enough in comment 23. Could you perform the tracing while doing a checkout? That will show me what timestamp is being sent from the server (you traced an update which didn't include the timestamp). Then, you can compare that with the timestamp of the file in the file system. They should be the same. If there not, that means that Eclipse is changing the timestamp. If they are the same, that means the CVS CLI may be changing the timestamp. You can trace the CLI by setting the CVS_CLIENT_LOG environment variable to the name of the file that is to contain the trace.
Performed now 2 checkouts of dir 'term'. 1) co with unix-cvs-client to unix filesystem 2) co with eclipse to unix filesystem (samba) I'm also adding the complete client logs and a part of this repository as attachment. --- Modification time is the same on both checkouts. 1) client log extract - unix cvs_client_log.unix:MT fname term/Makefile.pl cvs_client_log.unix:Mod-time 18 Mar 2005 16:38:37 -0000 cvs_client_log.unix:MT fname term/Makefile.py cvs_client_log.unix:Mod-time 31 Mar 2005 08:02:10 -0000 cvs_client_log.unix:MT fname term/_link_cycle_hack_term.c cvs_client_log.unix:Mod-time 26 Apr 2005 11:27:51 -0000 cvs_client_log.unix:MT fname term/_link_cycle_hack_term.h cvs_client_log.unix:Mod-time 12 Apr 2005 05:11:10 -0000 cvs_client_log.unix:MT fname term/main.cc cvs_client_log.unix:Mod-time 11 Apr 2005 11:59:08 -0000 2) client log extract - eclipse cvs_client_log.eclipse:MT fname Makefile.pl cvs_client_log.eclipse:Mod-time 18 Mar 2005 16:38:37 -0000 cvs_client_log.eclipse:MT fname Makefile.py cvs_client_log.eclipse:Mod-time 31 Mar 2005 08:02:10 -0000 cvs_client_log.eclipse:MT fname _link_cycle_hack_term.c cvs_client_log.eclipse:Mod-time 26 Apr 2005 11:27:51 -0000 cvs_client_log.eclipse:MT fname _link_cycle_hack_term.h cvs_client_log.eclipse:Mod-time 12 Apr 2005 05:11:10 -0000 cvs_client_log.eclipse:MT fname main.cc cvs_client_log.eclipse:Mod-time 11 Apr 2005 11:59:08 -0000 --- Here in Makefile.pl is already a different timestamp (Makefile.pl differs, link_cycle_hack.c is ok) between unix/eclipse (switch daylight saving 28.03.2005?) 1) === before === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 15:30:26 2005][Tue Jun 21 15:30:26 2005][directory! ] term [Tue Jun 21 15:30:26 2005][Tue Jun 21 15:30:26 2005][directory! ] term/CVS [Tue Jun 21 15:30:26 2005][Tue Jun 21 15:30:26 2005][Jun 21 15:30] term/CVS/Root [Tue Jun 21 15:30:26 2005][Tue Jun 21 15:30:26 2005][Jun 21 15:30] term/CVS/Repository [Tue Jun 21 15:30:26 2005][Tue Jun 21 15:30:26 2005][Jun 21 15:30] term/CVS/Entries [Fri Mar 18 17:38:37 2005][Tue Jun 21 15:30:26 2005][Mar 18 17:38] term/Makefile.pl [Thu Mar 31 10:02:10 2005][Tue Jun 21 15:30:26 2005][Mar 31 10:02] term/Makefile.py [Tue Apr 26 13:27:51 2005][Tue Jun 21 15:30:26 2005][Apr 26 13:27] term/_link_cycle_hack_term.c [Tue Apr 12 07:11:10 2005][Tue Jun 21 15:30:26 2005][Apr 12 07:11] term/_link_cycle_hack_term.h [Mon Apr 11 13:59:08 2005][Tue Jun 21 15:30:26 2005][Apr 11 13:59] term/main.cc 2) === before === [mtime ][ctime ][extract of l] object ... --- [Tue Jun 21 15:25:20 2005][Tue Jun 21 15:25:20 2005][directory! ] term [Fri Mar 18 18:38:37 2005][Tue Jun 21 15:25:20 2005][Mar 18 18:38] term/Makefile.pl [Thu Mar 31 10:02:10 2005][Tue Jun 21 15:25:20 2005][Mar 31 10:02] term/Makefile.py [Tue Apr 26 13:27:51 2005][Tue Jun 21 15:25:20 2005][Apr 26 13:27] term/_link_cycle_hack_term.c [Tue Apr 12 07:11:10 2005][Tue Jun 21 15:25:20 2005][Apr 12 07:11] term/_link_cycle_hack_term.h [Mon Apr 11 13:59:08 2005][Tue Jun 21 15:25:20 2005][Apr 11 13:59] term/main.cc [Tue Jun 21 15:25:20 2005][Tue Jun 21 15:25:20 2005][directory! ] term/CVS [Tue Jun 21 15:25:20 2005][Tue Jun 21 15:25:20 2005][Jun 21 15:25] term/CVS/Root [Tue Jun 21 15:25:20 2005][Tue Jun 21 15:25:20 2005][Jun 21 15:25] term/CVS/Repository [Tue Jun 21 15:25:20 2005][Tue Jun 21 15:25:20 2005][Jun 21 15:25] term/CVS/Entries --- The final diff of the CVS/Entries-File shows now: Eclipse did -1sec to both files. dieter@sasrvb [123]> diff -r UNIX_TEST/term ECLIPSE_TEST/term Only in term: .cdtproject Only in term: .project Common subdirectories: UNIX_TEST/term/CVS and ECLIPSE_TEST/term/CVS diff -r UNIX_TEST/term/CVS/Entries ECLIPSE_TEST/term/CVS/Entries 1c1 < /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:37 2005// --- > /Makefile.pl/1.1.1.1/Fri Mar 18 16:38:36 2005// 3c3 < /_link_cycle_hack_term.c/1.5/Tue Apr 26 11:27:51 2005// --- > /_link_cycle_hack_term.c/1.5/Tue Apr 26 11:27:50 2005// 6d5 < D
Created attachment 23638 [details] Client logs Eclipse/Unix
Created attachment 23639 [details] Repository with this effects
Good. Now we know that it is Eclipse that is modifying the timestamp. Unfortunately, Eclipse is just making use of Windows API to set the timestamp so it is actually Windows that is changing it.
Unfortunately, we won't have time to address this in 3.2.
Well it would be nice to get an explicit 'Clean Timestamps' back, since this was a workaround in Eclipse < 3.2.
In 3.2, the Clean Timestamp happens automatically when you Synchronize so there is no need for an explicit command.
Well I now that 'Clean Timestamps' should no happen automagically, but I am having the impression that it either: - does not take place - or if it does, it does not help with this problem Somehow the explicit 'Clean Timestamps' in 3.1 has a different effect than the automatic 'Clean Timestamps' in 3.2. In 3.2 how could I verify that 'Clean Timestamps' took place? Is there some log I could activate?
No, there is no log. If you do a synchronize in 3.2 and end up with a local resource whose contents match the base exactly as an outgoing change, then you should log a bug with the steps to reproduce. Keep in mid thought that the contents must match exactly including whitespace and line endings and the comparison is done with the base revision not the latest revision on the branch (unless they are the same revision).
As of now 'LATER' and 'REMIND' resolutions are no longer supported. Please reopen this bug if it is still valid for you.