Fossil SCM

For the merge command, skip calls into the 'undo' subsystem when the -n (dry-run) flag is used.

mistachkin 2015-07-15 18:47 trunk
Commit 91ee04cf2718a476a779a06a3a98479fda9a711a
1 file changed +5 -5
+5 -5
--- src/merge.c
+++ src/merge.c
@@ -592,11 +592,11 @@
592592
}
593593
if( islinkv || islinkm /* || file_wd_islink(zFullPath) */ ){
594594
fossil_print("***** Cannot merge symlink %s\n", zName);
595595
nConflict++;
596596
}else{
597
- undo_save(zName);
597
+ if( !dryRunFlag ) undo_save(zName);
598598
zFullPath = mprintf("%s/%s", g.zLocalRoot, zName);
599599
content_get(ridp, &p);
600600
content_get(ridm, &m);
601601
if( isBinary ){
602602
rc = -1;
@@ -643,11 +643,11 @@
643643
fossil_print("DELETE %s\n", zName);
644644
if( chnged ){
645645
fossil_warning("WARNING: local edits lost for %s\n", zName);
646646
nConflict++;
647647
}
648
- undo_save(zName);
648
+ if( !dryRunFlag ) undo_save(zName);
649649
db_multi_exec(
650650
"UPDATE vfile SET deleted=1 WHERE id=%d", idv
651651
);
652652
if( !dryRunFlag ){
653653
char *zFullPath = mprintf("%s%s", g.zLocalRoot, zName);
@@ -669,12 +669,12 @@
669669
while( db_step(&q)==SQLITE_ROW ){
670670
int idv = db_column_int(&q, 0);
671671
const char *zOldName = db_column_text(&q, 1);
672672
const char *zNewName = db_column_text(&q, 2);
673673
fossil_print("RENAME %s -> %s\n", zOldName, zNewName);
674
- undo_save(zOldName);
675
- undo_save(zNewName);
674
+ if( !dryRunFlag ) undo_save(zOldName);
675
+ if( !dryRunFlag ) undo_save(zNewName);
676676
db_multi_exec(
677677
"UPDATE vfile SET pathname=%Q, origname=coalesce(origname,pathname)"
678678
" WHERE id=%d AND vid=%d", zNewName, idv, vid
679679
);
680680
if( !dryRunFlag ){
@@ -726,8 +726,8 @@
726726
}else if( integrateFlag ){
727727
db_multi_exec("INSERT OR IGNORE INTO vmerge(id,merge) VALUES(-4,%d)",mid);
728728
}else{
729729
db_multi_exec("INSERT OR IGNORE INTO vmerge(id,merge) VALUES(0,%d)", mid);
730730
}
731
- undo_finish();
731
+ if( !dryRunFlag ) undo_finish();
732732
db_end_transaction(dryRunFlag);
733733
}
734734
--- src/merge.c
+++ src/merge.c
@@ -592,11 +592,11 @@
592 }
593 if( islinkv || islinkm /* || file_wd_islink(zFullPath) */ ){
594 fossil_print("***** Cannot merge symlink %s\n", zName);
595 nConflict++;
596 }else{
597 undo_save(zName);
598 zFullPath = mprintf("%s/%s", g.zLocalRoot, zName);
599 content_get(ridp, &p);
600 content_get(ridm, &m);
601 if( isBinary ){
602 rc = -1;
@@ -643,11 +643,11 @@
643 fossil_print("DELETE %s\n", zName);
644 if( chnged ){
645 fossil_warning("WARNING: local edits lost for %s\n", zName);
646 nConflict++;
647 }
648 undo_save(zName);
649 db_multi_exec(
650 "UPDATE vfile SET deleted=1 WHERE id=%d", idv
651 );
652 if( !dryRunFlag ){
653 char *zFullPath = mprintf("%s%s", g.zLocalRoot, zName);
@@ -669,12 +669,12 @@
669 while( db_step(&q)==SQLITE_ROW ){
670 int idv = db_column_int(&q, 0);
671 const char *zOldName = db_column_text(&q, 1);
672 const char *zNewName = db_column_text(&q, 2);
673 fossil_print("RENAME %s -> %s\n", zOldName, zNewName);
674 undo_save(zOldName);
675 undo_save(zNewName);
676 db_multi_exec(
677 "UPDATE vfile SET pathname=%Q, origname=coalesce(origname,pathname)"
678 " WHERE id=%d AND vid=%d", zNewName, idv, vid
679 );
680 if( !dryRunFlag ){
@@ -726,8 +726,8 @@
726 }else if( integrateFlag ){
727 db_multi_exec("INSERT OR IGNORE INTO vmerge(id,merge) VALUES(-4,%d)",mid);
728 }else{
729 db_multi_exec("INSERT OR IGNORE INTO vmerge(id,merge) VALUES(0,%d)", mid);
730 }
731 undo_finish();
732 db_end_transaction(dryRunFlag);
733 }
734
--- src/merge.c
+++ src/merge.c
@@ -592,11 +592,11 @@
592 }
593 if( islinkv || islinkm /* || file_wd_islink(zFullPath) */ ){
594 fossil_print("***** Cannot merge symlink %s\n", zName);
595 nConflict++;
596 }else{
597 if( !dryRunFlag ) undo_save(zName);
598 zFullPath = mprintf("%s/%s", g.zLocalRoot, zName);
599 content_get(ridp, &p);
600 content_get(ridm, &m);
601 if( isBinary ){
602 rc = -1;
@@ -643,11 +643,11 @@
643 fossil_print("DELETE %s\n", zName);
644 if( chnged ){
645 fossil_warning("WARNING: local edits lost for %s\n", zName);
646 nConflict++;
647 }
648 if( !dryRunFlag ) undo_save(zName);
649 db_multi_exec(
650 "UPDATE vfile SET deleted=1 WHERE id=%d", idv
651 );
652 if( !dryRunFlag ){
653 char *zFullPath = mprintf("%s%s", g.zLocalRoot, zName);
@@ -669,12 +669,12 @@
669 while( db_step(&q)==SQLITE_ROW ){
670 int idv = db_column_int(&q, 0);
671 const char *zOldName = db_column_text(&q, 1);
672 const char *zNewName = db_column_text(&q, 2);
673 fossil_print("RENAME %s -> %s\n", zOldName, zNewName);
674 if( !dryRunFlag ) undo_save(zOldName);
675 if( !dryRunFlag ) undo_save(zNewName);
676 db_multi_exec(
677 "UPDATE vfile SET pathname=%Q, origname=coalesce(origname,pathname)"
678 " WHERE id=%d AND vid=%d", zNewName, idv, vid
679 );
680 if( !dryRunFlag ){
@@ -726,8 +726,8 @@
726 }else if( integrateFlag ){
727 db_multi_exec("INSERT OR IGNORE INTO vmerge(id,merge) VALUES(-4,%d)",mid);
728 }else{
729 db_multi_exec("INSERT OR IGNORE INTO vmerge(id,merge) VALUES(0,%d)", mid);
730 }
731 if( !dryRunFlag ) undo_finish();
732 db_end_transaction(dryRunFlag);
733 }
734

Keyboard Shortcuts

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