Index: src/client.cpp =================================================================== RCS file: /cvs/cvsnt/src/client.c,v retrieving revision 1.84.2.141.6.114 diff -c -r1.84.2.141.6.114 client.cpp *** src/client.cpp 7 Jun 2012 07:24:59 -0000 1.84.2.141.6.114 --- src/client.cpp 25 Sep 2012 22:26:21 -0000 *************** *** 1276,1281 **** --- 1276,1289 ---- error (1, 0, "rename the directory and try again"); } + #ifdef _WIN32 + /* Mark case insensitive, if needed */ + if(!filenames_case_insensitive && dir && __case_sensitive()>1) + { + TRACE(3,"call_in_directory add_to_ci_directory_list(dir=%s)",PATCH_NULL(dir)); + add_to_ci_directory_list(dir); + } + #endif TRACE(3,"call_in_directory mkdir_if_needed(dir=%s)",PATCH_NULL(dir)); if (mkdir_if_needed (dir)) { Index: src/cvs.h =================================================================== RCS file: /cvs/cvsnt/src/cvs.h,v retrieving revision 1.93.2.208.6.42 diff -c -r1.93.2.208.6.42 cvs.h *** src/cvs.h 7 Jun 2012 07:24:59 -0000 1.93.2.208.6.42 --- src/cvs.h 25 Sep 2012 22:26:33 -0000 *************** *** 644,649 **** --- 644,650 ---- extern char server_rspline[255]; extern char server_features[255]; extern char server_numberlicenses[20]; + extern int default_ci; void Scratch_Entry (List *list, const char *fname); Index: src/main.cpp =================================================================== RCS file: /cvs/cvsnt/src/main.c,v retrieving revision 1.71.2.151.6.83 diff -c -r1.71.2.151.6.83 main.cpp *** src/main.cpp 20 Sep 2012 22:51:28 -0000 1.71.2.151.6.83 --- src/main.cpp 25 Sep 2012 22:26:20 -0000 *************** *** 94,99 **** --- 94,100 ---- int always_close_trig; unsigned int preferred_lsadll; unsigned int l_no_priv_ignore; + int default_ci=0; char global_session_id[GLOBAL_SESSION_ID_LENGTH]; /* Random session ID */ *************** *** 1159,1168 **** double_rename = 1; break; case 17: ! __set_case_sensitive(1); break; case 18: ! __set_case_sensitive(2); break; #endif #if defined(WIN32) --- 1160,1171 ---- double_rename = 1; break; case 17: ! // --cvsflt ! default_ci=1; break; case 18: ! // --autocvsflt ! default_ci=2; break; #endif #if defined(WIN32) Index: windows-NT/win32.cpp =================================================================== RCS file: /cvs/cvsnt/windows-NT/win32.c,v retrieving revision 1.72.2.150.6.54 diff -c -r1.72.2.150.6.54 win32.cpp *** windows-NT/win32.cpp 20 Sep 2012 22:51:28 -0000 1.72.2.150.6.54 --- windows-NT/win32.cpp 26 Sep 2012 05:55:21 -0000 *************** *** 1390,1397 **** /* By default we run case insensitive. This can be switched dynamically at server startup or if the client starts in a case sensitive directory */ ! TRACE(3,"By default we run case insensitive."); ! __set_case_sensitive(0); #ifdef SERVER_SUPPORT --- 1390,1407 ---- /* By default we run case insensitive. This can be switched dynamically at server startup or if the client starts in a case sensitive directory */ ! switch (default_ci) ! { ! case 0: ! TRACE(3,"By default we run case insensitive [cvsflt disabled]."); ! break; ! case 1: ! TRACE(3,"By default we run case sensitive [cvsflt enabled]."); ! break; ! default: ! TRACE(3,"By default we run case sensitive and add directories automatically [cvsflt enabled]."); ! } ! __set_case_sensitive(default_ci); #ifdef SERVER_SUPPORT *************** *** 6143,6149 **** #ifndef CVS95 if(CvsFilterIsOpen()) { ! TRACE(3,"add_to_ci_directory_list(%s)",dir); ci_directory_list_size++; ci_directory_list = (char**)xrealloc(ci_directory_list,sizeof(char*)*ci_directory_list_size); ci_directory_list[ci_directory_list_size-1]=xstrdup(dir); --- 6153,6159 ---- #ifndef CVS95 if(CvsFilterIsOpen()) { ! TRACE(3,"[cvsflt]add_to_ci_directory_list(%s)",dir); ci_directory_list_size++; ci_directory_list = (char**)xrealloc(ci_directory_list,sizeof(char*)*ci_directory_list_size); ci_directory_list[ci_directory_list_size-1]=xstrdup(dir); Index: windows-NT/posixdir/cvsflt/cvsflt.cpp =================================================================== RCS file: /cvs/cvsnt/windows-NT/posixdir/cvsflt/cvsflt.cpp,v retrieving revision 1.1.2.5.4.6 diff -c -r1.1.2.5.4.6 cvsflt.cpp *** windows-NT/posixdir/cvsflt/cvsflt.cpp 20 Sep 2012 22:07:02 -0000 1.1.2.5.4.6 --- windows-NT/posixdir/cvsflt/cvsflt.cpp 25 Sep 2012 22:04:33 -0000 *************** *** 206,211 **** --- 206,213 ---- } if (!dirfull) bRetExact=CvsAddPosixDirectoryIntW(dir,temp); + else + bRetExact=CvsAddPosixDirectoryIntW(dirfull,temp); // put the short version of the path into the posix directory list in the driver try