@@ -39,22 +39,25 @@
39 39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** In the -p form, there's an optional flag "-r|--revision REVISION".
40 40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The specified version (or the latest checked out version) is printed
41 41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** to stdout.
42 42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
43 43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Options:
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --brief|-b display a brief (one line / revision) summary
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --limit N display the first N changes
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --log|-l select log mode (the default)
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --offset P skip P changes
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** -p select print mode
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --revision|-r R print the given revision (or ckout, if none is given)
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** to stdout (only in print mode)
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** -s select status mode (print a status indicator for FILE)
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --brief|-b display a brief (one line / revision) summary
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --limit N display the first N changes
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --log|-l select log mode (the default)
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --offset P skip P changes
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** -p select print mode
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --revision|-r R print the given revision (or ckout, if none is given)
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** to stdout (only in print mode)
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** -s select status mode (print a status indicator for FILE)
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --case-sensitive B Enable or disable case-sensitive filenames. B is a
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** boolean: "yes", "no", "true", "false", etc.
52 54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
53 55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** See also: descendants, info, leaves
54 56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
55 57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void finfo_cmd(void){
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ capture_case_sensitive_option();
56 59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_must_be_within_tree();
57 60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (find_option("status","s",0)) {
58 61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q;
59 62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob line;
60 63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob fname;
@@ -67,11 +70,12 @@
67 70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
68 71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
vfile_check_signature(vid, 1, 0);
69 72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file_tree_name(g.argv[2], &fname, 1);
70 73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_prepare(&q,
71 74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT pathname, deleted, rid, chnged, coalesce(origname!=pathname,0)"
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " FROM vfile WHERE vfile.pathname=%B", &fname);
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " FROM vfile WHERE vfile.pathname=%B %s",
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ &fname, filename_collation());
73 77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&line);
74 78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if ( db_step(&q)==SQLITE_ROW ) {
75 79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob uuid;
76 80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int isDeleted = db_column_int(&q, 1);
77 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int isNew = db_column_int(&q,2) == 0;
@@ -80,12 +84,12 @@
80 84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
81 85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&uuid);
82 86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_blob(&uuid,
83 87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT uuid FROM blob, mlink, vfile WHERE "
84 88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"blob.rid = mlink.mid AND mlink.fid = vfile.rid AND "
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "vfile.pathname=%B",
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- &fname
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "vfile.pathname=%B %s",
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ &fname, filename_collation()
87 91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
88 92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( isNew ){
89 93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&line, "new");
90 94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( isDeleted ){
91 95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&line, "deleted");
@@ -113,11 +117,12 @@
113 117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
114 118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file_tree_name(g.argv[2], &fname, 1);
115 119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zRevision ){
116 120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
historical_version_of_file(zRevision, blob_str(&fname), &record, 0, 0, 0);
117 121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int rid = db_int(0, "SELECT rid FROM vfile WHERE pathname=%B", &fname);
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int rid = db_int(0, "SELECT rid FROM vfile WHERE pathname=%B %s",
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ &fname, filename_collation());
119 124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rid==0 ){
120 125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("no history for file: %b", &fname);
121 126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
122 127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
content_get(rid, &record);
123 128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -144,27 +149,28 @@
144 149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
iBrief = (find_option("brief","b",0) == 0);
145 150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc!=3 ){
146 151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
usage("?-l|--log? ?-b|--brief? FILENAME");
147 152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
148 153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file_tree_name(g.argv[2], &fname, 1);
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rid = db_int(0, "SELECT rid FROM vfile WHERE pathname=%B", &fname);
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = db_int(0, "SELECT rid FROM vfile WHERE pathname=%B %s",
155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ &fname, filename_collation());
150 156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rid==0 ){
151 157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("no history for file: %b", &fname);
152 158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
153 159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFilename = blob_str(&fname);
154 160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_prepare(&q,
155 161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT b.uuid, ci.uuid, date(event.mtime,'localtime'),"
156 162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" coalesce(event.ecomment, event.comment),"
157 163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" coalesce(event.euser, event.user)"
158 164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" FROM mlink, blob b, event, blob ci, filename"
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE filename.name=%Q"
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE filename.name=%Q %s"
160 166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND mlink.fnid=filename.fnid"
161 167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND b.rid=mlink.fid"
162 168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND event.objid=mlink.mid"
163 169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND event.objid=ci.rid"
164 170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ORDER BY event.mtime DESC LIMIT %d OFFSET %d",
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zFilename, iLimit, iOffset
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zFilename, filename_collation(), iLimit, iOffset
166 172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
167 173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&line);
168 174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( iBrief ){
169 175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print("History of %s\n", blob_str(&fname));
170 176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -243,14 +249,14 @@
243 249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" (SELECT uuid FROM blob WHERE rid=mlink.mid)," /* Check-in uuid */
244 250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" event.bgcolor," /* Background color */
245 251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" (SELECT value FROM tagxref WHERE tagid=%d AND tagtype>0"
246 252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND tagxref.rid=mlink.mid)" /* Tags */
247 253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" FROM mlink, event"
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE mlink.fnid=(SELECT fnid FROM filename WHERE name=%Q)"
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE mlink.fnid IN (SELECT fnid FROM filename WHERE name=%Q %s)"
249 255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND event.objid=mlink.mid",
250 256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
TAG_BRANCH,
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zFilename
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zFilename, filename_collation()
252 258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
253 259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (zA = P("a"))!=0 ){
254 260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&sql, " AND event.mtime>=julianday('%q')", zA);
255 261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
256 262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (zB = P("b"))!=0 ){
257 263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!