Fossil

Check-in [3e7c7e2277]
Login

Check-in [3e7c7e2277]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Simplify the command property of "abbreviated-subcommands" to just "abbrv-subcom" and the setting property of "show-only-if-changed" to just "if-chng".
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 3e7c7e227733b1004f694784f6eb24f3108227b365a43dc49a3888e9be9ece97
User & Date: drh 2025-03-19 11:31:20.790
Context
2025-03-19
11:50
Optionally show or hide the "if-chng" settings on the Setup→Settings page. ... (check-in: f60bd4a752 user: drh tags: trunk)
11:31
Simplify the command property of "abbreviated-subcommands" to just "abbrv-subcom" and the setting property of "show-only-if-changed" to just "if-chng". ... (check-in: 3e7c7e2277 user: drh tags: trunk)
11:21
Add documentation for various settings that influence the display of timelines, but only display them if their values are different from the default. ... (check-in: 1f78e794d3 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/alerts.c.
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
** are sent when email-send-method is "relay".  There should be an
** SMTP server configured as a Mail Submission Agent listening on the
** designated host and port and all times.
*/


/*
** COMMAND: alerts*                     abbreviated-subcommands
**
** Usage: %fossil alerts SUBCOMMAND ARGS...
**
** Subcommands:
**
**    pending                 Show all pending alerts.  Useful for debugging.
**







|







1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
** are sent when email-send-method is "relay".  There should be an
** SMTP server configured as a Mail Submission Agent listening on the
** designated host and port and all times.
*/


/*
** COMMAND: alerts*                     abbrv-subcom
**
** Usage: %fossil alerts SUBCOMMAND ARGS...
**
** Subcommands:
**
**    pending                 Show all pending alerts.  Useful for debugging.
**
Changes to src/allrepo.c.
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  int i;
  for(i=iStart; i<g.argc; i++){
    blob_appendf(pExtra, " %s", g.argv[i]);
  }
}

/*
** COMMAND: all               abbreviated-subcommands
**
** Usage: %fossil all SUBCOMMAND ...
**
** The ~/.fossil file records the location of all repositories for a
** user.  This command performs certain operations on all repositories
** that can be useful before or after a period of disconnected operation.
**







|







49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  int i;
  for(i=iStart; i<g.argc; i++){
    blob_appendf(pExtra, " %s", g.argv[i]);
  }
}

/*
** COMMAND: all               abbrv-subcom
**
** Usage: %fossil all SUBCOMMAND ...
**
** The ~/.fossil file records the location of all repositories for a
** user.  This command performs certain operations on all repositories
** that can be useful before or after a period of disconnected operation.
**
Changes to src/cache.c.
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
** database already exists.
*/
void cache_initialize(void){
  sqlite3_close(cacheOpen(1));
}

/*
** COMMAND: cache*                    abbreviated-subcommands
**
** Usage: %fossil cache SUBCOMMAND
**
** Manage the cache used for potentially expensive web pages such as
** /zip and /tarball.   SUBCOMMAND can be:
**
**    clear        Remove all entries from the cache.







|







253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
** database already exists.
*/
void cache_initialize(void){
  sqlite3_close(cacheOpen(1));
}

/*
** COMMAND: cache*                    abbrv-subcom
**
** Usage: %fossil cache SUBCOMMAND
**
** Manage the cache used for potentially expensive web pages such as
** /zip and /tarball.   SUBCOMMAND can be:
**
**    clear        Remove all entries from the cache.
Changes to src/checkin.c.
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
static int tagCmp(const void *a, const void *b){
  char **pA = (char**)a;
  char **pB = (char**)b;
  return fossil_strcmp(pA[0], pB[0]);
}

/*
** SETTING: verify-comments          width=8 default=on show-only-if-changed
**
** This setting determines how much sanity checking, if any, the 
** "fossil commit" and "fossil amend" commands do against check-in
** comments. Recognized values:
**
**     on             (Default) Check for bad syntax in check-in comments
**                    and offer the user a chance to continue editing for







|







2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
static int tagCmp(const void *a, const void *b){
  char **pA = (char**)a;
  char **pB = (char**)b;
  return fossil_strcmp(pA[0], pB[0]);
}

/*
** SETTING: verify-comments          width=8 default=on if-chng
**
** This setting determines how much sanity checking, if any, the 
** "fossil commit" and "fossil amend" commands do against check-in
** comments. Recognized values:
**
**     on             (Default) Check for bad syntax in check-in comments
**                    and offer the user a chance to continue editing for
Changes to src/http_ssl.c.
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
static void trust_location_usable(const char *zPath, const char **pzStore){
  if( *pzStore!=0 ) return;
  if( file_isdir(zPath, ExtFILE)>0 ) *pzStore = zPath;
}
#endif /* FOSSIL_ENABLE_SSL */

/*
** COMMAND: tls-config*                       abbreviated-subcommands
** COMMAND: ssl-config                        abbreviated-subcommands
**
** Usage: %fossil ssl-config [SUBCOMMAND] [OPTIONS...] [ARGS...]
**
** This command is used to view or modify the TLS (Transport Layer
** Security) configuration for Fossil.  TLS (formerly SSL) is the
** encryption technology used for secure HTTPS transport.
**







|
|







908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
static void trust_location_usable(const char *zPath, const char **pzStore){
  if( *pzStore!=0 ) return;
  if( file_isdir(zPath, ExtFILE)>0 ) *pzStore = zPath;
}
#endif /* FOSSIL_ENABLE_SSL */

/*
** COMMAND: tls-config*                       abbrv-subcom
** COMMAND: ssl-config                        abbrv-subcom
**
** Usage: %fossil ssl-config [SUBCOMMAND] [OPTIONS...] [ARGS...]
**
** This command is used to view or modify the TLS (Transport Layer
** Security) configuration for Fossil.  TLS (formerly SSL) is the
** encryption technology used for secure HTTPS transport.
**
Changes to src/printf.c.
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
  int n = 0;
  while( (N-- != 0) && *(z++)!=0 ){ n++; }
  return n;
}
#endif

/*
** SETTING: timeline-plaintext         boolean default=off show-only-if-changed
**
** If enabled, no wiki-formatting is done for timeline comment messages.
** Hyperlinks are activated, but they show up on screen using the 
** complete input text, not just the display text.  No other formatting
** is done.
*/
/*
** SETTING: timeline-block-markup      boolean default=off show-only-if-changed
**
** If enabled, block markup (paragraph brakes, tables, lists, headings, etc)
** is enabled while rendering check-in comment message on the timeline.
** This is disabled by default, because the timeline works best if the
** check-in comments are short and do not take up too much vertical space.
*/
/*
** SETTING: timeline-hard-newlines     boolean default=off show-only-if-changed
**
** If enabled, the timeline honors newline characters in check-in comments.
** In other words, newlines are coverted into <br> for HTML display.
** The default behavior, when this setting is off, is that newlines are
** treated like any other whitespace character.
*/








|







|







|







239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
  int n = 0;
  while( (N-- != 0) && *(z++)!=0 ){ n++; }
  return n;
}
#endif

/*
** SETTING: timeline-plaintext         boolean default=off if-chng
**
** If enabled, no wiki-formatting is done for timeline comment messages.
** Hyperlinks are activated, but they show up on screen using the 
** complete input text, not just the display text.  No other formatting
** is done.
*/
/*
** SETTING: timeline-block-markup      boolean default=off if-chng
**
** If enabled, block markup (paragraph brakes, tables, lists, headings, etc)
** is enabled while rendering check-in comment message on the timeline.
** This is disabled by default, because the timeline works best if the
** check-in comments are short and do not take up too much vertical space.
*/
/*
** SETTING: timeline-hard-newlines     boolean default=off if-chng
**
** If enabled, the timeline honors newline characters in check-in comments.
** In other words, newlines are coverted into <br> for HTML display.
** The default behavior, when this setting is off, is that newlines are
** treated like any other whitespace character.
*/

Changes to src/search.c.
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
  if( db_table_exists("repository","chat") ){
    chat_rebuild_index(1);
  }
  fossil_print(" done\n");
}

/*
** COMMAND: fts-config*                    abbreviated-subcommands
**
** Usage: fossil fts-config ?SUBCOMMAND? ?ARGUMENT?
**
** The "fossil fts-config" command configures the full-text search capabilities
** of the repository.  Subcommands:
**
**    reindex            Rebuild the search index.  This is a no-op if







|







2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
  if( db_table_exists("repository","chat") ){
    chat_rebuild_index(1);
  }
  fossil_print(" done\n");
}

/*
** COMMAND: fts-config*                    abbrv-subcom
**
** Usage: fossil fts-config ?SUBCOMMAND? ?ARGUMENT?
**
** The "fossil fts-config" command configures the full-text search capabilities
** of the repository.  Subcommands:
**
**    reindex            Rebuild the search index.  This is a no-op if
Changes to src/timeline.c.
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
  if( cgi_is_loopback(g.zIpAddr) && db_open_local(0) ){
    vid = db_lget_int("checkout", 0);
  }
  zPrevDate[0] = 0;
  mxWikiLen = db_get_int("timeline-max-comment", 0);
  dateFormat = db_get_int("timeline-date-format", 0);
  /*
  ** SETTING: timeline-truncate-at-blank  boolean default=off show-only-if-changed
  **
  ** If enabled, check-in comments displayed on the timeline are truncated
  ** at the first blank line of the comment text.  The comment text after
  ** the first blank line is only seen in the /info or similar pages that
  ** show details about the check-in.
  */
  bCommentGitStyle = db_get_int("timeline-truncate-at-blank", 0);
  /*
  ** SETTING: timeline-tslink-info       boolean default=off show-only-if-changed
  **
  ** The hyperlink on the timestamp associated with each timeline entry,
  ** on the far left-hand side of the screen, normally targets another
  ** /timeline page that shows the entry in context.  However, if this
  ** option is turned on, that hyperlink targets the /info page showing
  ** the details of the entry.
  */







|








|







220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
  if( cgi_is_loopback(g.zIpAddr) && db_open_local(0) ){
    vid = db_lget_int("checkout", 0);
  }
  zPrevDate[0] = 0;
  mxWikiLen = db_get_int("timeline-max-comment", 0);
  dateFormat = db_get_int("timeline-date-format", 0);
  /*
  ** SETTING: timeline-truncate-at-blank  boolean default=off if-chng
  **
  ** If enabled, check-in comments displayed on the timeline are truncated
  ** at the first blank line of the comment text.  The comment text after
  ** the first blank line is only seen in the /info or similar pages that
  ** show details about the check-in.
  */
  bCommentGitStyle = db_get_int("timeline-truncate-at-blank", 0);
  /*
  ** SETTING: timeline-tslink-info       boolean default=off if-chng
  **
  ** The hyperlink on the timestamp associated with each timeline entry,
  ** on the far left-hand side of the screen, normally targets another
  ** /timeline page that shows the entry in context.  However, if this
  ** option is turned on, that hyperlink targets the /info page showing
  ** the details of the entry.
  */
Changes to src/unversioned.c.
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
    if( fossil_isspace(zName[0]) ) return 1;
    zName++;
  }
  return 0;
}

/*
** COMMAND: uv#                           abbreviated-subcommands
** COMMAND: unversioned                   abbreviated-subcommands
**
** Usage: %fossil unversioned SUBCOMMAND ARGS...
**    or: %fossil uv SUBCOMMAND ARGS..
**
** Unversioned files (UV-files) are artifacts that are synced and are available
** for download but which do not preserve history.  Only the most recent version
** of each UV-file is retained.  Changes to an UV-file are permanent and cannot







|
|







216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
    if( fossil_isspace(zName[0]) ) return 1;
    zName++;
  }
  return 0;
}

/*
** COMMAND: uv#                           abbrv-subcom
** COMMAND: unversioned                   abbrv-subcom
**
** Usage: %fossil unversioned SUBCOMMAND ARGS...
**    or: %fossil uv SUBCOMMAND ARGS..
**
** Unversioned files (UV-files) are artifacts that are synced and are available
** for download but which do not preserve history.  Only the most recent version
** of each UV-file is retained.  Changes to an UV-file are permanent and cannot
Changes to tools/mkindex.c.
280
281
282
283
284
285
286
287

288
289

290
291
292
293
294
295
296
      aEntry[nUsed].zDflt = string_dup(&zLine[i+8], j-8);
    }else if( j>9 && strncmp(&zLine[i], "variable=", 9)==0 ){
      aEntry[nUsed].zVar = string_dup(&zLine[i+9], j-9);
    }else if( j==6 && strncmp(&zLine[i], "hidden", 6)==0 ){
      aEntry[nUsed].eType |= CMDFLAG_HIDDEN;
    }else if( j==14 && strncmp(&zLine[i], "loadavg-exempt", 14)==0 ){
      aEntry[nUsed].eType |= CMDFLAG_LDAVG_EXEMPT;
    }else if( j==23 && strncmp(&zLine[i], "abbreviated-subcommands", 23)==0 ){

      aEntry[nUsed].eType |= CMDFLAG_ABBREVSUBCMD;
    }else if( j==20 && strncmp(&zLine[i], "show-only-if-changed", 20)==0 ){

      aEntry[nUsed].eType |= CMDFLAG_IFCHNG;
    }else{
      fprintf(stderr, "%s:%d: unknown option: '%.*s'\n",
              zFile, nLine, j, &zLine[i]);
      nErr++;
    }
  }







|
>

|
>







280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
      aEntry[nUsed].zDflt = string_dup(&zLine[i+8], j-8);
    }else if( j>9 && strncmp(&zLine[i], "variable=", 9)==0 ){
      aEntry[nUsed].zVar = string_dup(&zLine[i+9], j-9);
    }else if( j==6 && strncmp(&zLine[i], "hidden", 6)==0 ){
      aEntry[nUsed].eType |= CMDFLAG_HIDDEN;
    }else if( j==14 && strncmp(&zLine[i], "loadavg-exempt", 14)==0 ){
      aEntry[nUsed].eType |= CMDFLAG_LDAVG_EXEMPT;
    }else if( (j==23 && strncmp(&zLine[i], "abbreviated-subcommands", 23)==0)
           || (j==12 && strncmp(&zLine[i], "abbrv-subcom", 12)==0) ){
      aEntry[nUsed].eType |= CMDFLAG_ABBREVSUBCMD;
    }else if( (j==20 && strncmp(&zLine[i], "show-only-if-changed", 20)==0)
           || (j==7  && strncmp(&zLine[i], "if-chng", 7)==0) ){
      aEntry[nUsed].eType |= CMDFLAG_IFCHNG;
    }else{
      fprintf(stderr, "%s:%d: unknown option: '%.*s'\n",
              zFile, nLine, j, &zLine[i]);
      nErr++;
    }
  }