Fossil SCM

Fix --flat option

baruch 2014-11-04 10:36 svn-import
Commit 57fa3896f3b489cda51748e1ed834d2ebf1f2215
1 file changed +11 -5
+11 -5
--- src/import.c
+++ src/import.c
@@ -943,14 +943,18 @@
943943
}else{
944944
blob_append(&manifest, "C (no\\scomment)\n", 16);
945945
}
946946
blob_appendf(&manifest, "D %s\n", gsvn.zDate);
947947
nBaseFilter = blob_size(&gsvn.filter);
948
- if( strncmp(gsvn.zBranch, gsvn.zTrunk, gsvn.lenTrunk-1)==0 ){
949
- blob_appendf(&gsvn.filter, "%s*", gsvn.zTrunk);
948
+ if( !gsvn.flatFlag ){
949
+ if( strncmp(gsvn.zBranch, gsvn.zTrunk, gsvn.lenTrunk-1)==0 ){
950
+ blob_appendf(&gsvn.filter, "%s*", gsvn.zTrunk);
951
+ }else{
952
+ blob_appendf(&gsvn.filter, "%s%s/*", gsvn.zBranches, gsvn.zBranch);
953
+ }
950954
}else{
951
- blob_appendf(&gsvn.filter, "%s%s/*", gsvn.zBranches, gsvn.zBranch);
955
+ blob_append(&gsvn.filter, "*", 1);
952956
}
953957
db_bind_text(&qFiles, ":filter", blob_str(&gsvn.filter));
954958
nFilter = blob_size(&gsvn.filter)-1;
955959
while( db_step(&qFiles)==SQLITE_ROW ){
956960
const char *zFile = db_column_text(&qFiles, 0);
@@ -1169,11 +1173,10 @@
11691173
}
11701174
}else{
11711175
gsvn.zBranch = fossil_malloc(lenBranch+1);
11721176
memcpy(gsvn.zBranch, zTemp, lenBranch);
11731177
gsvn.zBranch[lenBranch] = '\0';
1174
- bHasFiles = 1;
11751178
}
11761179
}else
11771180
if( strncmp(zPath, gsvn.zTrunk, gsvn.lenTrunk)==0 ){
11781181
if( gsvn.zBranch!=0 ){
11791182
if( strncmp(gsvn.zTrunk, gsvn.zBranch, gsvn.lenTrunk-1)!=0 ){
@@ -1181,20 +1184,20 @@
11811184
}
11821185
}else{
11831186
gsvn.zBranch = fossil_malloc(gsvn.lenTrunk);
11841187
memcpy(gsvn.zBranch, gsvn.zTrunk, gsvn.lenTrunk-1);
11851188
gsvn.zBranch[gsvn.lenTrunk-1] = '\0';
1186
- bHasFiles = 1;
11871189
}
11881190
}
11891191
}
11901192
if( strncmp(zAction, "delete", 6)==0
11911193
|| strncmp(zAction, "replace", 7)==0 )
11921194
{
11931195
db_bind_text(&delPath, ":path", zPath);
11941196
db_step(&delPath);
11951197
db_reset(&delPath);
1198
+ bHasFiles = 1;
11961199
} /* no 'else' here since 'replace' does both a 'delete' and an 'add' */
11971200
if( strncmp(zAction, "add", 3)==0
11981201
|| strncmp(zAction, "replace", 7)==0 )
11991202
{
12001203
if( zKind==0 ){
@@ -1204,10 +1207,11 @@
12041207
db_bind_int(&cpyPath, ":srcrev", srcRev);
12051208
db_bind_text(&cpyPath, ":path", zPath);
12061209
db_bind_text(&cpyPath, ":srcpath", zSrcPath);
12071210
db_step(&cpyPath);
12081211
db_reset(&cpyPath);
1212
+ bHasFiles = 1;
12091213
if( !gsvn.flatFlag ){
12101214
if( strncmp(zPath, gsvn.zBranches, gsvn.lenBranches)==0 ){
12111215
zTemp = zPath+gsvn.lenBranches+strlen(gsvn.zBranch);
12121216
if( *zTemp==0 ){
12131217
gsvn.parent = srcRev;
@@ -1246,10 +1250,11 @@
12461250
db_bind_int(&addHist, ":rid", rid);
12471251
db_bind_text(&addHist, ":path", zPath);
12481252
db_bind_text(&addHist, ":perm", zPerm);
12491253
db_step(&addHist);
12501254
db_reset(&addHist);
1255
+ bHasFiles = 1;
12511256
}
12521257
}else
12531258
if( strncmp(zAction, "change", 6)==0 ){
12541259
int rid = 0;
12551260
if( zKind==0 ){
@@ -1270,10 +1275,11 @@
12701275
db_bind_int(&addHist, ":rid", rid);
12711276
db_bind_text(&addHist, ":path", zPath);
12721277
db_bind_text(&addHist, ":perm", zPerm);
12731278
db_step(&addHist);
12741279
db_reset(&addHist);
1280
+ bHasFiles = 1;
12751281
}else
12761282
if( strncmp(zAction, "delete", 6)!=0 ){ /* already did this above */
12771283
fossil_fatal("Unknown Node-action");
12781284
}
12791285
}else{
12801286
--- src/import.c
+++ src/import.c
@@ -943,14 +943,18 @@
943 }else{
944 blob_append(&manifest, "C (no\\scomment)\n", 16);
945 }
946 blob_appendf(&manifest, "D %s\n", gsvn.zDate);
947 nBaseFilter = blob_size(&gsvn.filter);
948 if( strncmp(gsvn.zBranch, gsvn.zTrunk, gsvn.lenTrunk-1)==0 ){
949 blob_appendf(&gsvn.filter, "%s*", gsvn.zTrunk);
 
 
 
 
950 }else{
951 blob_appendf(&gsvn.filter, "%s%s/*", gsvn.zBranches, gsvn.zBranch);
952 }
953 db_bind_text(&qFiles, ":filter", blob_str(&gsvn.filter));
954 nFilter = blob_size(&gsvn.filter)-1;
955 while( db_step(&qFiles)==SQLITE_ROW ){
956 const char *zFile = db_column_text(&qFiles, 0);
@@ -1169,11 +1173,10 @@
1169 }
1170 }else{
1171 gsvn.zBranch = fossil_malloc(lenBranch+1);
1172 memcpy(gsvn.zBranch, zTemp, lenBranch);
1173 gsvn.zBranch[lenBranch] = '\0';
1174 bHasFiles = 1;
1175 }
1176 }else
1177 if( strncmp(zPath, gsvn.zTrunk, gsvn.lenTrunk)==0 ){
1178 if( gsvn.zBranch!=0 ){
1179 if( strncmp(gsvn.zTrunk, gsvn.zBranch, gsvn.lenTrunk-1)!=0 ){
@@ -1181,20 +1184,20 @@
1181 }
1182 }else{
1183 gsvn.zBranch = fossil_malloc(gsvn.lenTrunk);
1184 memcpy(gsvn.zBranch, gsvn.zTrunk, gsvn.lenTrunk-1);
1185 gsvn.zBranch[gsvn.lenTrunk-1] = '\0';
1186 bHasFiles = 1;
1187 }
1188 }
1189 }
1190 if( strncmp(zAction, "delete", 6)==0
1191 || strncmp(zAction, "replace", 7)==0 )
1192 {
1193 db_bind_text(&delPath, ":path", zPath);
1194 db_step(&delPath);
1195 db_reset(&delPath);
 
1196 } /* no 'else' here since 'replace' does both a 'delete' and an 'add' */
1197 if( strncmp(zAction, "add", 3)==0
1198 || strncmp(zAction, "replace", 7)==0 )
1199 {
1200 if( zKind==0 ){
@@ -1204,10 +1207,11 @@
1204 db_bind_int(&cpyPath, ":srcrev", srcRev);
1205 db_bind_text(&cpyPath, ":path", zPath);
1206 db_bind_text(&cpyPath, ":srcpath", zSrcPath);
1207 db_step(&cpyPath);
1208 db_reset(&cpyPath);
 
1209 if( !gsvn.flatFlag ){
1210 if( strncmp(zPath, gsvn.zBranches, gsvn.lenBranches)==0 ){
1211 zTemp = zPath+gsvn.lenBranches+strlen(gsvn.zBranch);
1212 if( *zTemp==0 ){
1213 gsvn.parent = srcRev;
@@ -1246,10 +1250,11 @@
1246 db_bind_int(&addHist, ":rid", rid);
1247 db_bind_text(&addHist, ":path", zPath);
1248 db_bind_text(&addHist, ":perm", zPerm);
1249 db_step(&addHist);
1250 db_reset(&addHist);
 
1251 }
1252 }else
1253 if( strncmp(zAction, "change", 6)==0 ){
1254 int rid = 0;
1255 if( zKind==0 ){
@@ -1270,10 +1275,11 @@
1270 db_bind_int(&addHist, ":rid", rid);
1271 db_bind_text(&addHist, ":path", zPath);
1272 db_bind_text(&addHist, ":perm", zPerm);
1273 db_step(&addHist);
1274 db_reset(&addHist);
 
1275 }else
1276 if( strncmp(zAction, "delete", 6)!=0 ){ /* already did this above */
1277 fossil_fatal("Unknown Node-action");
1278 }
1279 }else{
1280
--- src/import.c
+++ src/import.c
@@ -943,14 +943,18 @@
943 }else{
944 blob_append(&manifest, "C (no\\scomment)\n", 16);
945 }
946 blob_appendf(&manifest, "D %s\n", gsvn.zDate);
947 nBaseFilter = blob_size(&gsvn.filter);
948 if( !gsvn.flatFlag ){
949 if( strncmp(gsvn.zBranch, gsvn.zTrunk, gsvn.lenTrunk-1)==0 ){
950 blob_appendf(&gsvn.filter, "%s*", gsvn.zTrunk);
951 }else{
952 blob_appendf(&gsvn.filter, "%s%s/*", gsvn.zBranches, gsvn.zBranch);
953 }
954 }else{
955 blob_append(&gsvn.filter, "*", 1);
956 }
957 db_bind_text(&qFiles, ":filter", blob_str(&gsvn.filter));
958 nFilter = blob_size(&gsvn.filter)-1;
959 while( db_step(&qFiles)==SQLITE_ROW ){
960 const char *zFile = db_column_text(&qFiles, 0);
@@ -1169,11 +1173,10 @@
1173 }
1174 }else{
1175 gsvn.zBranch = fossil_malloc(lenBranch+1);
1176 memcpy(gsvn.zBranch, zTemp, lenBranch);
1177 gsvn.zBranch[lenBranch] = '\0';
 
1178 }
1179 }else
1180 if( strncmp(zPath, gsvn.zTrunk, gsvn.lenTrunk)==0 ){
1181 if( gsvn.zBranch!=0 ){
1182 if( strncmp(gsvn.zTrunk, gsvn.zBranch, gsvn.lenTrunk-1)!=0 ){
@@ -1181,20 +1184,20 @@
1184 }
1185 }else{
1186 gsvn.zBranch = fossil_malloc(gsvn.lenTrunk);
1187 memcpy(gsvn.zBranch, gsvn.zTrunk, gsvn.lenTrunk-1);
1188 gsvn.zBranch[gsvn.lenTrunk-1] = '\0';
 
1189 }
1190 }
1191 }
1192 if( strncmp(zAction, "delete", 6)==0
1193 || strncmp(zAction, "replace", 7)==0 )
1194 {
1195 db_bind_text(&delPath, ":path", zPath);
1196 db_step(&delPath);
1197 db_reset(&delPath);
1198 bHasFiles = 1;
1199 } /* no 'else' here since 'replace' does both a 'delete' and an 'add' */
1200 if( strncmp(zAction, "add", 3)==0
1201 || strncmp(zAction, "replace", 7)==0 )
1202 {
1203 if( zKind==0 ){
@@ -1204,10 +1207,11 @@
1207 db_bind_int(&cpyPath, ":srcrev", srcRev);
1208 db_bind_text(&cpyPath, ":path", zPath);
1209 db_bind_text(&cpyPath, ":srcpath", zSrcPath);
1210 db_step(&cpyPath);
1211 db_reset(&cpyPath);
1212 bHasFiles = 1;
1213 if( !gsvn.flatFlag ){
1214 if( strncmp(zPath, gsvn.zBranches, gsvn.lenBranches)==0 ){
1215 zTemp = zPath+gsvn.lenBranches+strlen(gsvn.zBranch);
1216 if( *zTemp==0 ){
1217 gsvn.parent = srcRev;
@@ -1246,10 +1250,11 @@
1250 db_bind_int(&addHist, ":rid", rid);
1251 db_bind_text(&addHist, ":path", zPath);
1252 db_bind_text(&addHist, ":perm", zPerm);
1253 db_step(&addHist);
1254 db_reset(&addHist);
1255 bHasFiles = 1;
1256 }
1257 }else
1258 if( strncmp(zAction, "change", 6)==0 ){
1259 int rid = 0;
1260 if( zKind==0 ){
@@ -1270,10 +1275,11 @@
1275 db_bind_int(&addHist, ":rid", rid);
1276 db_bind_text(&addHist, ":path", zPath);
1277 db_bind_text(&addHist, ":perm", zPerm);
1278 db_step(&addHist);
1279 db_reset(&addHist);
1280 bHasFiles = 1;
1281 }else
1282 if( strncmp(zAction, "delete", 6)!=0 ){ /* already did this above */
1283 fossil_fatal("Unknown Node-action");
1284 }
1285 }else{
1286

Keyboard Shortcuts

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