Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Improve "whatis" output when in "filename" mode and parse supported whatis options when using "fossil all whatis". |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
e1e9da26f68fe963e203063852f8e199 |
| User & Date: | mgagnon 2023-12-14 16:29:30.502 |
Context
|
2023-12-14
| ||
| 17:24 | Update the built-in SQLite to the latest trunk version that is destined to become 3.45.0 someday. This is beta-testing for SQLite. check-in: 70cae0a964 user: drh tags: trunk | |
| 16:29 | Improve "whatis" output when in "filename" mode and parse supported whatis options when using "fossil all whatis". check-in: e1e9da26f6 user: mgagnon tags: trunk | |
| 03:21 | Updated the changelog with a few recent developments check-in: 8d3b63e6e8 user: wyoung tags: trunk | |
Changes
Changes to src/allrepo.c.
| ︙ | ︙ | |||
29 30 31 32 33 34 35 |
*/
static void collect_argument(Blob *pExtra,const char *zArg,const char *zShort){
const char *z = find_option(zArg, zShort, 0);
if( z!=0 ){
blob_appendf(pExtra, " %s", z);
}
}
| | > > | | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
*/
static void collect_argument(Blob *pExtra,const char *zArg,const char *zShort){
const char *z = find_option(zArg, zShort, 0);
if( z!=0 ){
blob_appendf(pExtra, " %s", z);
}
}
static void collect_argument_value(
Blob *pExtra, const char *zArg, const char *zShort
){
const char *zValue = find_option(zArg, zShort, 1);
if( zValue ){
if( zValue[0] ){
blob_appendf(pExtra, " --%s %$", zArg, zValue);
}else{
blob_appendf(pExtra, " --%s \"\"", zArg);
}
}
|
| ︙ | ︙ | |||
208 209 210 211 212 213 214 |
if( file_isdir(zDest, ExtFILE)!=1 ){
fossil_fatal("argument to \"fossil all backup\" must be a directory");
}
blob_appendf(&extra, " %$", zDest);
}else if( fossil_strcmp(zCmd, "clean")==0 ){
zCmd = "clean --chdir";
collect_argument(&extra, "allckouts",0);
| | | | | | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 |
if( file_isdir(zDest, ExtFILE)!=1 ){
fossil_fatal("argument to \"fossil all backup\" must be a directory");
}
blob_appendf(&extra, " %$", zDest);
}else if( fossil_strcmp(zCmd, "clean")==0 ){
zCmd = "clean --chdir";
collect_argument(&extra, "allckouts",0);
collect_argument_value(&extra, "case-sensitive", 0);
collect_argument_value(&extra, "clean", 0);
collect_argument(&extra, "dirsonly",0);
collect_argument(&extra, "disable-undo",0);
collect_argument(&extra, "dotfiles",0);
collect_argument(&extra, "emptydirs",0);
collect_argument(&extra, "force","f");
collect_argument_value(&extra, "ignore", 0);
collect_argument_value(&extra, "keep", 0);
collect_argument(&extra, "no-prompt",0);
collect_argument(&extra, "temp",0);
collect_argument(&extra, "verbose","v");
collect_argument(&extra, "whatif",0);
useCheckouts = 1;
}else if( fossil_strcmp(zCmd, "config")==0 ){
zCmd = "config -R";
|
| ︙ | ︙ | |||
245 246 247 248 249 250 251 |
}else if( fossil_strcmp(zCmd, "extras")==0 ){
if( showFile ){
zCmd = "extras --chdir";
}else{
zCmd = "extras --header --chdir";
}
collect_argument(&extra, "abs-paths",0);
| | | | 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 |
}else if( fossil_strcmp(zCmd, "extras")==0 ){
if( showFile ){
zCmd = "extras --chdir";
}else{
zCmd = "extras --header --chdir";
}
collect_argument(&extra, "abs-paths",0);
collect_argument_value(&extra, "case-sensitive", 0);
collect_argument(&extra, "dotfiles",0);
collect_argument_value(&extra, "ignore", 0);
collect_argument(&extra, "rel-paths",0);
useCheckouts = 1;
stopOnError = 0;
quiet = 1;
}else if( fossil_strcmp(zCmd, "git")==0 ){
if( g.argc<4 ){
usage("git (export|status)");
|
| ︙ | ︙ | |||
278 279 280 281 282 283 284 |
collect_argument(&extra, "share-links",0);
}else if( fossil_strcmp(zCmd, "rebuild")==0 ){
zCmd = "rebuild";
collect_argument(&extra, "cluster",0);
collect_argument(&extra, "compress",0);
collect_argument(&extra, "compress-only",0);
collect_argument(&extra, "noverify",0);
| | | 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 |
collect_argument(&extra, "share-links",0);
}else if( fossil_strcmp(zCmd, "rebuild")==0 ){
zCmd = "rebuild";
collect_argument(&extra, "cluster",0);
collect_argument(&extra, "compress",0);
collect_argument(&extra, "compress-only",0);
collect_argument(&extra, "noverify",0);
collect_argument_value(&extra, "pagesize", 0);
collect_argument(&extra, "vacuum",0);
collect_argument(&extra, "deanalyze",0);
collect_argument(&extra, "analyze",0);
collect_argument(&extra, "wal",0);
collect_argument(&extra, "stats",0);
collect_argument(&extra, "index",0);
collect_argument(&extra, "noindex",0);
|
| ︙ | ︙ | |||
412 413 414 415 416 417 418 419 420 421 422 423 424 425 |
}else if( fossil_strcmp(zCmd, "cache")==0 ){
zCmd = "cache -R";
showLabel = 1;
collect_argv(&extra, 3);
}else if( fossil_strcmp(zCmd, "whatis")==0 ){
zCmd = "whatis -q -R";
quiet = 1;
collect_argv(&extra, 3);
}else{
fossil_fatal("\"all\" subcommand should be one of: "
"add cache changes clean dbstat extras fts-config git ignore "
"info list ls pull push rebuild remote "
"server setting sync ui unset whatis");
}
| > > | 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 |
}else if( fossil_strcmp(zCmd, "cache")==0 ){
zCmd = "cache -R";
showLabel = 1;
collect_argv(&extra, 3);
}else if( fossil_strcmp(zCmd, "whatis")==0 ){
zCmd = "whatis -q -R";
quiet = 1;
collect_argument(&extra, "file", "f");
collect_argument_value(&extra, "type", 0);
collect_argv(&extra, 3);
}else{
fossil_fatal("\"all\" subcommand should be one of: "
"add cache changes clean dbstat extras fts-config git ignore "
"info list ls pull push rebuild remote "
"server setting sync ui unset whatis");
}
|
| ︙ | ︙ |
Changes to src/name.c.
| ︙ | ︙ | |||
1161 1162 1163 1164 1165 1166 1167 |
*/
void whatis_artifact(
const char *zName, /* Symbolic name or full hash */
const char *zFileName,/* Optional: original filename (in file mode) */
const char *zType, /* Artifact type filter */
int mFlags /* WHATIS_* flags */
){
| < < < < < > > > | > > > > > > | | 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 |
*/
void whatis_artifact(
const char *zName, /* Symbolic name or full hash */
const char *zFileName,/* Optional: original filename (in file mode) */
const char *zType, /* Artifact type filter */
int mFlags /* WHATIS_* flags */
){
int rid = symbolic_name_to_rid(zName, zType);
if( rid<0 ){
Stmt q;
int cnt = 0;
if( mFlags & WHATIS_REPO ){
fossil_print("\nrepository: %s\n", g.zRepositoryName);
}
if( zFileName ){
fossil_print("%-12s%s\n", "name:", zFileName);
}
fossil_print("%-12s%s (ambiguous)\n", "hash:", zName);
db_prepare(&q,
"SELECT rid FROM blob WHERE uuid>=lower(%Q) AND uuid<(lower(%Q)||'z')",
zName, zName
);
while( db_step(&q)==SQLITE_ROW ){
if( cnt++ ) fossil_print("%12s---- meaning #%d ----\n", " ", cnt);
whatis_rid(db_column_int(&q, 0), mFlags);
}
db_finalize(&q);
}else if( rid==0 ){
if( (mFlags & WHATIS_OMIT_UNK)==0 ){
/* 0123456789 12 */
if( zFileName ){
fossil_print("%-12s%s\n", "name:", zFileName);
}
fossil_print("unknown: %s\n", zName);
}
}else{
if( mFlags & WHATIS_REPO ){
fossil_print("\nrepository: %s\n", g.zRepositoryName);
}
if( zFileName ){
zName = zFileName;
}
fossil_print("%-12s%s\n", "name:", zName);
whatis_rid(rid, mFlags);
}
}
/*
** COMMAND: whatis*
**
|
| ︙ | ︙ |