Fossil SCM

Add -v|--verbose as alternative to "-l|--detail" everywhere. And "v=" and "verbose=" as alternative to the "detail=" URL parameter.

jan.nijtmans 2013-05-01 09:42 trunk
Commit 5214a2a8b894b7b62c0d433366446c2109ec666a
+5 -5
--- src/checkin.c
+++ src/checkin.c
@@ -149,28 +149,28 @@
149149
** --rel-paths Display pathnames relative to the current working
150150
** directory.
151151
** --sha1sum Verify file status using SHA1 hashing rather
152152
** than relying on file mtimes.
153153
** --header Identify the repository if there are changes
154
-** -v Say "(none)" if there are no changes
154
+** -v|--verbose Say "(none)" if there are no changes
155155
**
156156
** See also: extra, ls, status
157157
*/
158158
void changes_cmd(void){
159159
Blob report;
160160
int vid;
161161
int useSha1sum = find_option("sha1sum", 0, 0)!=0;
162162
int showHdr = find_option("header",0,0)!=0;
163
- int verbose = find_option("verbose","v",0)!=0;
163
+ int verboseFlag = find_option("verbose","v",0)!=0;
164164
int cwdRelative = 0;
165165
db_must_be_within_tree();
166166
cwdRelative = determine_cwd_relative_option();
167167
blob_zero(&report);
168168
vid = db_lget_int("checkout", 0);
169169
vfile_check_signature(vid, useSha1sum ? CKSIG_SHA1 : 0);
170170
status_report(&report, "", 0, cwdRelative);
171
- if( verbose && blob_size(&report)==0 ){
171
+ if( verboseFlag && blob_size(&report)==0 ){
172172
blob_append(&report, " (none)\n", -1);
173173
}
174174
if( showHdr && blob_size(&report)>0 ){
175175
fossil_print("Changes for %s at %s:\n", db_get("project-name","???"),
176176
g.zLocalRoot);
@@ -1125,13 +1125,13 @@
11251125
** --allow-older allow a commit older than its ancestor
11261126
** --baseline use a baseline manifest in the commit process
11271127
** --bgcolor COLOR apply COLOR to this one check-in only
11281128
** --branch NEW-BRANCH-NAME check in to this new branch
11291129
** --branchcolor COLOR apply given COLOR to the branch
1130
-** --comment|-m COMMENT-TEXT use COMMENT-TEXT as commit comment
11311130
** --delta use a delta manifest in the commit process
1132
-** --message-file|-M FILE read the commit comment from given file
1131
+** -m|--comment COMMENT-TEXT use COMMENT-TEXT as commit comment
1132
+** -M|--message-file FILE read the commit comment from given file
11331133
** --mimetype MIMETYPE mimetype of check-in comment
11341134
** -n|--dry-run If given, display instead of run actions
11351135
** --no-warnings omit all warnings about file contents
11361136
** --nosign do not attempt to sign this commit with gpg
11371137
** --private do not sync changes and their descendants
11381138
--- src/checkin.c
+++ src/checkin.c
@@ -149,28 +149,28 @@
149 ** --rel-paths Display pathnames relative to the current working
150 ** directory.
151 ** --sha1sum Verify file status using SHA1 hashing rather
152 ** than relying on file mtimes.
153 ** --header Identify the repository if there are changes
154 ** -v Say "(none)" if there are no changes
155 **
156 ** See also: extra, ls, status
157 */
158 void changes_cmd(void){
159 Blob report;
160 int vid;
161 int useSha1sum = find_option("sha1sum", 0, 0)!=0;
162 int showHdr = find_option("header",0,0)!=0;
163 int verbose = find_option("verbose","v",0)!=0;
164 int cwdRelative = 0;
165 db_must_be_within_tree();
166 cwdRelative = determine_cwd_relative_option();
167 blob_zero(&report);
168 vid = db_lget_int("checkout", 0);
169 vfile_check_signature(vid, useSha1sum ? CKSIG_SHA1 : 0);
170 status_report(&report, "", 0, cwdRelative);
171 if( verbose && blob_size(&report)==0 ){
172 blob_append(&report, " (none)\n", -1);
173 }
174 if( showHdr && blob_size(&report)>0 ){
175 fossil_print("Changes for %s at %s:\n", db_get("project-name","???"),
176 g.zLocalRoot);
@@ -1125,13 +1125,13 @@
1125 ** --allow-older allow a commit older than its ancestor
1126 ** --baseline use a baseline manifest in the commit process
1127 ** --bgcolor COLOR apply COLOR to this one check-in only
1128 ** --branch NEW-BRANCH-NAME check in to this new branch
1129 ** --branchcolor COLOR apply given COLOR to the branch
1130 ** --comment|-m COMMENT-TEXT use COMMENT-TEXT as commit comment
1131 ** --delta use a delta manifest in the commit process
1132 ** --message-file|-M FILE read the commit comment from given file
 
1133 ** --mimetype MIMETYPE mimetype of check-in comment
1134 ** -n|--dry-run If given, display instead of run actions
1135 ** --no-warnings omit all warnings about file contents
1136 ** --nosign do not attempt to sign this commit with gpg
1137 ** --private do not sync changes and their descendants
1138
--- src/checkin.c
+++ src/checkin.c
@@ -149,28 +149,28 @@
149 ** --rel-paths Display pathnames relative to the current working
150 ** directory.
151 ** --sha1sum Verify file status using SHA1 hashing rather
152 ** than relying on file mtimes.
153 ** --header Identify the repository if there are changes
154 ** -v|--verbose Say "(none)" if there are no changes
155 **
156 ** See also: extra, ls, status
157 */
158 void changes_cmd(void){
159 Blob report;
160 int vid;
161 int useSha1sum = find_option("sha1sum", 0, 0)!=0;
162 int showHdr = find_option("header",0,0)!=0;
163 int verboseFlag = find_option("verbose","v",0)!=0;
164 int cwdRelative = 0;
165 db_must_be_within_tree();
166 cwdRelative = determine_cwd_relative_option();
167 blob_zero(&report);
168 vid = db_lget_int("checkout", 0);
169 vfile_check_signature(vid, useSha1sum ? CKSIG_SHA1 : 0);
170 status_report(&report, "", 0, cwdRelative);
171 if( verboseFlag && blob_size(&report)==0 ){
172 blob_append(&report, " (none)\n", -1);
173 }
174 if( showHdr && blob_size(&report)>0 ){
175 fossil_print("Changes for %s at %s:\n", db_get("project-name","???"),
176 g.zLocalRoot);
@@ -1125,13 +1125,13 @@
1125 ** --allow-older allow a commit older than its ancestor
1126 ** --baseline use a baseline manifest in the commit process
1127 ** --bgcolor COLOR apply COLOR to this one check-in only
1128 ** --branch NEW-BRANCH-NAME check in to this new branch
1129 ** --branchcolor COLOR apply given COLOR to the branch
 
1130 ** --delta use a delta manifest in the commit process
1131 ** -m|--comment COMMENT-TEXT use COMMENT-TEXT as commit comment
1132 ** -M|--message-file FILE read the commit comment from given file
1133 ** --mimetype MIMETYPE mimetype of check-in comment
1134 ** -n|--dry-run If given, display instead of run actions
1135 ** --no-warnings omit all warnings about file contents
1136 ** --nosign do not attempt to sign this commit with gpg
1137 ** --private do not sync changes and their descendants
1138
+16 -8
--- src/event.c
+++ src/event.c
@@ -43,29 +43,30 @@
4343
** WEBPAGE: event
4444
** URL: /event
4545
** PARAMETERS:
4646
**
4747
** name=EVENTID // Identify the event to display EVENTID must be complete
48
-** detail=BOOLEAN // Show details if TRUE. Default is FALSE. Optional.
4948
** aid=ARTIFACTID // Which specific version of the event. Optional.
49
+** v=BOOLEAN // Show details if TRUE. Default is FALSE. Optional.
5050
**
5151
** Display an existing event identified by EVENTID
5252
*/
5353
void event_page(void){
5454
int rid = 0; /* rid of the event artifact */
5555
char *zUuid; /* UUID corresponding to rid */
5656
const char *zEventId; /* Event identifier */
57
+ const char *zVerbose; /* Value of verbose option */
5758
char *zETime; /* Time of the event */
5859
char *zATime; /* Time the artifact was created */
5960
int specRid; /* rid specified by aid= parameter */
6061
int prevRid, nextRid; /* Previous or next edits of this event */
6162
Manifest *pEvent; /* Parsed event artifact */
6263
Blob fullbody; /* Complete content of the event body */
6364
Blob title; /* Title extracted from the event body */
6465
Blob tail; /* Event body that comes after the title */
6566
Stmt q1; /* Query to search for the event */
66
- int showDetail; /* True to show details */
67
+ int verboseFlag; /* True to show details */
6768
6869
6970
/* wiki-read privilege is needed in order to read events.
7071
*/
7172
login_check_credentials();
@@ -101,11 +102,18 @@
101102
@ Cannot locate specified event
102103
style_footer();
103104
return;
104105
}
105106
zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
106
- showDetail = atoi(PD("detail","0"));
107
+ zVerbose = P("v");
108
+ if( !zVerbose ){
109
+ zVerbose = P("verbose");
110
+ }
111
+ if( !zVerbose ){
112
+ zVerbose = P("detail"); /* deprecated */
113
+ }
114
+ verboseFlag = (zVerbose!=0) && (*zVerbose!=0) && !is_false(zVerbose);
107115
108116
/* Extract the event content.
109117
*/
110118
pEvent = manifest_get(rid, CFTYPE_EVENT);
111119
if( pEvent==0 ){
@@ -124,37 +132,37 @@
124132
}
125133
zETime = db_text(0, "SELECT datetime(%.17g)", pEvent->rEventDate);
126134
style_submenu_element("Context", "Context", "%s/timeline?c=%T",
127135
g.zTop, zETime);
128136
if( g.perm.Hyperlink ){
129
- if( showDetail ){
137
+ if( verboseFlag ){
130138
style_submenu_element("Plain", "Plain", "%s/event?name=%s&aid=%s",
131139
g.zTop, zEventId, zUuid);
132140
if( nextRid ){
133141
char *zNext;
134142
zNext = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nextRid);
135143
style_submenu_element("Next", "Next",
136
- "%s/event?name=%s&aid=%s&detail=1",
144
+ "%s/event?name=%s&aid=%s&v=1",
137145
g.zTop, zEventId, zNext);
138146
free(zNext);
139147
}
140148
if( prevRid ){
141149
char *zPrev;
142150
zPrev = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", prevRid);
143151
style_submenu_element("Prev", "Prev",
144
- "%s/event?name=%s&aid=%s&detail=1",
152
+ "%s/event?name=%s&aid=%s&v=1",
145153
g.zTop, zEventId, zPrev);
146154
free(zPrev);
147155
}
148156
}else{
149157
style_submenu_element("Detail", "Detail",
150
- "%s/event?name=%s&aid=%s&detail=1",
158
+ "%s/event?name=%s&aid=%s&v=1",
151159
g.zTop, zEventId, zUuid);
152160
}
153161
}
154162
155
- if( showDetail && g.perm.Hyperlink ){
163
+ if( verboseFlag && g.perm.Hyperlink ){
156164
int i;
157165
const char *zClr = 0;
158166
Blob comment;
159167
160168
zATime = db_text(0, "SELECT datetime(%.17g)", pEvent->rDate);
161169
--- src/event.c
+++ src/event.c
@@ -43,29 +43,30 @@
43 ** WEBPAGE: event
44 ** URL: /event
45 ** PARAMETERS:
46 **
47 ** name=EVENTID // Identify the event to display EVENTID must be complete
48 ** detail=BOOLEAN // Show details if TRUE. Default is FALSE. Optional.
49 ** aid=ARTIFACTID // Which specific version of the event. Optional.
 
50 **
51 ** Display an existing event identified by EVENTID
52 */
53 void event_page(void){
54 int rid = 0; /* rid of the event artifact */
55 char *zUuid; /* UUID corresponding to rid */
56 const char *zEventId; /* Event identifier */
 
57 char *zETime; /* Time of the event */
58 char *zATime; /* Time the artifact was created */
59 int specRid; /* rid specified by aid= parameter */
60 int prevRid, nextRid; /* Previous or next edits of this event */
61 Manifest *pEvent; /* Parsed event artifact */
62 Blob fullbody; /* Complete content of the event body */
63 Blob title; /* Title extracted from the event body */
64 Blob tail; /* Event body that comes after the title */
65 Stmt q1; /* Query to search for the event */
66 int showDetail; /* True to show details */
67
68
69 /* wiki-read privilege is needed in order to read events.
70 */
71 login_check_credentials();
@@ -101,11 +102,18 @@
101 @ Cannot locate specified event
102 style_footer();
103 return;
104 }
105 zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
106 showDetail = atoi(PD("detail","0"));
 
 
 
 
 
 
 
107
108 /* Extract the event content.
109 */
110 pEvent = manifest_get(rid, CFTYPE_EVENT);
111 if( pEvent==0 ){
@@ -124,37 +132,37 @@
124 }
125 zETime = db_text(0, "SELECT datetime(%.17g)", pEvent->rEventDate);
126 style_submenu_element("Context", "Context", "%s/timeline?c=%T",
127 g.zTop, zETime);
128 if( g.perm.Hyperlink ){
129 if( showDetail ){
130 style_submenu_element("Plain", "Plain", "%s/event?name=%s&aid=%s",
131 g.zTop, zEventId, zUuid);
132 if( nextRid ){
133 char *zNext;
134 zNext = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nextRid);
135 style_submenu_element("Next", "Next",
136 "%s/event?name=%s&aid=%s&detail=1",
137 g.zTop, zEventId, zNext);
138 free(zNext);
139 }
140 if( prevRid ){
141 char *zPrev;
142 zPrev = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", prevRid);
143 style_submenu_element("Prev", "Prev",
144 "%s/event?name=%s&aid=%s&detail=1",
145 g.zTop, zEventId, zPrev);
146 free(zPrev);
147 }
148 }else{
149 style_submenu_element("Detail", "Detail",
150 "%s/event?name=%s&aid=%s&detail=1",
151 g.zTop, zEventId, zUuid);
152 }
153 }
154
155 if( showDetail && g.perm.Hyperlink ){
156 int i;
157 const char *zClr = 0;
158 Blob comment;
159
160 zATime = db_text(0, "SELECT datetime(%.17g)", pEvent->rDate);
161
--- src/event.c
+++ src/event.c
@@ -43,29 +43,30 @@
43 ** WEBPAGE: event
44 ** URL: /event
45 ** PARAMETERS:
46 **
47 ** name=EVENTID // Identify the event to display EVENTID must be complete
 
48 ** aid=ARTIFACTID // Which specific version of the event. Optional.
49 ** v=BOOLEAN // Show details if TRUE. Default is FALSE. Optional.
50 **
51 ** Display an existing event identified by EVENTID
52 */
53 void event_page(void){
54 int rid = 0; /* rid of the event artifact */
55 char *zUuid; /* UUID corresponding to rid */
56 const char *zEventId; /* Event identifier */
57 const char *zVerbose; /* Value of verbose option */
58 char *zETime; /* Time of the event */
59 char *zATime; /* Time the artifact was created */
60 int specRid; /* rid specified by aid= parameter */
61 int prevRid, nextRid; /* Previous or next edits of this event */
62 Manifest *pEvent; /* Parsed event artifact */
63 Blob fullbody; /* Complete content of the event body */
64 Blob title; /* Title extracted from the event body */
65 Blob tail; /* Event body that comes after the title */
66 Stmt q1; /* Query to search for the event */
67 int verboseFlag; /* True to show details */
68
69
70 /* wiki-read privilege is needed in order to read events.
71 */
72 login_check_credentials();
@@ -101,11 +102,18 @@
102 @ Cannot locate specified event
103 style_footer();
104 return;
105 }
106 zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
107 zVerbose = P("v");
108 if( !zVerbose ){
109 zVerbose = P("verbose");
110 }
111 if( !zVerbose ){
112 zVerbose = P("detail"); /* deprecated */
113 }
114 verboseFlag = (zVerbose!=0) && (*zVerbose!=0) && !is_false(zVerbose);
115
116 /* Extract the event content.
117 */
118 pEvent = manifest_get(rid, CFTYPE_EVENT);
119 if( pEvent==0 ){
@@ -124,37 +132,37 @@
132 }
133 zETime = db_text(0, "SELECT datetime(%.17g)", pEvent->rEventDate);
134 style_submenu_element("Context", "Context", "%s/timeline?c=%T",
135 g.zTop, zETime);
136 if( g.perm.Hyperlink ){
137 if( verboseFlag ){
138 style_submenu_element("Plain", "Plain", "%s/event?name=%s&aid=%s",
139 g.zTop, zEventId, zUuid);
140 if( nextRid ){
141 char *zNext;
142 zNext = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nextRid);
143 style_submenu_element("Next", "Next",
144 "%s/event?name=%s&aid=%s&v=1",
145 g.zTop, zEventId, zNext);
146 free(zNext);
147 }
148 if( prevRid ){
149 char *zPrev;
150 zPrev = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", prevRid);
151 style_submenu_element("Prev", "Prev",
152 "%s/event?name=%s&aid=%s&v=1",
153 g.zTop, zEventId, zPrev);
154 free(zPrev);
155 }
156 }else{
157 style_submenu_element("Detail", "Detail",
158 "%s/event?name=%s&aid=%s&v=1",
159 g.zTop, zEventId, zUuid);
160 }
161 }
162
163 if( verboseFlag && g.perm.Hyperlink ){
164 int i;
165 const char *zClr = 0;
166 Blob comment;
167
168 zATime = db_text(0, "SELECT datetime(%.17g)", pEvent->rDate);
169
+33 -22
--- src/info.c
+++ src/info.c
@@ -171,17 +171,20 @@
171171
** file in a checkout.
172172
**
173173
** Options:
174174
**
175175
** -R|--repository FILE Extract info from repository FILE
176
-** -l|--detail Show extra information
176
+** -v|--verbose Show extra information
177177
**
178178
** See also: annotate, artifact, finfo, timeline
179179
*/
180180
void info_cmd(void){
181181
i64 fsize;
182
- int bDetail = find_option("detail","l",0)!=0;
182
+ int verboseFlag = find_option("verbose","v",0)!=0;
183
+ if( !verboseFlag ){
184
+ verboseFlag = find_option("detail","l",0)!=0; /* deprecated */
185
+ }
183186
if( g.argc==3 && (fsize = file_size(g.argv[2]))>0 && (fsize&0x1ff)==0 ){
184187
db_open_config(0);
185188
db_record_repository_filename(g.argv[2]);
186189
db_open_repository(g.argv[2]);
187190
fossil_print("project-name: %s\n", db_get("project-name", "<unnamed>"));
@@ -197,11 +200,11 @@
197200
fossil_print("project-name: %s\n", db_get("project-name", "<unnamed>"));
198201
if( g.localOpen ){
199202
fossil_print("repository: %s\n", db_repository_filename());
200203
fossil_print("local-root: %s\n", g.zLocalRoot);
201204
}
202
- if( bDetail ) extraRepoInfo();
205
+ if( verboseFlag ) extraRepoInfo();
203206
if( g.zConfigDbName ){
204207
fossil_print("config-db: %s\n", g.zConfigDbName);
205208
}
206209
fossil_print("project-code: %s\n", db_get("project-code", ""));
207210
vid = g.localOpen ? db_lget_int("checkout", 0) : 0;
@@ -397,13 +400,13 @@
397400
398401
/*
399402
** Construct an appropriate diffFlag for text_diff() based on query
400403
** parameters and the to boolean arguments.
401404
*/
402
-u64 construct_diff_flags(int showDiff, int sideBySide){
405
+u64 construct_diff_flags(int verboseFlag, int sideBySide){
403406
u64 diffFlags;
404
- if( showDiff==0 ){
407
+ if( verboseFlag==0 ){
405408
diffFlags = 0; /* Zero means do not show any diff */
406409
}else{
407410
int x;
408411
if( sideBySide ){
409412
diffFlags = DIFF_SIDEBYSIDE | DIFF_IGNORE_EOLWS;
@@ -445,11 +448,11 @@
445448
*/
446449
void ci_page(void){
447450
Stmt q;
448451
int rid;
449452
int isLeaf;
450
- int showDiff; /* True to show diffs */
453
+ int verboseFlag; /* True to show diffs */
451454
int sideBySide; /* True for side-by-side diffs */
452455
u64 diffFlags; /* Flag parameter for text_diff() */
453456
const char *zName; /* Name of the checkin to be displayed */
454457
const char *zUuid; /* UUID of zName */
455458
const char *zParent; /* UUID of the parent checkin (if any) */
@@ -606,14 +609,14 @@
606609
db_finalize(&q);
607610
showTags(rid, "");
608611
if( zParent ){
609612
@ <div class="section">Changes</div>
610613
@ <div class="sectionmenu">
611
- showDiff = g.zPath[0]!='c';
614
+ verboseFlag = g.zPath[0]!='c';
612615
if( db_get_boolean("show-version-diffs", 0)==0 ){
613
- showDiff = !showDiff;
614
- if( showDiff ){
616
+ verboseFlag = !verboseFlag;
617
+ if( verboseFlag ){
615618
@ %z(xhref("class='button'","%R/vinfo/%T",zName))
616619
@ hide&nbsp;diffs</a>
617620
if( sideBySide ){
618621
@ %z(xhref("class='button'","%R/ci/%T?sbs=0",zName))
619622
@ unified&nbsp;diffs</a>
@@ -626,11 +629,11 @@
626629
@ show&nbsp;unified&nbsp;diffs</a>
627630
@ %z(xhref("class='button'","%R/ci/%T?sbs=1",zName))
628631
@ show&nbsp;side-by-side&nbsp;diffs</a>
629632
}
630633
}else{
631
- if( showDiff ){
634
+ if( verboseFlag ){
632635
@ %z(xhref("class='button'","%R/ci/%T",zName))hide&nbsp;diffs</a>
633636
if( sideBySide ){
634637
@ %z(xhref("class='button'","%R/info/%T?sbs=0",zName))
635638
@ unified&nbsp;diffs</a>
636639
}else{
@@ -661,11 +664,11 @@
661664
" AND (mlink.fid>0"
662665
" OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))"
663666
" ORDER BY name /*sort*/",
664667
rid, rid
665668
);
666
- diffFlags = construct_diff_flags(showDiff, sideBySide);
669
+ diffFlags = construct_diff_flags(verboseFlag, sideBySide);
667670
while( db_step(&q)==SQLITE_ROW ){
668671
const char *zName = db_column_text(&q,0);
669672
int mperm = db_column_int(&q, 1);
670673
const char *zOld = db_column_text(&q,2);
671674
const char *zNew = db_column_text(&q,3);
@@ -875,27 +878,28 @@
875878
** Query parameters:
876879
**
877880
** from=TAG
878881
** to=TAG
879882
** branch=TAG
880
-** detail=BOOLEAN
883
+** v=BOOLEAN
881884
** sbs=BOOLEAN
882885
**
883886
**
884887
** Show all differences between two checkins.
885888
*/
886889
void vdiff_page(void){
887890
int ridFrom, ridTo;
888
- int showDetail = 0;
891
+ int verboseFlag = 0;
889892
int sideBySide = 0;
890893
u64 diffFlags = 0;
891894
Manifest *pFrom, *pTo;
892895
ManifestFile *pFileFrom, *pFileTo;
893896
const char *zBranch;
894897
const char *zFrom;
895898
const char *zTo;
896899
const char *zRe;
900
+ const char *zVerbose;
897901
ReCompiled *pRe = 0;
898902
899903
login_check_credentials();
900904
if( !g.perm.Read ){ login_needed(); return; }
901905
login_anonymous_available();
@@ -910,26 +914,33 @@
910914
pTo = vdiff_parse_manifest("to", &ridTo);
911915
if( pTo==0 ) return;
912916
pFrom = vdiff_parse_manifest("from", &ridFrom);
913917
if( pFrom==0 ) return;
914918
sideBySide = atoi(PD("sbs","1"));
915
- showDetail = atoi(PD("detail","0"));
916
- if( !showDetail && sideBySide ) showDetail = 1;
919
+ zVerbose = P("v");
920
+ if( !zVerbose ){
921
+ zVerbose = P("verbose");
922
+ }
923
+ if( !zVerbose ){
924
+ zVerbose = P("detail"); /* deprecated */
925
+ }
926
+ verboseFlag = (zVerbose!=0) && (*zVerbose!=0) && !is_false(zVerbose);
927
+ if( !verboseFlag && sideBySide ) verboseFlag = 1;
917928
zFrom = P("from");
918929
zTo = P("to");
919930
if( !sideBySide ){
920931
style_submenu_element("Side-by-side Diff", "sbsdiff",
921
- "%R/vdiff?from=%T&to=%T&detail=%d&sbs=1",
922
- zFrom, zTo, showDetail);
932
+ "%R/vdiff?from=%T&to=%T%s&sbs=1",
933
+ zFrom, zTo, verboseFlag?"&v=1":"");
923934
}else{
924935
style_submenu_element("Unified Diff", "udiff",
925
- "%R/vdiff?from=%T&to=%T&detail=%d&sbs=0",
926
- zFrom, zTo, showDetail);
936
+ "%R/vdiff?from=%T&to=%T%s&sbs=0",
937
+ zFrom, zTo, verboseFlag?"&v=1":"");
927938
}
928939
style_submenu_element("Invert", "invert",
929
- "%R/vdiff?from=%T&to=%T&detail=%d&sbs=%d",
930
- zTo, zFrom, showDetail, sideBySide);
940
+ "%R/vdiff?from=%T&to=%T%s&sbs=%d",
941
+ zTo, zFrom, verboseFlag?"&v=1":"", sideBySide);
931942
style_header("Check-in Differences");
932943
@ <h2>Difference From:</h2><blockquote>
933944
checkin_description(ridFrom);
934945
@ </blockquote><h2>To:</h2><blockquote>
935946
checkin_description(ridTo);
@@ -942,11 +953,11 @@
942953
943954
manifest_file_rewind(pFrom);
944955
pFileFrom = manifest_file_next(pFrom, 0);
945956
manifest_file_rewind(pTo);
946957
pFileTo = manifest_file_next(pTo, 0);
947
- diffFlags = construct_diff_flags(showDetail, sideBySide);
958
+ diffFlags = construct_diff_flags(verboseFlag, sideBySide);
948959
while( pFileFrom || pFileTo ){
949960
int cmp;
950961
if( pFileFrom==0 ){
951962
cmp = +1;
952963
}else if( pFileTo==0 ){
953964
--- src/info.c
+++ src/info.c
@@ -171,17 +171,20 @@
171 ** file in a checkout.
172 **
173 ** Options:
174 **
175 ** -R|--repository FILE Extract info from repository FILE
176 ** -l|--detail Show extra information
177 **
178 ** See also: annotate, artifact, finfo, timeline
179 */
180 void info_cmd(void){
181 i64 fsize;
182 int bDetail = find_option("detail","l",0)!=0;
 
 
 
183 if( g.argc==3 && (fsize = file_size(g.argv[2]))>0 && (fsize&0x1ff)==0 ){
184 db_open_config(0);
185 db_record_repository_filename(g.argv[2]);
186 db_open_repository(g.argv[2]);
187 fossil_print("project-name: %s\n", db_get("project-name", "<unnamed>"));
@@ -197,11 +200,11 @@
197 fossil_print("project-name: %s\n", db_get("project-name", "<unnamed>"));
198 if( g.localOpen ){
199 fossil_print("repository: %s\n", db_repository_filename());
200 fossil_print("local-root: %s\n", g.zLocalRoot);
201 }
202 if( bDetail ) extraRepoInfo();
203 if( g.zConfigDbName ){
204 fossil_print("config-db: %s\n", g.zConfigDbName);
205 }
206 fossil_print("project-code: %s\n", db_get("project-code", ""));
207 vid = g.localOpen ? db_lget_int("checkout", 0) : 0;
@@ -397,13 +400,13 @@
397
398 /*
399 ** Construct an appropriate diffFlag for text_diff() based on query
400 ** parameters and the to boolean arguments.
401 */
402 u64 construct_diff_flags(int showDiff, int sideBySide){
403 u64 diffFlags;
404 if( showDiff==0 ){
405 diffFlags = 0; /* Zero means do not show any diff */
406 }else{
407 int x;
408 if( sideBySide ){
409 diffFlags = DIFF_SIDEBYSIDE | DIFF_IGNORE_EOLWS;
@@ -445,11 +448,11 @@
445 */
446 void ci_page(void){
447 Stmt q;
448 int rid;
449 int isLeaf;
450 int showDiff; /* True to show diffs */
451 int sideBySide; /* True for side-by-side diffs */
452 u64 diffFlags; /* Flag parameter for text_diff() */
453 const char *zName; /* Name of the checkin to be displayed */
454 const char *zUuid; /* UUID of zName */
455 const char *zParent; /* UUID of the parent checkin (if any) */
@@ -606,14 +609,14 @@
606 db_finalize(&q);
607 showTags(rid, "");
608 if( zParent ){
609 @ <div class="section">Changes</div>
610 @ <div class="sectionmenu">
611 showDiff = g.zPath[0]!='c';
612 if( db_get_boolean("show-version-diffs", 0)==0 ){
613 showDiff = !showDiff;
614 if( showDiff ){
615 @ %z(xhref("class='button'","%R/vinfo/%T",zName))
616 @ hide&nbsp;diffs</a>
617 if( sideBySide ){
618 @ %z(xhref("class='button'","%R/ci/%T?sbs=0",zName))
619 @ unified&nbsp;diffs</a>
@@ -626,11 +629,11 @@
626 @ show&nbsp;unified&nbsp;diffs</a>
627 @ %z(xhref("class='button'","%R/ci/%T?sbs=1",zName))
628 @ show&nbsp;side-by-side&nbsp;diffs</a>
629 }
630 }else{
631 if( showDiff ){
632 @ %z(xhref("class='button'","%R/ci/%T",zName))hide&nbsp;diffs</a>
633 if( sideBySide ){
634 @ %z(xhref("class='button'","%R/info/%T?sbs=0",zName))
635 @ unified&nbsp;diffs</a>
636 }else{
@@ -661,11 +664,11 @@
661 " AND (mlink.fid>0"
662 " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))"
663 " ORDER BY name /*sort*/",
664 rid, rid
665 );
666 diffFlags = construct_diff_flags(showDiff, sideBySide);
667 while( db_step(&q)==SQLITE_ROW ){
668 const char *zName = db_column_text(&q,0);
669 int mperm = db_column_int(&q, 1);
670 const char *zOld = db_column_text(&q,2);
671 const char *zNew = db_column_text(&q,3);
@@ -875,27 +878,28 @@
875 ** Query parameters:
876 **
877 ** from=TAG
878 ** to=TAG
879 ** branch=TAG
880 ** detail=BOOLEAN
881 ** sbs=BOOLEAN
882 **
883 **
884 ** Show all differences between two checkins.
885 */
886 void vdiff_page(void){
887 int ridFrom, ridTo;
888 int showDetail = 0;
889 int sideBySide = 0;
890 u64 diffFlags = 0;
891 Manifest *pFrom, *pTo;
892 ManifestFile *pFileFrom, *pFileTo;
893 const char *zBranch;
894 const char *zFrom;
895 const char *zTo;
896 const char *zRe;
 
897 ReCompiled *pRe = 0;
898
899 login_check_credentials();
900 if( !g.perm.Read ){ login_needed(); return; }
901 login_anonymous_available();
@@ -910,26 +914,33 @@
910 pTo = vdiff_parse_manifest("to", &ridTo);
911 if( pTo==0 ) return;
912 pFrom = vdiff_parse_manifest("from", &ridFrom);
913 if( pFrom==0 ) return;
914 sideBySide = atoi(PD("sbs","1"));
915 showDetail = atoi(PD("detail","0"));
916 if( !showDetail && sideBySide ) showDetail = 1;
 
 
 
 
 
 
 
917 zFrom = P("from");
918 zTo = P("to");
919 if( !sideBySide ){
920 style_submenu_element("Side-by-side Diff", "sbsdiff",
921 "%R/vdiff?from=%T&to=%T&detail=%d&sbs=1",
922 zFrom, zTo, showDetail);
923 }else{
924 style_submenu_element("Unified Diff", "udiff",
925 "%R/vdiff?from=%T&to=%T&detail=%d&sbs=0",
926 zFrom, zTo, showDetail);
927 }
928 style_submenu_element("Invert", "invert",
929 "%R/vdiff?from=%T&to=%T&detail=%d&sbs=%d",
930 zTo, zFrom, showDetail, sideBySide);
931 style_header("Check-in Differences");
932 @ <h2>Difference From:</h2><blockquote>
933 checkin_description(ridFrom);
934 @ </blockquote><h2>To:</h2><blockquote>
935 checkin_description(ridTo);
@@ -942,11 +953,11 @@
942
943 manifest_file_rewind(pFrom);
944 pFileFrom = manifest_file_next(pFrom, 0);
945 manifest_file_rewind(pTo);
946 pFileTo = manifest_file_next(pTo, 0);
947 diffFlags = construct_diff_flags(showDetail, sideBySide);
948 while( pFileFrom || pFileTo ){
949 int cmp;
950 if( pFileFrom==0 ){
951 cmp = +1;
952 }else if( pFileTo==0 ){
953
--- src/info.c
+++ src/info.c
@@ -171,17 +171,20 @@
171 ** file in a checkout.
172 **
173 ** Options:
174 **
175 ** -R|--repository FILE Extract info from repository FILE
176 ** -v|--verbose Show extra information
177 **
178 ** See also: annotate, artifact, finfo, timeline
179 */
180 void info_cmd(void){
181 i64 fsize;
182 int verboseFlag = find_option("verbose","v",0)!=0;
183 if( !verboseFlag ){
184 verboseFlag = find_option("detail","l",0)!=0; /* deprecated */
185 }
186 if( g.argc==3 && (fsize = file_size(g.argv[2]))>0 && (fsize&0x1ff)==0 ){
187 db_open_config(0);
188 db_record_repository_filename(g.argv[2]);
189 db_open_repository(g.argv[2]);
190 fossil_print("project-name: %s\n", db_get("project-name", "<unnamed>"));
@@ -197,11 +200,11 @@
200 fossil_print("project-name: %s\n", db_get("project-name", "<unnamed>"));
201 if( g.localOpen ){
202 fossil_print("repository: %s\n", db_repository_filename());
203 fossil_print("local-root: %s\n", g.zLocalRoot);
204 }
205 if( verboseFlag ) extraRepoInfo();
206 if( g.zConfigDbName ){
207 fossil_print("config-db: %s\n", g.zConfigDbName);
208 }
209 fossil_print("project-code: %s\n", db_get("project-code", ""));
210 vid = g.localOpen ? db_lget_int("checkout", 0) : 0;
@@ -397,13 +400,13 @@
400
401 /*
402 ** Construct an appropriate diffFlag for text_diff() based on query
403 ** parameters and the to boolean arguments.
404 */
405 u64 construct_diff_flags(int verboseFlag, int sideBySide){
406 u64 diffFlags;
407 if( verboseFlag==0 ){
408 diffFlags = 0; /* Zero means do not show any diff */
409 }else{
410 int x;
411 if( sideBySide ){
412 diffFlags = DIFF_SIDEBYSIDE | DIFF_IGNORE_EOLWS;
@@ -445,11 +448,11 @@
448 */
449 void ci_page(void){
450 Stmt q;
451 int rid;
452 int isLeaf;
453 int verboseFlag; /* True to show diffs */
454 int sideBySide; /* True for side-by-side diffs */
455 u64 diffFlags; /* Flag parameter for text_diff() */
456 const char *zName; /* Name of the checkin to be displayed */
457 const char *zUuid; /* UUID of zName */
458 const char *zParent; /* UUID of the parent checkin (if any) */
@@ -606,14 +609,14 @@
609 db_finalize(&q);
610 showTags(rid, "");
611 if( zParent ){
612 @ <div class="section">Changes</div>
613 @ <div class="sectionmenu">
614 verboseFlag = g.zPath[0]!='c';
615 if( db_get_boolean("show-version-diffs", 0)==0 ){
616 verboseFlag = !verboseFlag;
617 if( verboseFlag ){
618 @ %z(xhref("class='button'","%R/vinfo/%T",zName))
619 @ hide&nbsp;diffs</a>
620 if( sideBySide ){
621 @ %z(xhref("class='button'","%R/ci/%T?sbs=0",zName))
622 @ unified&nbsp;diffs</a>
@@ -626,11 +629,11 @@
629 @ show&nbsp;unified&nbsp;diffs</a>
630 @ %z(xhref("class='button'","%R/ci/%T?sbs=1",zName))
631 @ show&nbsp;side-by-side&nbsp;diffs</a>
632 }
633 }else{
634 if( verboseFlag ){
635 @ %z(xhref("class='button'","%R/ci/%T",zName))hide&nbsp;diffs</a>
636 if( sideBySide ){
637 @ %z(xhref("class='button'","%R/info/%T?sbs=0",zName))
638 @ unified&nbsp;diffs</a>
639 }else{
@@ -661,11 +664,11 @@
664 " AND (mlink.fid>0"
665 " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))"
666 " ORDER BY name /*sort*/",
667 rid, rid
668 );
669 diffFlags = construct_diff_flags(verboseFlag, sideBySide);
670 while( db_step(&q)==SQLITE_ROW ){
671 const char *zName = db_column_text(&q,0);
672 int mperm = db_column_int(&q, 1);
673 const char *zOld = db_column_text(&q,2);
674 const char *zNew = db_column_text(&q,3);
@@ -875,27 +878,28 @@
878 ** Query parameters:
879 **
880 ** from=TAG
881 ** to=TAG
882 ** branch=TAG
883 ** v=BOOLEAN
884 ** sbs=BOOLEAN
885 **
886 **
887 ** Show all differences between two checkins.
888 */
889 void vdiff_page(void){
890 int ridFrom, ridTo;
891 int verboseFlag = 0;
892 int sideBySide = 0;
893 u64 diffFlags = 0;
894 Manifest *pFrom, *pTo;
895 ManifestFile *pFileFrom, *pFileTo;
896 const char *zBranch;
897 const char *zFrom;
898 const char *zTo;
899 const char *zRe;
900 const char *zVerbose;
901 ReCompiled *pRe = 0;
902
903 login_check_credentials();
904 if( !g.perm.Read ){ login_needed(); return; }
905 login_anonymous_available();
@@ -910,26 +914,33 @@
914 pTo = vdiff_parse_manifest("to", &ridTo);
915 if( pTo==0 ) return;
916 pFrom = vdiff_parse_manifest("from", &ridFrom);
917 if( pFrom==0 ) return;
918 sideBySide = atoi(PD("sbs","1"));
919 zVerbose = P("v");
920 if( !zVerbose ){
921 zVerbose = P("verbose");
922 }
923 if( !zVerbose ){
924 zVerbose = P("detail"); /* deprecated */
925 }
926 verboseFlag = (zVerbose!=0) && (*zVerbose!=0) && !is_false(zVerbose);
927 if( !verboseFlag && sideBySide ) verboseFlag = 1;
928 zFrom = P("from");
929 zTo = P("to");
930 if( !sideBySide ){
931 style_submenu_element("Side-by-side Diff", "sbsdiff",
932 "%R/vdiff?from=%T&to=%T%s&sbs=1",
933 zFrom, zTo, verboseFlag?"&v=1":"");
934 }else{
935 style_submenu_element("Unified Diff", "udiff",
936 "%R/vdiff?from=%T&to=%T%s&sbs=0",
937 zFrom, zTo, verboseFlag?"&v=1":"");
938 }
939 style_submenu_element("Invert", "invert",
940 "%R/vdiff?from=%T&to=%T%s&sbs=%d",
941 zTo, zFrom, verboseFlag?"&v=1":"", sideBySide);
942 style_header("Check-in Differences");
943 @ <h2>Difference From:</h2><blockquote>
944 checkin_description(ridFrom);
945 @ </blockquote><h2>To:</h2><blockquote>
946 checkin_description(ridTo);
@@ -942,11 +953,11 @@
953
954 manifest_file_rewind(pFrom);
955 pFileFrom = manifest_file_next(pFrom, 0);
956 manifest_file_rewind(pTo);
957 pFileTo = manifest_file_next(pTo, 0);
958 diffFlags = construct_diff_flags(verboseFlag, sideBySide);
959 while( pFileFrom || pFileTo ){
960 int cmp;
961 if( pFileFrom==0 ){
962 cmp = +1;
963 }else if( pFileTo==0 ){
964
+1 -1
--- src/main.c
+++ src/main.c
@@ -811,11 +811,11 @@
811811
char const * zCmdOrPagePlural;
812812
if( g.argc<3 ){
813813
z = g.argv[0];
814814
fossil_print(
815815
"Usage: %s help COMMAND\n"
816
- "Common COMMANDs: (use \"%s help --all\" for a complete list)\n",
816
+ "Common COMMANDs: (use \"%s help -a|--all\" for a complete list)\n",
817817
z, z);
818818
command_list(0, CMDFLAG_1ST_TIER);
819819
version_cmd();
820820
return;
821821
}
822822
--- src/main.c
+++ src/main.c
@@ -811,11 +811,11 @@
811 char const * zCmdOrPagePlural;
812 if( g.argc<3 ){
813 z = g.argv[0];
814 fossil_print(
815 "Usage: %s help COMMAND\n"
816 "Common COMMANDs: (use \"%s help --all\" for a complete list)\n",
817 z, z);
818 command_list(0, CMDFLAG_1ST_TIER);
819 version_cmd();
820 return;
821 }
822
--- src/main.c
+++ src/main.c
@@ -811,11 +811,11 @@
811 char const * zCmdOrPagePlural;
812 if( g.argc<3 ){
813 z = g.argv[0];
814 fossil_print(
815 "Usage: %s help COMMAND\n"
816 "Common COMMANDs: (use \"%s help -a|--all\" for a complete list)\n",
817 z, z);
818 command_list(0, CMDFLAG_1ST_TIER);
819 version_cmd();
820 return;
821 }
822
+9 -6
--- src/merge.c
+++ src/merge.c
@@ -89,21 +89,21 @@
8989
**
9090
** --case-sensitive BOOL Override the case-sensitive setting. If false,
9191
** files whose names differ only in case are taken
9292
** to be the same file.
9393
**
94
-** --detail Show additional details of the merge
95
-**
9694
** -f|--force Force the merge even if it would be a no-op.
9795
**
9896
** -n|--dry-run If given, display instead of run actions
97
+**
98
+** -v|--verbose Show additional details of the merge
9999
*/
100100
void merge_cmd(void){
101101
int vid; /* Current version "V" */
102102
int mid; /* Version we are merging from "M" */
103103
int pid; /* The pivot version - most recent common ancestor P */
104
- int detailFlag; /* True if the --detail option is present */
104
+ int verboseFlag; /* True if the -v|--verbose option is present */
105105
int pickFlag; /* True if the --cherrypick option is present */
106106
int backoutFlag; /* True if the --backout option is present */
107107
int dryRunFlag; /* True if the --dry-run or -n option is present */
108108
int forceFlag; /* True if the --force or -f option is present */
109109
const char *zBinGlob; /* The value of --binary */
@@ -123,11 +123,14 @@
123123
** M The version being merged in
124124
** P The "pivot" - the most recent common ancestor of V and M.
125125
*/
126126
127127
undo_capture_command_line();
128
- detailFlag = find_option("detail",0,0)!=0;
128
+ verboseFlag = find_option("verbose","v",0)!=0;
129
+ if( !verboseFlag ){
130
+ verboseFlag = find_option("detail",0,0)!=0; /* deprecated */
131
+ }
129132
pickFlag = find_option("cherrypick",0,0)!=0;
130133
backoutFlag = find_option("backout",0,0)!=0;
131134
debugFlag = find_option("debug",0,0)!=0;
132135
zBinGlob = find_option("binary",0,1);
133136
dryRunFlag = find_option("dry-run","n",0)!=0;
@@ -248,11 +251,11 @@
248251
if( !forceFlag && mid==pid ){
249252
fossil_print("Merge skipped because it is a no-op. "
250253
" Use --force to override.\n");
251254
return;
252255
}
253
- if( detailFlag ){
256
+ if( verboseFlag ){
254257
print_checkin_description(mid, 12, "merge-from:");
255258
print_checkin_description(pid, 12, "baseline:");
256259
}
257260
vfile_check_signature(vid, CKSIG_ENOTFILE);
258261
db_begin_transaction();
@@ -502,11 +505,11 @@
502505
int islinkm = db_column_int(&q, 8);
503506
int rc;
504507
char *zFullPath;
505508
Blob m, p, r;
506509
/* Do a 3-way merge of idp->idm into idp->idv. The results go into idv. */
507
- if( detailFlag ){
510
+ if( verboseFlag ){
508511
fossil_print("MERGE %s (pivot=%d v1=%d v2=%d)\n",
509512
zName, ridp, ridm, ridv);
510513
}else{
511514
fossil_print("MERGE %s\n", zName);
512515
}
513516
--- src/merge.c
+++ src/merge.c
@@ -89,21 +89,21 @@
89 **
90 ** --case-sensitive BOOL Override the case-sensitive setting. If false,
91 ** files whose names differ only in case are taken
92 ** to be the same file.
93 **
94 ** --detail Show additional details of the merge
95 **
96 ** -f|--force Force the merge even if it would be a no-op.
97 **
98 ** -n|--dry-run If given, display instead of run actions
 
 
99 */
100 void merge_cmd(void){
101 int vid; /* Current version "V" */
102 int mid; /* Version we are merging from "M" */
103 int pid; /* The pivot version - most recent common ancestor P */
104 int detailFlag; /* True if the --detail option is present */
105 int pickFlag; /* True if the --cherrypick option is present */
106 int backoutFlag; /* True if the --backout option is present */
107 int dryRunFlag; /* True if the --dry-run or -n option is present */
108 int forceFlag; /* True if the --force or -f option is present */
109 const char *zBinGlob; /* The value of --binary */
@@ -123,11 +123,14 @@
123 ** M The version being merged in
124 ** P The "pivot" - the most recent common ancestor of V and M.
125 */
126
127 undo_capture_command_line();
128 detailFlag = find_option("detail",0,0)!=0;
 
 
 
129 pickFlag = find_option("cherrypick",0,0)!=0;
130 backoutFlag = find_option("backout",0,0)!=0;
131 debugFlag = find_option("debug",0,0)!=0;
132 zBinGlob = find_option("binary",0,1);
133 dryRunFlag = find_option("dry-run","n",0)!=0;
@@ -248,11 +251,11 @@
248 if( !forceFlag && mid==pid ){
249 fossil_print("Merge skipped because it is a no-op. "
250 " Use --force to override.\n");
251 return;
252 }
253 if( detailFlag ){
254 print_checkin_description(mid, 12, "merge-from:");
255 print_checkin_description(pid, 12, "baseline:");
256 }
257 vfile_check_signature(vid, CKSIG_ENOTFILE);
258 db_begin_transaction();
@@ -502,11 +505,11 @@
502 int islinkm = db_column_int(&q, 8);
503 int rc;
504 char *zFullPath;
505 Blob m, p, r;
506 /* Do a 3-way merge of idp->idm into idp->idv. The results go into idv. */
507 if( detailFlag ){
508 fossil_print("MERGE %s (pivot=%d v1=%d v2=%d)\n",
509 zName, ridp, ridm, ridv);
510 }else{
511 fossil_print("MERGE %s\n", zName);
512 }
513
--- src/merge.c
+++ src/merge.c
@@ -89,21 +89,21 @@
89 **
90 ** --case-sensitive BOOL Override the case-sensitive setting. If false,
91 ** files whose names differ only in case are taken
92 ** to be the same file.
93 **
 
 
94 ** -f|--force Force the merge even if it would be a no-op.
95 **
96 ** -n|--dry-run If given, display instead of run actions
97 **
98 ** -v|--verbose Show additional details of the merge
99 */
100 void merge_cmd(void){
101 int vid; /* Current version "V" */
102 int mid; /* Version we are merging from "M" */
103 int pid; /* The pivot version - most recent common ancestor P */
104 int verboseFlag; /* True if the -v|--verbose option is present */
105 int pickFlag; /* True if the --cherrypick option is present */
106 int backoutFlag; /* True if the --backout option is present */
107 int dryRunFlag; /* True if the --dry-run or -n option is present */
108 int forceFlag; /* True if the --force or -f option is present */
109 const char *zBinGlob; /* The value of --binary */
@@ -123,11 +123,14 @@
123 ** M The version being merged in
124 ** P The "pivot" - the most recent common ancestor of V and M.
125 */
126
127 undo_capture_command_line();
128 verboseFlag = find_option("verbose","v",0)!=0;
129 if( !verboseFlag ){
130 verboseFlag = find_option("detail",0,0)!=0; /* deprecated */
131 }
132 pickFlag = find_option("cherrypick",0,0)!=0;
133 backoutFlag = find_option("backout",0,0)!=0;
134 debugFlag = find_option("debug",0,0)!=0;
135 zBinGlob = find_option("binary",0,1);
136 dryRunFlag = find_option("dry-run","n",0)!=0;
@@ -248,11 +251,11 @@
251 if( !forceFlag && mid==pid ){
252 fossil_print("Merge skipped because it is a no-op. "
253 " Use --force to override.\n");
254 return;
255 }
256 if( verboseFlag ){
257 print_checkin_description(mid, 12, "merge-from:");
258 print_checkin_description(pid, 12, "baseline:");
259 }
260 vfile_check_signature(vid, CKSIG_ENOTFILE);
261 db_begin_transaction();
@@ -502,11 +505,11 @@
505 int islinkm = db_column_int(&q, 8);
506 int rc;
507 char *zFullPath;
508 Blob m, p, r;
509 /* Do a 3-way merge of idp->idm into idp->idv. The results go into idv. */
510 if( verboseFlag ){
511 fossil_print("MERGE %s (pivot=%d v1=%d v2=%d)\n",
512 zName, ridp, ridm, ridv);
513 }else{
514 fossil_print("MERGE %s\n", zName);
515 }
516
+3 -3
--- src/name.c
+++ src/name.c
@@ -442,13 +442,13 @@
442442
** plays.
443443
*/
444444
void whatis_cmd(void){
445445
int rid;
446446
const char *zName;
447
- int fExtra;
447
+ int verboseFlag;
448448
db_find_and_open_repository(0,0);
449
- fExtra = find_option("verbose","v",0)!=0;
449
+ verboseFlag = find_option("verbose","v",0)!=0;
450450
if( g.argc!=3 ) usage("whatis NAME");
451451
zName = g.argv[2];
452452
rid = symbolic_name_to_rid(zName, 0);
453453
if( rid<0 ){
454454
fossil_print("Ambiguous artifact name prefix: %s\n", zName);
@@ -465,11 +465,11 @@
465465
" WHERE rid=%d"
466466
" AND rcvfrom.rcvid=blob.rcvid",
467467
rid);
468468
if( db_step(&q)==SQLITE_ROW ){
469469
const char *zTagList = db_column_text(&q, 4);
470
- if( fExtra ){
470
+ if( verboseFlag ){
471471
fossil_print("artifact: %s (%d)\n", db_column_text(&q,0), rid);
472472
fossil_print("size: %d bytes\n", db_column_int(&q,1));
473473
fossil_print("received: %s from %s\n",
474474
db_column_text(&q, 2),
475475
db_column_text(&q, 3));
476476
--- src/name.c
+++ src/name.c
@@ -442,13 +442,13 @@
442 ** plays.
443 */
444 void whatis_cmd(void){
445 int rid;
446 const char *zName;
447 int fExtra;
448 db_find_and_open_repository(0,0);
449 fExtra = find_option("verbose","v",0)!=0;
450 if( g.argc!=3 ) usage("whatis NAME");
451 zName = g.argv[2];
452 rid = symbolic_name_to_rid(zName, 0);
453 if( rid<0 ){
454 fossil_print("Ambiguous artifact name prefix: %s\n", zName);
@@ -465,11 +465,11 @@
465 " WHERE rid=%d"
466 " AND rcvfrom.rcvid=blob.rcvid",
467 rid);
468 if( db_step(&q)==SQLITE_ROW ){
469 const char *zTagList = db_column_text(&q, 4);
470 if( fExtra ){
471 fossil_print("artifact: %s (%d)\n", db_column_text(&q,0), rid);
472 fossil_print("size: %d bytes\n", db_column_int(&q,1));
473 fossil_print("received: %s from %s\n",
474 db_column_text(&q, 2),
475 db_column_text(&q, 3));
476
--- src/name.c
+++ src/name.c
@@ -442,13 +442,13 @@
442 ** plays.
443 */
444 void whatis_cmd(void){
445 int rid;
446 const char *zName;
447 int verboseFlag;
448 db_find_and_open_repository(0,0);
449 verboseFlag = find_option("verbose","v",0)!=0;
450 if( g.argc!=3 ) usage("whatis NAME");
451 zName = g.argv[2];
452 rid = symbolic_name_to_rid(zName, 0);
453 if( rid<0 ){
454 fossil_print("Ambiguous artifact name prefix: %s\n", zName);
@@ -465,11 +465,11 @@
465 " WHERE rid=%d"
466 " AND rcvfrom.rcvid=blob.rcvid",
467 rid);
468 if( db_step(&q)==SQLITE_ROW ){
469 const char *zTagList = db_column_text(&q, 4);
470 if( verboseFlag ){
471 fossil_print("artifact: %s (%d)\n", db_column_text(&q,0), rid);
472 fossil_print("size: %d bytes\n", db_column_int(&q,1));
473 fossil_print("received: %s from %s\n",
474 db_column_text(&q, 2),
475 db_column_text(&q, 3));
476
+11 -8
--- src/stash.c
+++ src/stash.c
@@ -416,15 +416,15 @@
416416
** are listed, then only stash and revert the named files. The
417417
** "save" verb can be omitted if and only if there are no other
418418
** arguments. The "snapshot" verb works the same as "save" but
419419
** omits the revert, keeping the check-out unchanged.
420420
**
421
-** fossil stash list ?-l|--detail?
422
-** fossil stash ls ?-l|--detail?
421
+** fossil stash list ?-v|--verbose?
422
+** fossil stash ls ?-v|--verbose?
423423
**
424424
** List all changes sets currently stashed. Show information about
425
-** individual files in each changeset if --detail or -l is used.
425
+** individual files in each changeset if -v or --verbose is used.
426426
**
427427
** fossil stash show ?STASHID? ?DIFF-FLAGS?
428428
**
429429
** Show the content of a stash
430430
**
@@ -457,11 +457,11 @@
457457
**
458458
** SUMMARY:
459459
** fossil stash
460460
** fossil stash save ?-m|--comment COMMENT? ?FILES...?
461461
** fossil stash snapshot ?-m|--comment COMMENT? ?FILES...?
462
-** fossil stash list|ls ?-l|--detail?
462
+** fossil stash list|ls ?-v|--verbose?
463463
** fossil stash show ?STASHID? ?DIFF-OPTIONS?
464464
** fossil stash pop
465465
** fossil stash apply ?STASHID?
466466
** fossil stash goto ?STASHID?
467467
** fossil stash rm|drop ?STASHID? ?-a|--all?
@@ -511,18 +511,21 @@
511511
stash_create();
512512
}else
513513
if( memcmp(zCmd, "list", nCmd)==0 || memcmp(zCmd, "ls", nCmd)==0 ){
514514
Stmt q, q2;
515515
int n = 0;
516
- int fDetail = find_option("detail","l",0)!=0;
516
+ int verboseFlag = find_option("verbose","v",0)!=0;
517
+ if( !verboseFlag ){
518
+ verboseFlag = find_option("detail","l",0)!=0; /* deprecated */
519
+ }
517520
verify_all_options();
518521
db_prepare(&q,
519522
"SELECT stashid, (SELECT uuid FROM blob WHERE rid=vid),"
520523
" comment, datetime(ctime) FROM stash"
521524
" ORDER BY ctime DESC"
522525
);
523
- if( fDetail ){
526
+ if( verboseFlag ){
524527
db_prepare(&q2, "SELECT isAdded, isRemoved, origname, newname"
525528
" FROM stashfile WHERE stashid=$id");
526529
}
527530
while( db_step(&q)==SQLITE_ROW ){
528531
int stashid = db_column_int(&q, 0);
@@ -536,11 +539,11 @@
536539
zCom = db_column_text(&q, 2);
537540
if( zCom && zCom[0] ){
538541
fossil_print(" ");
539542
comment_print(zCom, 7, 79);
540543
}
541
- if( fDetail ){
544
+ if( verboseFlag ){
542545
db_bind_int(&q2, "$id", stashid);
543546
while( db_step(&q2)==SQLITE_ROW ){
544547
int isAdded = db_column_int(&q2, 0);
545548
int isRemoved = db_column_int(&q2, 1);
546549
const char *zOrig = db_column_text(&q2, 2);
@@ -557,11 +560,11 @@
557560
}
558561
db_reset(&q2);
559562
}
560563
}
561564
db_finalize(&q);
562
- if( fDetail ) db_finalize(&q2);
565
+ if( verboseFlag ) db_finalize(&q2);
563566
if( n==0 ) fossil_print("empty stash\n");
564567
}else
565568
if( memcmp(zCmd, "drop", nCmd)==0 || memcmp(zCmd, "rm", nCmd)==0 ){
566569
int allFlag = find_option("all", "a", 0)!=0;
567570
if( allFlag ){
568571
--- src/stash.c
+++ src/stash.c
@@ -416,15 +416,15 @@
416 ** are listed, then only stash and revert the named files. The
417 ** "save" verb can be omitted if and only if there are no other
418 ** arguments. The "snapshot" verb works the same as "save" but
419 ** omits the revert, keeping the check-out unchanged.
420 **
421 ** fossil stash list ?-l|--detail?
422 ** fossil stash ls ?-l|--detail?
423 **
424 ** List all changes sets currently stashed. Show information about
425 ** individual files in each changeset if --detail or -l is used.
426 **
427 ** fossil stash show ?STASHID? ?DIFF-FLAGS?
428 **
429 ** Show the content of a stash
430 **
@@ -457,11 +457,11 @@
457 **
458 ** SUMMARY:
459 ** fossil stash
460 ** fossil stash save ?-m|--comment COMMENT? ?FILES...?
461 ** fossil stash snapshot ?-m|--comment COMMENT? ?FILES...?
462 ** fossil stash list|ls ?-l|--detail?
463 ** fossil stash show ?STASHID? ?DIFF-OPTIONS?
464 ** fossil stash pop
465 ** fossil stash apply ?STASHID?
466 ** fossil stash goto ?STASHID?
467 ** fossil stash rm|drop ?STASHID? ?-a|--all?
@@ -511,18 +511,21 @@
511 stash_create();
512 }else
513 if( memcmp(zCmd, "list", nCmd)==0 || memcmp(zCmd, "ls", nCmd)==0 ){
514 Stmt q, q2;
515 int n = 0;
516 int fDetail = find_option("detail","l",0)!=0;
 
 
 
517 verify_all_options();
518 db_prepare(&q,
519 "SELECT stashid, (SELECT uuid FROM blob WHERE rid=vid),"
520 " comment, datetime(ctime) FROM stash"
521 " ORDER BY ctime DESC"
522 );
523 if( fDetail ){
524 db_prepare(&q2, "SELECT isAdded, isRemoved, origname, newname"
525 " FROM stashfile WHERE stashid=$id");
526 }
527 while( db_step(&q)==SQLITE_ROW ){
528 int stashid = db_column_int(&q, 0);
@@ -536,11 +539,11 @@
536 zCom = db_column_text(&q, 2);
537 if( zCom && zCom[0] ){
538 fossil_print(" ");
539 comment_print(zCom, 7, 79);
540 }
541 if( fDetail ){
542 db_bind_int(&q2, "$id", stashid);
543 while( db_step(&q2)==SQLITE_ROW ){
544 int isAdded = db_column_int(&q2, 0);
545 int isRemoved = db_column_int(&q2, 1);
546 const char *zOrig = db_column_text(&q2, 2);
@@ -557,11 +560,11 @@
557 }
558 db_reset(&q2);
559 }
560 }
561 db_finalize(&q);
562 if( fDetail ) db_finalize(&q2);
563 if( n==0 ) fossil_print("empty stash\n");
564 }else
565 if( memcmp(zCmd, "drop", nCmd)==0 || memcmp(zCmd, "rm", nCmd)==0 ){
566 int allFlag = find_option("all", "a", 0)!=0;
567 if( allFlag ){
568
--- src/stash.c
+++ src/stash.c
@@ -416,15 +416,15 @@
416 ** are listed, then only stash and revert the named files. The
417 ** "save" verb can be omitted if and only if there are no other
418 ** arguments. The "snapshot" verb works the same as "save" but
419 ** omits the revert, keeping the check-out unchanged.
420 **
421 ** fossil stash list ?-v|--verbose?
422 ** fossil stash ls ?-v|--verbose?
423 **
424 ** List all changes sets currently stashed. Show information about
425 ** individual files in each changeset if -v or --verbose is used.
426 **
427 ** fossil stash show ?STASHID? ?DIFF-FLAGS?
428 **
429 ** Show the content of a stash
430 **
@@ -457,11 +457,11 @@
457 **
458 ** SUMMARY:
459 ** fossil stash
460 ** fossil stash save ?-m|--comment COMMENT? ?FILES...?
461 ** fossil stash snapshot ?-m|--comment COMMENT? ?FILES...?
462 ** fossil stash list|ls ?-v|--verbose?
463 ** fossil stash show ?STASHID? ?DIFF-OPTIONS?
464 ** fossil stash pop
465 ** fossil stash apply ?STASHID?
466 ** fossil stash goto ?STASHID?
467 ** fossil stash rm|drop ?STASHID? ?-a|--all?
@@ -511,18 +511,21 @@
511 stash_create();
512 }else
513 if( memcmp(zCmd, "list", nCmd)==0 || memcmp(zCmd, "ls", nCmd)==0 ){
514 Stmt q, q2;
515 int n = 0;
516 int verboseFlag = find_option("verbose","v",0)!=0;
517 if( !verboseFlag ){
518 verboseFlag = find_option("detail","l",0)!=0; /* deprecated */
519 }
520 verify_all_options();
521 db_prepare(&q,
522 "SELECT stashid, (SELECT uuid FROM blob WHERE rid=vid),"
523 " comment, datetime(ctime) FROM stash"
524 " ORDER BY ctime DESC"
525 );
526 if( verboseFlag ){
527 db_prepare(&q2, "SELECT isAdded, isRemoved, origname, newname"
528 " FROM stashfile WHERE stashid=$id");
529 }
530 while( db_step(&q)==SQLITE_ROW ){
531 int stashid = db_column_int(&q, 0);
@@ -536,11 +539,11 @@
539 zCom = db_column_text(&q, 2);
540 if( zCom && zCom[0] ){
541 fossil_print(" ");
542 comment_print(zCom, 7, 79);
543 }
544 if( verboseFlag ){
545 db_bind_int(&q2, "$id", stashid);
546 while( db_step(&q2)==SQLITE_ROW ){
547 int isAdded = db_column_int(&q2, 0);
548 int isRemoved = db_column_int(&q2, 1);
549 const char *zOrig = db_column_text(&q2, 2);
@@ -557,11 +560,11 @@
560 }
561 db_reset(&q2);
562 }
563 }
564 db_finalize(&q);
565 if( verboseFlag ) db_finalize(&q2);
566 if( n==0 ) fossil_print("empty stash\n");
567 }else
568 if( memcmp(zCmd, "drop", nCmd)==0 || memcmp(zCmd, "rm", nCmd)==0 ){
569 int allFlag = find_option("all", "a", 0)!=0;
570 if( allFlag ){
571
+13 -10
--- src/timeline.c
+++ src/timeline.c
@@ -995,11 +995,11 @@
995995
** u=USER only if belonging to this user
996996
** y=TYPE 'ci', 'w', 't', 'e'
997997
** s=TEXT string search (comment and brief)
998998
** ng Suppress the graph if present
999999
** nd Suppress "divider" lines
1000
-** fc Show details of files changed
1000
+** v Show details of files changed
10011001
** f=UUID Show family (immediate parents and children) of UUID
10021002
** from=UUID Path from...
10031003
** to=UUID ... to this
10041004
** nomerge ... avoid merge links on the path
10051005
** uf=FUUID Show only checkins that use given file version
@@ -1110,13 +1110,13 @@
11101110
timeline_temp_table();
11111111
blob_zero(&sql);
11121112
blob_zero(&desc);
11131113
blob_append(&sql, "INSERT OR IGNORE INTO timeline ", -1);
11141114
blob_append(&sql, timeline_query_for_www(), -1);
1115
- if( P("fc")!=0 || P("detail")!=0 ){
1115
+ if( P("fc")!=0 || P("v")!=0 || P("detail")!=0 ){
11161116
tmFlags |= TIMELINE_FCHANGES;
1117
- url_add_parameter(&url, "fc", 0);
1117
+ url_add_parameter(&url, "v", 0);
11181118
}
11191119
if( !useDividers ) url_add_parameter(&url, "nd", 0);
11201120
if( ((from_rid && to_rid) || (me_rid && you_rid)) && g.perm.Read ){
11211121
/* If from= and to= are present, display all nodes on a path connecting
11221122
** the two */
@@ -1421,13 +1421,13 @@
14211421
if( nEntry<200 ){
14221422
timeline_submenu(&url, "200 Entries", "n", "200", 0);
14231423
}
14241424
if( zType[0]=='a' || zType[0]=='c' ){
14251425
if( tmFlags & TIMELINE_FCHANGES ){
1426
- timeline_submenu(&url, "Hide Files", "fc", 0, 0);
1426
+ timeline_submenu(&url, "Hide Files", "v", 0, 0);
14271427
}else{
1428
- timeline_submenu(&url, "Show Files", "fc", "", 0);
1428
+ timeline_submenu(&url, "Show Files", "v", "", 0);
14291429
}
14301430
}
14311431
}
14321432
}
14331433
if( P("showsql") ){
@@ -1756,31 +1756,34 @@
17561756
17571757
17581758
/*
17591759
** COMMAND: test-timewarp-list
17601760
**
1761
-** Usage: %fossil test-timewarp-list ?--detail?
1761
+** Usage: %fossil test-timewarp-list ?-v|---verbose?
17621762
**
17631763
** Display all instances of child checkins that appear earlier in time
1764
-** than their parent. If the --detail option is provided, both the
1764
+** than their parent. If the -v|--verbose option is provided, both the
17651765
** parent and child checking and their times are shown.
17661766
*/
17671767
void test_timewarp_cmd(void){
17681768
Stmt q;
1769
- int showDetail;
1769
+ int verboseFlag;
17701770
17711771
db_find_and_open_repository(0, 0);
1772
- showDetail = find_option("detail", 0, 0)!=0;
1772
+ verboseFlag = find_option("verbose", "v", 0)!=0;
1773
+ if( !verboseFlag ){
1774
+ verboseFlag = find_option("detail", 0, 0)!=0; /* deprecated */
1775
+ }
17731776
db_prepare(&q,
17741777
"SELECT (SELECT uuid FROM blob WHERE rid=p.cid),"
17751778
" (SELECT uuid FROM blob WHERE rid=c.cid),"
17761779
" datetime(p.mtime), datetime(c.mtime)"
17771780
" FROM plink p, plink c"
17781781
" WHERE p.cid=c.pid AND p.mtime>c.mtime"
17791782
);
17801783
while( db_step(&q)==SQLITE_ROW ){
1781
- if( !showDetail ){
1784
+ if( !verboseFlag ){
17821785
fossil_print("%s\n", db_column_text(&q, 1));
17831786
}else{
17841787
fossil_print("%.14s -> %.14s %s -> %s\n",
17851788
db_column_text(&q, 0),
17861789
db_column_text(&q, 1),
17871790
--- src/timeline.c
+++ src/timeline.c
@@ -995,11 +995,11 @@
995 ** u=USER only if belonging to this user
996 ** y=TYPE 'ci', 'w', 't', 'e'
997 ** s=TEXT string search (comment and brief)
998 ** ng Suppress the graph if present
999 ** nd Suppress "divider" lines
1000 ** fc Show details of files changed
1001 ** f=UUID Show family (immediate parents and children) of UUID
1002 ** from=UUID Path from...
1003 ** to=UUID ... to this
1004 ** nomerge ... avoid merge links on the path
1005 ** uf=FUUID Show only checkins that use given file version
@@ -1110,13 +1110,13 @@
1110 timeline_temp_table();
1111 blob_zero(&sql);
1112 blob_zero(&desc);
1113 blob_append(&sql, "INSERT OR IGNORE INTO timeline ", -1);
1114 blob_append(&sql, timeline_query_for_www(), -1);
1115 if( P("fc")!=0 || P("detail")!=0 ){
1116 tmFlags |= TIMELINE_FCHANGES;
1117 url_add_parameter(&url, "fc", 0);
1118 }
1119 if( !useDividers ) url_add_parameter(&url, "nd", 0);
1120 if( ((from_rid && to_rid) || (me_rid && you_rid)) && g.perm.Read ){
1121 /* If from= and to= are present, display all nodes on a path connecting
1122 ** the two */
@@ -1421,13 +1421,13 @@
1421 if( nEntry<200 ){
1422 timeline_submenu(&url, "200 Entries", "n", "200", 0);
1423 }
1424 if( zType[0]=='a' || zType[0]=='c' ){
1425 if( tmFlags & TIMELINE_FCHANGES ){
1426 timeline_submenu(&url, "Hide Files", "fc", 0, 0);
1427 }else{
1428 timeline_submenu(&url, "Show Files", "fc", "", 0);
1429 }
1430 }
1431 }
1432 }
1433 if( P("showsql") ){
@@ -1756,31 +1756,34 @@
1756
1757
1758 /*
1759 ** COMMAND: test-timewarp-list
1760 **
1761 ** Usage: %fossil test-timewarp-list ?--detail?
1762 **
1763 ** Display all instances of child checkins that appear earlier in time
1764 ** than their parent. If the --detail option is provided, both the
1765 ** parent and child checking and their times are shown.
1766 */
1767 void test_timewarp_cmd(void){
1768 Stmt q;
1769 int showDetail;
1770
1771 db_find_and_open_repository(0, 0);
1772 showDetail = find_option("detail", 0, 0)!=0;
 
 
 
1773 db_prepare(&q,
1774 "SELECT (SELECT uuid FROM blob WHERE rid=p.cid),"
1775 " (SELECT uuid FROM blob WHERE rid=c.cid),"
1776 " datetime(p.mtime), datetime(c.mtime)"
1777 " FROM plink p, plink c"
1778 " WHERE p.cid=c.pid AND p.mtime>c.mtime"
1779 );
1780 while( db_step(&q)==SQLITE_ROW ){
1781 if( !showDetail ){
1782 fossil_print("%s\n", db_column_text(&q, 1));
1783 }else{
1784 fossil_print("%.14s -> %.14s %s -> %s\n",
1785 db_column_text(&q, 0),
1786 db_column_text(&q, 1),
1787
--- src/timeline.c
+++ src/timeline.c
@@ -995,11 +995,11 @@
995 ** u=USER only if belonging to this user
996 ** y=TYPE 'ci', 'w', 't', 'e'
997 ** s=TEXT string search (comment and brief)
998 ** ng Suppress the graph if present
999 ** nd Suppress "divider" lines
1000 ** v Show details of files changed
1001 ** f=UUID Show family (immediate parents and children) of UUID
1002 ** from=UUID Path from...
1003 ** to=UUID ... to this
1004 ** nomerge ... avoid merge links on the path
1005 ** uf=FUUID Show only checkins that use given file version
@@ -1110,13 +1110,13 @@
1110 timeline_temp_table();
1111 blob_zero(&sql);
1112 blob_zero(&desc);
1113 blob_append(&sql, "INSERT OR IGNORE INTO timeline ", -1);
1114 blob_append(&sql, timeline_query_for_www(), -1);
1115 if( P("fc")!=0 || P("v")!=0 || P("detail")!=0 ){
1116 tmFlags |= TIMELINE_FCHANGES;
1117 url_add_parameter(&url, "v", 0);
1118 }
1119 if( !useDividers ) url_add_parameter(&url, "nd", 0);
1120 if( ((from_rid && to_rid) || (me_rid && you_rid)) && g.perm.Read ){
1121 /* If from= and to= are present, display all nodes on a path connecting
1122 ** the two */
@@ -1421,13 +1421,13 @@
1421 if( nEntry<200 ){
1422 timeline_submenu(&url, "200 Entries", "n", "200", 0);
1423 }
1424 if( zType[0]=='a' || zType[0]=='c' ){
1425 if( tmFlags & TIMELINE_FCHANGES ){
1426 timeline_submenu(&url, "Hide Files", "v", 0, 0);
1427 }else{
1428 timeline_submenu(&url, "Show Files", "v", "", 0);
1429 }
1430 }
1431 }
1432 }
1433 if( P("showsql") ){
@@ -1756,31 +1756,34 @@
1756
1757
1758 /*
1759 ** COMMAND: test-timewarp-list
1760 **
1761 ** Usage: %fossil test-timewarp-list ?-v|---verbose?
1762 **
1763 ** Display all instances of child checkins that appear earlier in time
1764 ** than their parent. If the -v|--verbose option is provided, both the
1765 ** parent and child checking and their times are shown.
1766 */
1767 void test_timewarp_cmd(void){
1768 Stmt q;
1769 int verboseFlag;
1770
1771 db_find_and_open_repository(0, 0);
1772 verboseFlag = find_option("verbose", "v", 0)!=0;
1773 if( !verboseFlag ){
1774 verboseFlag = find_option("detail", 0, 0)!=0; /* deprecated */
1775 }
1776 db_prepare(&q,
1777 "SELECT (SELECT uuid FROM blob WHERE rid=p.cid),"
1778 " (SELECT uuid FROM blob WHERE rid=c.cid),"
1779 " datetime(p.mtime), datetime(c.mtime)"
1780 " FROM plink p, plink c"
1781 " WHERE p.cid=c.pid AND p.mtime>c.mtime"
1782 );
1783 while( db_step(&q)==SQLITE_ROW ){
1784 if( !verboseFlag ){
1785 fossil_print("%s\n", db_column_text(&q, 1));
1786 }else{
1787 fossil_print("%.14s -> %.14s %s -> %s\n",
1788 db_column_text(&q, 0),
1789 db_column_text(&q, 1),
1790

Keyboard Shortcuts

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