Fossil SCM

Fix operations by Cygwin fossil on a checkout done earlier by Win32 fossil.

jan.nijtmans 2013-07-24 08:14 trunk
Commit 340cee03ee310a3b8ff604f742a9734404dbd5e1
1 file changed +14 -2
+14 -2
--- src/db.c
+++ src/db.c
@@ -712,10 +712,16 @@
712712
LOCAL sqlite3 *db_open(const char *zDbName){
713713
int rc;
714714
const char *zVfs;
715715
sqlite3 *db;
716716
717
+#if defined(__CYGWIN__)
718
+ if( (fossil_isalpha(zDbName[0]) && zDbName[1]==':'
719
+ && (zDbName[2]=='\\' || zDbName[2]=='/')) ) {
720
+ zDbName = mprintf("/cygdrive/%c/%s", zDbName[0], zDbName+3);
721
+ }
722
+#endif
717723
if( g.fSqlTrace ) fossil_trace("-- sqlite3_open: [%s]\n", zDbName);
718724
zVfs = fossil_getenv("FOSSIL_VFS");
719725
rc = sqlite3_open_v2(
720726
zDbName, &db,
721727
SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE,
@@ -1020,13 +1026,19 @@
10201026
g.json.resultCode = FSL_JSON_E_DB_NOT_VALID;
10211027
#endif
10221028
fossil_panic("not a valid repository: %s", zDbName);
10231029
}
10241030
}
1025
- db_open_or_attach(zDbName, "repository", 0);
1026
- g.repositoryOpen = 1;
1031
+#if defined(__CYGWIN__)
1032
+ if( (fossil_isalpha(zDbName[0]) && zDbName[1]==':'
1033
+ && (zDbName[2]=='\\' || zDbName[2]=='/')) ) {
1034
+ g.zRepositoryName = mprintf("/cygdrive/%c/%s", zDbName[0], zDbName+3);
1035
+ } else
1036
+#endif
10271037
g.zRepositoryName = mprintf("%s", zDbName);
1038
+ db_open_or_attach(g.zRepositoryName, "repository", 0);
1039
+ g.repositoryOpen = 1;
10281040
/* Cache "allow-symlinks" option, because we'll need it on every stat call */
10291041
g.allowSymlinks = db_get_boolean("allow-symlinks", 0);
10301042
}
10311043
10321044
/*
10331045
--- src/db.c
+++ src/db.c
@@ -712,10 +712,16 @@
712 LOCAL sqlite3 *db_open(const char *zDbName){
713 int rc;
714 const char *zVfs;
715 sqlite3 *db;
716
 
 
 
 
 
 
717 if( g.fSqlTrace ) fossil_trace("-- sqlite3_open: [%s]\n", zDbName);
718 zVfs = fossil_getenv("FOSSIL_VFS");
719 rc = sqlite3_open_v2(
720 zDbName, &db,
721 SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE,
@@ -1020,13 +1026,19 @@
1020 g.json.resultCode = FSL_JSON_E_DB_NOT_VALID;
1021 #endif
1022 fossil_panic("not a valid repository: %s", zDbName);
1023 }
1024 }
1025 db_open_or_attach(zDbName, "repository", 0);
1026 g.repositoryOpen = 1;
 
 
 
 
1027 g.zRepositoryName = mprintf("%s", zDbName);
 
 
1028 /* Cache "allow-symlinks" option, because we'll need it on every stat call */
1029 g.allowSymlinks = db_get_boolean("allow-symlinks", 0);
1030 }
1031
1032 /*
1033
--- src/db.c
+++ src/db.c
@@ -712,10 +712,16 @@
712 LOCAL sqlite3 *db_open(const char *zDbName){
713 int rc;
714 const char *zVfs;
715 sqlite3 *db;
716
717 #if defined(__CYGWIN__)
718 if( (fossil_isalpha(zDbName[0]) && zDbName[1]==':'
719 && (zDbName[2]=='\\' || zDbName[2]=='/')) ) {
720 zDbName = mprintf("/cygdrive/%c/%s", zDbName[0], zDbName+3);
721 }
722 #endif
723 if( g.fSqlTrace ) fossil_trace("-- sqlite3_open: [%s]\n", zDbName);
724 zVfs = fossil_getenv("FOSSIL_VFS");
725 rc = sqlite3_open_v2(
726 zDbName, &db,
727 SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE,
@@ -1020,13 +1026,19 @@
1026 g.json.resultCode = FSL_JSON_E_DB_NOT_VALID;
1027 #endif
1028 fossil_panic("not a valid repository: %s", zDbName);
1029 }
1030 }
1031 #if defined(__CYGWIN__)
1032 if( (fossil_isalpha(zDbName[0]) && zDbName[1]==':'
1033 && (zDbName[2]=='\\' || zDbName[2]=='/')) ) {
1034 g.zRepositoryName = mprintf("/cygdrive/%c/%s", zDbName[0], zDbName+3);
1035 } else
1036 #endif
1037 g.zRepositoryName = mprintf("%s", zDbName);
1038 db_open_or_attach(g.zRepositoryName, "repository", 0);
1039 g.repositoryOpen = 1;
1040 /* Cache "allow-symlinks" option, because we'll need it on every stat call */
1041 g.allowSymlinks = db_get_boolean("allow-symlinks", 0);
1042 }
1043
1044 /*
1045

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button