Fossil SCM

Make "fossil add" work when vid=0 (empty check-out). This makes it possible to create initial non-empty check-ins by doing a "fossil add" before the first "fossil commit"

jan.nijtmans 2014-02-18 08:35 trunk
Commit 636982a5641dde7310ad31bd3f80418e8c82ba5e
1 file changed +3 -3
+3 -3
--- src/vfile.c
+++ src/vfile.c
@@ -704,11 +704,11 @@
704704
const char *zOrigName = db_column_text(&q, 2);
705705
char zBuf[100];
706706
Blob file;
707707
708708
if( zOrigName ) zName = zOrigName;
709
- if( rid>0 ){
709
+ if( rid>0 || vid==0 ){
710710
md5sum_step_text(zName, -1);
711711
blob_zero(&file);
712712
content_get(rid, &file);
713713
sqlite3_snprintf(sizeof(zBuf), zBuf, " %d\n", blob_size(&file));
714714
md5sum_step_text(zBuf, -1);
@@ -813,13 +813,13 @@
813813
db_must_be_within_tree();
814814
815815
db_prepare(&q, "SELECT pathname, origname, rid, is_selected(id)"
816816
" FROM vfile"
817817
" WHERE (NOT deleted OR NOT is_selected(id))"
818
- " AND rid>0 AND vid=%d"
818
+ " %s AND vid=%d"
819819
" ORDER BY if_selected(id,pathname,origname) /*scan*/",
820
- vid);
820
+ (vid ? "AND rid>0" : ""), vid);
821821
blob_zero(&file);
822822
md5sum_init();
823823
while( db_step(&q)==SQLITE_ROW ){
824824
const char *zName = db_column_text(&q, 0);
825825
const char *zOrigName = db_column_text(&q, 1);
826826
--- src/vfile.c
+++ src/vfile.c
@@ -704,11 +704,11 @@
704 const char *zOrigName = db_column_text(&q, 2);
705 char zBuf[100];
706 Blob file;
707
708 if( zOrigName ) zName = zOrigName;
709 if( rid>0 ){
710 md5sum_step_text(zName, -1);
711 blob_zero(&file);
712 content_get(rid, &file);
713 sqlite3_snprintf(sizeof(zBuf), zBuf, " %d\n", blob_size(&file));
714 md5sum_step_text(zBuf, -1);
@@ -813,13 +813,13 @@
813 db_must_be_within_tree();
814
815 db_prepare(&q, "SELECT pathname, origname, rid, is_selected(id)"
816 " FROM vfile"
817 " WHERE (NOT deleted OR NOT is_selected(id))"
818 " AND rid>0 AND vid=%d"
819 " ORDER BY if_selected(id,pathname,origname) /*scan*/",
820 vid);
821 blob_zero(&file);
822 md5sum_init();
823 while( db_step(&q)==SQLITE_ROW ){
824 const char *zName = db_column_text(&q, 0);
825 const char *zOrigName = db_column_text(&q, 1);
826
--- src/vfile.c
+++ src/vfile.c
@@ -704,11 +704,11 @@
704 const char *zOrigName = db_column_text(&q, 2);
705 char zBuf[100];
706 Blob file;
707
708 if( zOrigName ) zName = zOrigName;
709 if( rid>0 || vid==0 ){
710 md5sum_step_text(zName, -1);
711 blob_zero(&file);
712 content_get(rid, &file);
713 sqlite3_snprintf(sizeof(zBuf), zBuf, " %d\n", blob_size(&file));
714 md5sum_step_text(zBuf, -1);
@@ -813,13 +813,13 @@
813 db_must_be_within_tree();
814
815 db_prepare(&q, "SELECT pathname, origname, rid, is_selected(id)"
816 " FROM vfile"
817 " WHERE (NOT deleted OR NOT is_selected(id))"
818 " %s AND vid=%d"
819 " ORDER BY if_selected(id,pathname,origname) /*scan*/",
820 (vid ? "AND rid>0" : ""), vid);
821 blob_zero(&file);
822 md5sum_init();
823 while( db_step(&q)==SQLITE_ROW ){
824 const char *zName = db_column_text(&q, 0);
825 const char *zOrigName = db_column_text(&q, 1);
826

Keyboard Shortcuts

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