Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
I'd like to implement a better shell refresh algorithm for TortoiseCVS. Currently, after performing a CVS operation, we simply post an "F5" keystroke to the explorer window that TCVS was invoked from, which causes Window Explorer to refresh overlay icons and CVS column infos for all files visible. This has some drawbacks, e.g. F5 doesn't refresh the explorer tree, and other Explorer windows / applications don't get notified at all. I'd like to use "ShChangeNotify" instead to properly notify the Windows shell when it should refresh status information for a file. Now here comes the problem: If a CVS command changes the attributes of a local file (ctime, read-only flag etc.), Explorer will notice that by itself and refresh the file information automatically. The problem is when e.g. a "cvs update" changes only meta information in the CVS\Entries file, but doesn't touch the file itself. There are some cases when there isn't even any console output stating that meta information has been changed, for example: - When I change the sticky tag for a file using "cvs update", but the actual revision doesn't change - When I change the ctime of a file (TCVS will show it as "modified"), and do a "cvs update", CVS silently updates the timestamp in CVS\Entries, and therefore the TCVS status changes back to "unmodified", So what I would need is a list of all files for which CVS meta information has changed during a cvs operation - or even better a list of all files for which either meta information OR content OR file attributes have changed. Is there a way to obtain that, or any chance that this could be implemented in CVS? -Hartmut