@@ -92,13 +92,11 @@
92 92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob content;
93 93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
94 94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_bind_int(&ins, ":rid", rid);
95 95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_bind_int(&ins, ":isadd", rid==0);
96 96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_bind_int(&ins, ":isrm", deleted);
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #ifdef _WIN32
98 97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_bind_int(&ins, ":isexe", db_column_int(&q, 1));
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
100 98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_bind_text(&ins, ":orig", zOrig);
101 99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_bind_text(&ins, ":new", zName);
102 100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rid==0 ){
103 101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* A new file */
104 102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_read_from_file(&content, zPath);
@@ -175,10 +173,11 @@
175 173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
stashid
176 174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
177 175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( db_step(&q)==SQLITE_ROW ){
178 176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rid = db_column_int(&q, 0);
179 177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int isRemoved = db_column_int(&q, 1);
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isExec = db_column_int(&q, 2);
180 179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zOrig = db_column_text(&q, 3);
181 180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zNew = db_column_text(&q, 4);
182 181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zOPath = mprintf("%s%s", g.zLocalRoot, zOrig);
183 182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zNPath = mprintf("%s%s", g.zLocalRoot, zNew);
184 183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob delta;
@@ -185,10 +184,11 @@
185 184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
undo_save(zNew);
186 185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&delta);
187 186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rid==0 ){
188 187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_ephemeral_blob(&q, 5, &delta);
189 188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_write_to_file(&delta, zNPath);
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ file_setexe(zNPath, isExec);
190 190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("ADD %s\n", zNew);
191 191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( isRemoved ){
192 192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("DELETE %s\n", zOrig);
193 193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
unlink(zOPath);
194 194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
@@ -197,14 +197,16 @@
197 197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_read_from_file(&disk, zOPath);
198 198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
content_get(rid, &a);
199 199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_delta_apply(&a, &delta, &b);
200 200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( blob_compare(&disk, &a)==0 ){
201 201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_write_to_file(&b, zNPath);
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ file_setexe(zNPath, isExec);
202 203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("UPDATE %s\n", zNew);
203 204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
204 205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = merge_3way(&a, zOPath, &b, &out);
205 206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_write_to_file(&out, zNPath);
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ file_setexe(zNPath, isExec);
206 208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ){
207 209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("CONFLICT %s\n", zNew);
208 210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nConflict++;
209 211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
210 212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("MERGE %s\n", zNew);
211 213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!