@@ -85,25 +85,40 @@
85 85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
86 86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
87 87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
88 88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Initialize pContent to be the content of an unversioned file zName.
89 89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Return 0 on success. Return 1 if zName is not found.
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Return 0 on failures.
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Return 1 if the file is found by name.
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Return 2 if the file is found by hash.
91 93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
92 94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int unversioned_content(const char *zName, Blob *pContent){
93 95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q;
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int rc = 1;
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int rc = 0;
95 97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(pContent, 0, 0);
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&q, "SELECT encoding, content FROM unversioned WHERE name=%Q", zName);
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_prepare(&q, "SELECT encoding, content FROM unversioned WHERE name=%Q",
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zName);
97 100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( db_step(&q)==SQLITE_ROW ){
98 101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_column_blob(&q, 1, pContent);
99 102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( db_column_int(&q, 0)==1 ){
100 103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_uncompress(pContent, pContent);
101 104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = 0;
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = 1;
103 106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
104 107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rc==0 && validate16(zName,-1) ){
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_prepare(&q, "SELECT encoding, content FROM unversioned WHERE hash=%Q",
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zName);
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( db_step(&q)==SQLITE_ROW ){
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_column_blob(&q, 1, pContent);
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( db_column_int(&q, 0)==1 ){
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_uncompress(pContent, pContent);
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = 2;
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_finalize(&q);
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
105 120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
106 121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
107 122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
108 123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
109 124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Write unversioned content into the database.
@@ -328,11 +343,11 @@
328 343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
329 344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
verify_all_options();
330 345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
331 346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=3; i<g.argc; i++){
332 347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob content;
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( unversioned_content(g.argv[i], &content)==0 ){
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( unversioned_content(g.argv[i], &content)!=0 ){
334 349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_write_to_file(&content, "-");
335 350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
336 351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&content);
337 352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
338 353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
@@ -352,11 +367,11 @@
352 367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
353 368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTFile = fossil_temp_filename();
354 369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zTFile==0 ) fossil_fatal("cannot find a temporary filename");
355 370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
356 371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
content_rcvid_init("#!fossil unversioned edit");
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( unversioned_content(zUVFile, &content) ){
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( unversioned_content(zUVFile, &content)==0 ){
358 373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("no such uv-file: %Q", zUVFile);
359 374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
360 375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( looks_like_binary(&content) ){
361 376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("cannot edit binary content");
362 377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -381,11 +396,11 @@
381 396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&content);
382 397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( memcmp(zCmd, "export", nCmd)==0 ){
383 398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob content;
384 399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
verify_all_options();
385 400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc!=5 ) usage("export UVFILE OUTPUT");
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( unversioned_content(g.argv[3], &content) ){
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( unversioned_content(g.argv[3], &content)==0 ){
387 402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("no such uv-file: %Q", g.argv[3]);
388 403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
389 404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_write_to_file(&content, g.argv[4]);
390 405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&content);
391 406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( memcmp(zCmd, "hash", nCmd)==0 ){ /* undocumented */
392 407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!