@@ -21,32 +21,115 @@
21 21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include "config.h"
22 22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include "checkin.h"
23 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include <assert.h>
24 24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
25 25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Generate text describing all changes. Prepend zPrefix to each line
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** of output.
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Change filter options.
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ enum {
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Zero-based bit indexes. */
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ CB_EDITED , CB_UPDATED , CB_CHANGED, CB_MISSING , CB_ADDED, CB_DELETED,
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ CB_RENAMED, CB_CONFLICT, CB_META , CB_UNCHANGED, CB_EXTRA, CB_MERGE ,
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ CB_RELPATH, CB_CLASSIFY, CB_MTIME , CB_SIZE , CB_FATAL, CB_COMMENT,
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Bitmask values. */
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_EDITED = 1 << CB_EDITED, /* Edited, merged, and conflicted files. */
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_UPDATED = 1 << CB_UPDATED, /* Files updated by merge/integrate. */
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_CHANGED = 1 << CB_CHANGED, /* Treated the same as the above two. */
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_MISSING = 1 << CB_MISSING, /* Missing and non- files. */
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_ADDED = 1 << CB_ADDED, /* Added files. */
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_DELETED = 1 << CB_DELETED, /* Deleted files. */
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_RENAMED = 1 << CB_RENAMED, /* Renamed files. */
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_CONFLICT = 1 << CB_CONFLICT, /* Files having merge conflicts. */
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_META = 1 << CB_META, /* Files with metadata changes. */
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_UNCHANGED = 1 << CB_UNCHANGED, /* Unchanged files. */
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_EXTRA = 1 << CB_EXTRA, /* Unmanaged files. */
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_MERGE = 1 << CB_MERGE, /* Merge contributors. */
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_FILTER = C_EDITED | C_UPDATED | C_CHANGED | C_MISSING | C_ADDED
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ | C_DELETED | C_RENAMED | C_CONFLICT | C_META | C_UNCHANGED
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ | C_EXTRA | C_MERGE, /* All filter bits. */
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_ALL = C_FILTER & ~(C_EXTRA | C_MERGE),/* All managed files. */
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_DIFFER = C_FILTER & ~(C_UNCHANGED | C_MERGE),/* All differences. */
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_RELPATH = 1 << CB_RELPATH, /* Show relative paths. */
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_CLASSIFY = 1 << CB_CLASSIFY, /* Show file change types. */
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_DEFAULT = (C_ALL & ~C_UNCHANGED) | C_MERGE | C_CLASSIFY,
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_MTIME = 1 << CB_MTIME, /* Show file modification time. */
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_SIZE = 1 << CB_SIZE, /* Show file size in bytes. */
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_FATAL = (1 << CB_FATAL) | C_MISSING, /* Fail on MISSING/NOT_A_FILE. */
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ C_COMMENT = 1 << CB_COMMENT, /* Precede each line with "# ". */
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Create a TEMP table named SFILE and add all unmanaged files named on
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the command-line to that table. If directories are named, then add
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** all unmanaged files contained underneath those directories. If there
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** are no files or directories named on the command-line, then add all
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** unmanaged files anywhere in the checkout.
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void locate_unmanaged_files(
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int argc, /* Number of command-line arguments to examine */
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char **argv, /* values of command-line arguments */
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned scanFlags, /* Zero or more SCAN_xxx flags */
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Glob *pIgnore /* Do not add files that match this GLOB */
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ){
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob name; /* Name of a candidate file or directory */
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zName; /* Name of a candidate file or directory */
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isDir; /* 1 for a directory, 0 if doesn't exist, 2 for anything else */
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int i; /* Loop counter */
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int nRoot; /* length of g.zLocalRoot */
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec("CREATE TEMP TABLE sfile(pathname TEXT PRIMARY KEY %s,"
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " mtime INTEGER, size INTEGER)", filename_collation());
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ nRoot = (int)strlen(g.zLocalRoot);
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( argc==0 ){
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&name, g.zLocalRoot, nRoot - 1);
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vfile_scan(&name, blob_size(&name), scanFlags, pIgnore, 0);
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&name);
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<argc; i++){
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ file_canonical_name(argv[i], &name, 0);
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zName = blob_str(&name);
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ isDir = file_wd_isdir(zName);
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isDir==1 ){
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vfile_scan(&name, nRoot-1, scanFlags, pIgnore, 0);
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( isDir==0 ){
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_warning("not found: %s", &zName[nRoot]);
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( file_access(zName, R_OK) ){
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("cannot open %s", &zName[nRoot]);
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec(
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "INSERT OR IGNORE INTO sfile(pathname) VALUES(%Q)",
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ &zName[nRoot]
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&name);
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Generate text describing all changes.
28 111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
29 112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** We assume that vfile_check_signature has been run.
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** If missingIsFatal is true, then any files that are missing or which
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** are not true files results in a fatal error.
33 113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
34 114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void status_report(
35 115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob *report, /* Append the status report here */
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zPrefix, /* Prefix on each line of the report */
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int missingIsFatal, /* MISSING and NOT_A_FILE are fatal errors */
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int cwdRelative /* Report relative to the current working dir */
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned flags /* Filter and other configuration flags */
39 117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
40 118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q;
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int nPrefix = strlen(zPrefix);
42 119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nErr = 0;
43 120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob rewrittenPathname;
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob where;
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob sql = BLOB_INITIALIZER, where = BLOB_INITIALIZER;
45 122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName;
46 123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
47 124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Skip the file report if no files are requested at all. */
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !(flags & (C_ALL | C_EXTRA)) ){
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ goto skipFiles;
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Assemble the path-limiting WHERE clause, if any. */
48 131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&where);
49 132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=2; i<g.argc; i++){
50 133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob fname;
51 134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file_tree_name(g.argv[i], &fname, 0, 1);
52 135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zName = blob_str(&fname);
@@ -61,99 +144,187 @@
61 144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
filename_collation(), zName, filename_collation(),
62 145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zName, filename_collation()
63 146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
64 147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
65 148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&q,
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT pathname, deleted, chnged,"
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " rid, coalesce(origname!=pathname,0), islink"
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " FROM vfile "
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE is_selected(id) %s"
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND (chnged OR deleted OR rid=0 OR pathname!=origname)"
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ORDER BY 1 /*scan*/",
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_sql_text(&where)
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_zero(&rewrittenPathname);
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( db_step(&q)==SQLITE_ROW ){
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zPathname = db_column_text(&q,0);
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zDisplayName = zPathname;
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int isDeleted = db_column_int(&q, 1);
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int isChnged = db_column_int(&q,2);
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int isNew = db_column_int(&q,3)==0;
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int isRenamed = db_column_int(&q,4);
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int isLink = db_column_int(&q,5);
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( cwdRelative ){
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- file_relative_name(zFullName, &rewrittenPathname, 0);
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDisplayName = blob_str(&rewrittenPathname);
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zDisplayName[0]=='.' && zDisplayName[1]=='/' ){
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDisplayName += 2; /* no unnecessary ./ prefix */
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(report, zPrefix, nPrefix);
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( isDeleted ){
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "DELETED %s\n", zDisplayName);
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( !file_wd_isfile_or_link(zFullName) ){
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( file_access(zFullName, F_OK)==0 ){
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "NOT_A_FILE %s\n", zDisplayName);
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( missingIsFatal ){
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_warning("not a file: %s", zDisplayName);
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- nErr++;
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "MISSING %s\n", zDisplayName);
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( missingIsFatal ){
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_warning("missing file: %s", zDisplayName);
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- nErr++;
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isNew ){
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "ADDED %s\n", zDisplayName);
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isChnged ){
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( isChnged==2 ){
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "UPDATED_BY_MERGE %s\n", zDisplayName);
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isChnged==3 ){
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "ADDED_BY_MERGE %s\n", zDisplayName);
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isChnged==4 ){
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "UPDATED_BY_INTEGRATE %s\n", zDisplayName);
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isChnged==5 ){
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "ADDED_BY_INTEGRATE %s\n", zDisplayName);
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isChnged==6 ){
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "EXECUTABLE %s\n", zDisplayName);
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isChnged==7 ){
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "SYMLINK %s\n", zDisplayName);
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isChnged==8 ){
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "UNEXEC %s\n", zDisplayName);
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isChnged==9 ){
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "UNLINK %s\n", zDisplayName);
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( !isLink && file_contains_merge_marker(zFullName) ){
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "CONFLICT %s\n", zDisplayName);
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "EDITED %s\n", zDisplayName);
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isRenamed ){
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "RENAMED %s\n", zDisplayName);
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- report->nUsed -= nPrefix;
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Obtain the list of managed files if appropriate. */
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&sql);
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_ALL ){
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Start with a list of all managed files. */
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&sql,
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "SELECT pathname, %s as mtime, %s as size, deleted, chnged, rid,"
155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " coalesce(origname!=pathname,0) AS renamed, islink, 1 AS managed"
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " FROM vfile, blob USING (rid)"
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE is_selected(id)%s",
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags & C_MTIME ? "datetime(checkin_mtime(:vid, rid), "
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "'unixepoch', toLocal())" : "''" /*safe-for-%s*/,
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags & C_SIZE ? "blob.size" : "0" /*safe-for-%s*/,
161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_sql_text(&where));
162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Exclude unchanged files unless requested. */
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !(flags & C_UNCHANGED) ){
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&sql,
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND (chnged OR deleted OR rid=0 OR pathname!=origname)");
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* If C_EXTRA, add unmanaged files to the query result too. */
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_EXTRA ){
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( blob_size(&sql) ){
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&sql, " UNION ALL");
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&sql,
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT pathname, %s, %s, 0, 0, 0, 0, 0, 0"
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " FROM sfile WHERE pathname NOT IN (%s)%s",
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags & C_MTIME ? "datetime(mtime, 'unixepoch', toLocal())" : "''",
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags & C_SIZE ? "size" : "0",
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_all_reserved_names(0), blob_sql_text(&where));
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&where);
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Pre-create the "ok" temporary table so the checkin_mtime() SQL function
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * does not lead to SQLITE_ABORT_ROLLBACK during execution of the OP_OpenRead
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * SQLite opcode. checkin_mtime() calls mtime_of_manifest_file() which
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * creates a temporary table if it doesn't already exist, thus invalidating
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * the prepared statement in the middle of its execution. */
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec("CREATE TEMP TABLE IF NOT EXISTS ok(rid INTEGER PRIMARY KEY)");
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Append an ORDER BY clause then compile the query. */
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&sql, " ORDER BY pathname");
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_prepare(&q, "%s", blob_sql_text(&sql));
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&sql);
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Bind the checkout version ID to the query if needed. */
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (flags & C_ALL) && (flags & C_MTIME) ){
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_bind_int(&q, ":vid", db_lget_int("checkout", 0));
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Execute the query and assemble the report. */
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&rewrittenPathname);
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( db_step(&q)==SQLITE_ROW ){
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zPathname = db_column_text(&q, 0);
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zClass = 0;
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isManaged = db_column_int(&q, 8);
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zMtime = db_column_text(&q, 1);
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int size = db_column_int(&q, 2);
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isDeleted = db_column_int(&q, 3);
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isChnged = db_column_int(&q, 4);
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isNew = isManaged && !db_column_int(&q, 5);
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isRenamed = db_column_int(&q, 6);
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isLink = db_column_int(&q, 7);
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int isMissing = !file_wd_isfile_or_link(zFullName);
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Determine the file change classification, if any. */
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (flags & C_DELETED) && isDeleted ){
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "DELETED";
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_MISSING) && isMissing ){
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( file_access(zFullName, F_OK)==0 ){
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "NOT_A_FILE";
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_FATAL ){
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_warning("not a file: %s", zFullName);
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ nErr++;
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "MISSING";
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_FATAL ){
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_warning("missing file: %s", zFullName);
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ nErr++;
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_ADDED) && isNew ){
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "ADDED";
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & (C_UPDATED | C_CHANGED)) && isChnged==2 ){
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "UPDATED_BY_MERGE";
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_ADDED) && isChnged==3 ){
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "ADDED_BY_MERGE";
240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & (C_UPDATED | C_CHANGED)) && isChnged==4 ){
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "UPDATED_BY_INTEGRATE";
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_ADDED) && isChnged==5 ){
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "ADDED_BY_INTEGRATE";
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_META) && isChnged==6 ){
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "EXECUTABLE";
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_META) && isChnged==7 ){
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "SYMLINK";
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_META) && isChnged==8 ){
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "UNEXEC";
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_META) && isChnged==9 ){
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "UNLINK";
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_CONFLICT) && isChnged && !isLink
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && file_contains_merge_marker(zFullName) ){
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "CONFLICT";
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & (C_EDITED | C_CHANGED)) && isChnged
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && (isChnged<2 || isChnged>9) ){
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "EDITED";
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_RENAMED) && isRenamed ){
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "RENAMED";
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_UNCHANGED) && isManaged && !isDeleted && !isMissing
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && !isNew && !isChnged && !isRenamed ){
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "UNCHANGED";
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( (flags & C_EXTRA) && !isManaged ){
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zClass = "EXTRA";
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Only report files for which a change classification was determined. */
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zClass ){
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_COMMENT ){
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, "# ", 2);
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_CLASSIFY ){
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(report, "%-10s ", zClass);
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_MTIME ){
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, zMtime, -1);
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, " ", 2);
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_SIZE ){
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(report, "%7d ", size);
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_RELPATH ){
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* If C_RELPATH, display paths relative to current directory. */
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zDisplayName;
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ file_relative_name(zFullName, &rewrittenPathname, 0);
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zDisplayName = blob_str(&rewrittenPathname);
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zDisplayName[0]=='.' && zDisplayName[1]=='/' ){
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zDisplayName += 2; /* no unnecessary ./ prefix */
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, zDisplayName, -1);
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* If not C_RELPATH, display paths relative to project root. */
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, zPathname, -1);
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, "\n", 1);
137 296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
138 297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
free(zFullName);
139 298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
140 299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&rewrittenPathname);
141 300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&q, "SELECT uuid, id FROM vmerge JOIN blob ON merge=rid"
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE id<=0");
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( db_step(&q)==SQLITE_ROW ){
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zLabel = "MERGED_WITH ";
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- switch( db_column_int(&q, 1) ){
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case -1: zLabel = "CHERRYPICK "; break;
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case -2: zLabel = "BACKOUT "; break;
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case -4: zLabel = "INTEGRATE "; break;
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(report, zPrefix, nPrefix);
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(report, "%s%s\n", zLabel, db_column_text(&q, 0));
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_finalize(&q);
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* If C_MERGE, put merge contributors at the end of the report. */
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ skipFiles:
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_MERGE ){
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_prepare(&q, "SELECT uuid, id FROM vmerge JOIN blob ON merge=rid"
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE id<=0");
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( db_step(&q)==SQLITE_ROW ){
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_COMMENT ){
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, "# ", 2);
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_CLASSIFY ){
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zClass;
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch( db_column_int(&q, 1) ){
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case -1: zClass = "CHERRYPICK" ; break;
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case -2: zClass = "BACKOUT" ; break;
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case -4: zClass = "INTEGRATE" ; break;
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ default: zClass = "MERGED_WITH"; break;
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(report, "%-10s ", zClass);
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, db_column_text(&q, 0), -1);
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(report, "\n", 1);
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_finalize(&q);
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
155 326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nErr ){
156 327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("aborting due to prior errors");
157 328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
158 329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
159 330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -171,115 +342,228 @@
171 342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( absPathOption ){ relativePaths = 0; }
172 343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( relPathOption ){ relativePaths = 1; }
173 344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return relativePaths;
174 345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
175 346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void print_changes(
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int useSha1sum, /* Verify file status using SHA1 hashing rather
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- than relying on file mtimes. */
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int showHdr, /* Identify the repository if there are changes */
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int verboseFlag, /* Say "(none)" if there are no changes */
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int cwdRelative /* Report relative to the current working dir */
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ){
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob report;
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int vid;
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_zero(&report);
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- vid = db_lget_int("checkout", 0);
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- vfile_check_signature(vid, useSha1sum ? CKSIG_SHA1 : 0);
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- status_report(&report, "", 0, cwdRelative);
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( verboseFlag && blob_size(&report)==0 ){
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&report, " (none)\n", -1);
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( showHdr && blob_size(&report)>0 ){
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("Changes for %s at %s:\n", db_get("project-name","???"),
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.zLocalRoot);
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_write_to_file(&report, "-");
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&report);
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** COMMAND: changes
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Usage: %fossil changes ?OPTIONS?
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Report on the edit status of all files in the current checkout.
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Pathnames are displayed according to the "relative-paths" setting,
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** unless overridden by the --abs-paths or --rel-paths options.
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Options:
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --abs-paths Display absolute pathnames.
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --rel-paths Display pathnames relative to the current working
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** directory.
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --sha1sum Verify file status using SHA1 hashing rather
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** than relying on file mtimes.
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --header Identify the repository if there are changes
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** -v|--verbose Say "(none)" if there are no changes
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** See also: extras, ls, status
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void changes_cmd(void){
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int useSha1sum = find_option("sha1sum", 0, 0)!=0;
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int showHdr = find_option("header",0,0)!=0;
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int verboseFlag = find_option("verbose","v",0)!=0;
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int cwdRelative = 0;
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_must_be_within_tree();
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cwdRelative = determine_cwd_relative_option();
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* We should be done with options.. */
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- verify_all_options();
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- print_changes(useSha1sum, showHdr, verboseFlag, cwdRelative);
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** COMMAND: status
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Usage: %fossil status ?OPTIONS?
240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Report on the status of the current checkout.
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Pathnames are displayed according to the "relative-paths" setting,
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** unless overridden by the --abs-paths or --rel-paths options.
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Options:
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --abs-paths Display absolute pathnames.
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --rel-paths Display pathnames relative to the current working
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** directory.
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --sha1sum Verify file status using SHA1 hashing rather
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** than relying on file mtimes.
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** See also: changes, extras, ls
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void status_cmd(void){
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int vid;
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int useSha1sum = find_option("sha1sum", 0, 0)!=0;
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int showHdr = find_option("header",0,0)!=0;
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int verboseFlag = find_option("verbose","v",0)!=0;
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int cwdRelative = 0;
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_must_be_within_tree();
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* 012345678901234 */
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cwdRelative = determine_cwd_relative_option();
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* We should be done with options.. */
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- verify_all_options();
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("repository: %s\n", db_repository_filename());
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("local-root: %s\n", g.zLocalRoot);
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.zConfigDbName ){
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("config-db: %s\n", g.zConfigDbName);
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- vid = db_lget_int("checkout", 0);
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( vid ){
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- show_common_info(vid, "checkout:", 1, 1);
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_record_repository_filename(0);
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- print_changes(useSha1sum, showHdr, verboseFlag, cwdRelative);
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- leaf_ambiguity_warning(vid, vid);
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** COMMAND: changes
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** COMMAND: status
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Usage: %fossil changes|status ?OPTIONS? ?PATHS ...?
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Report the change status of files in the current checkout. If one or
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** more PATHS are specified, only changes among the named files and
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** directories are reported. Directories are searched recursively.
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** The status command is similar to the changes command, except it lacks
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** several of the options supported by changes and it has its own header
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** and footer information. The header information is a subset of that
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** shown by the info command, and the footer shows if there are any forks.
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Change type classification is always enabled for the status command.
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Each line of output is the name of a changed file, with paths shown
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** according to the "relative-paths" setting, unless overridden by the
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --abs-paths or --rel-paths options.
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** By default, all changed files are selected for display. This behavior
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** can be overridden by using one or more filter options (listed below),
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** in which case only files with the specified change type(s) are shown.
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** As a special case, the --no-merge option does not inhibit this default.
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** This default shows exactly the set of changes that would be checked
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** in by the commit command.
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** If no filter options are used, or if the --merge option is used, the
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** SHA1 hash of each merge contributor check-in version is displayed at
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the end of the report. The --no-merge option is useful to display the
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** default set of changed files without the merge contributors.
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** If change type classification is enabled, each output line starts with
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** a code describing the file's change type, e.g. EDITED or RENAMED. It
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** is enabled by default unless exactly one change type is selected. For
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the purposes of determining the default, --changed counts as selecting
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** one change type. The default can be overridden by the --classify or
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --no-classify options.
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** If both --merge and --no-merge are used, --no-merge has priority. The
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** same is true of --classify and --no-classify.
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** The "fossil changes --extra" command is equivalent to "fossil extras".
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --edited and --updated produce disjoint sets. --updated shows a file
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** only when it is identical to that of its merge contributor, and the
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** change type classification is UPDATED_BY_MERGE or UPDATED_BY_INTEGRATE.
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** If the file had to be merged with any other changes, it is considered
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** to be merged or conflicted and therefore will be shown by --edited, not
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --updated, with types EDITED or CONFLICT. The --changed option can be
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** used to display the union of --edited and --updated.
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --differ is so named because it lists all the differences between the
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** checked-out version and the checkout directory. In addition to the
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** default changes (besides --merge), it lists extra files which (assuming
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** ignore-glob is set correctly) may be worth adding. Prior to doing a
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** commit, it is good practice to check --differ to see not only which
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** changes would be committed but also if any files need to be added.
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** General options:
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --abs-paths Display absolute pathnames.
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --rel-paths Display pathnames relative to the current working
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** directory.
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --sha1sum Verify file status using SHA1 hashing rather than
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** relying on file mtimes.
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --case-sensitive <BOOL> Override case-sensitive setting.
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --dotfiles Include unmanaged files beginning with a dot.
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --ignore <CSG> Ignore unmanaged files matching CSG glob patterns.
415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Options specific to the changes command:
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --header Identify the repository if report is non-empty.
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** -v|--verbose Say "(none)" if the change report is empty.
419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --classify Start each line with the file's change type.
420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --no-classify Do not print file change types.
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Filter options:
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --edited Display edited, merged, and conflicted files.
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --updated Display files updated by merge/integrate.
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --changed Combination of the above two options.
426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --missing Display missing files.
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --added Display added files.
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --deleted Display deleted files.
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --renamed Display renamed files.
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --conflict Display files having merge conflicts.
431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --meta Display files with metadata changes.
432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --unchanged Display unchanged files.
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --all Display all managed files, i.e. all of the above.
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --extra Display unmanaged files.
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --differ Display modified and extra files.
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --merge Display merge contributors.
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --no-merge Do not display merge contributors.
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** See also: extras, ls
440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ void status_cmd(void){
442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Affirmative and negative flag option tables. */
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static const struct {
444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *option; /* Flag name. */
445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned mask; /* Flag bits. */
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } flagDefs[] = {
447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"edited" , C_EDITED }, {"updated" , C_UPDATED },
448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"changed" , C_CHANGED }, {"missing" , C_MISSING },
449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"added" , C_ADDED }, {"deleted" , C_DELETED },
450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"renamed" , C_RENAMED }, {"conflict" , C_CONFLICT },
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"meta" , C_META }, {"unchanged" , C_UNCHANGED},
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"all" , C_ALL }, {"extra" , C_EXTRA },
453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"differ" , C_DIFFER }, {"merge" , C_MERGE },
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"classify", C_CLASSIFY},
455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }, noFlagDefs[] = {
456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"no-merge", C_MERGE }, {"no-classify", C_CLASSIFY },
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob report = BLOB_INITIALIZER;
460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ enum {CHANGES, STATUS} command = *g.argv[1]=='s' ? STATUS : CHANGES;
461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int useSha1sum = find_option("sha1sum", 0, 0)!=0;
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int showHdr = command==CHANGES && find_option("header", 0, 0);
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int verboseFlag = command==CHANGES && find_option("verbose", "v", 0);
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zIgnoreFlag = find_option("ignore", 0, 1);
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned scanFlags = 0;
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned flags = 0;
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int vid, i;
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Load affirmative flag options. */
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for( i=0; i<count(flagDefs); ++i ){
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (command==CHANGES || !(flagDefs[i].mask & C_CLASSIFY))
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && find_option(flagDefs[i].option, 0, 0) ){
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags |= flagDefs[i].mask;
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* If no filter options are specified, enable defaults. */
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !(flags & C_FILTER) ){
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags |= C_DEFAULT;
480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* If more than one filter is enabled, enable classification. This is tricky.
483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * Having one filter means flags masked by C_FILTER is a power of two. If a
484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * number masked by one less than itself is zero, it's either zero or a power
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * of two. It's already known to not be zero because of the above defaults.
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * Unlike --all, --changed is a single filter, i.e. it sets only one bit.
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * Also force classification for the status command. */
488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( command==STATUS || (flags & (flags-1) & C_FILTER) ){
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags |= C_CLASSIFY;
490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Negative flag options override defaults applied above. */
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for( i=0; i<count(noFlagDefs); ++i ){
494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (command==CHANGES || !(noFlagDefs[i].mask & C_CLASSIFY))
495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && find_option(noFlagDefs[i].option, 0, 0) ){
496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags &= ~noFlagDefs[i].mask;
497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Confirm current working directory is within checkout. */
501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_must_be_within_tree();
502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Get checkout version. l*/
504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vid = db_lget_int("checkout", 0);
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Relative path flag determination is done by a shared function. */
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( determine_cwd_relative_option() ){
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags |= C_RELPATH;
509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* If --ignore is not specified, use the ignore-glob setting. */
512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !zIgnoreFlag ){
513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zIgnoreFlag = db_get("ignore-glob", 0);
514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Get the --dotfiles argument, or read it from the dotfiles setting. */
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( find_option("dotfiles", 0, 0) || db_get_boolean("dotfiles", 0) ){
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scanFlags = SCAN_ALL;
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* We should be done with options. */
522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ verify_all_options();
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Check for changed files. */
525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vfile_check_signature(vid, useSha1sum ? CKSIG_SHA1 : 0);
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Search for unmanaged files if requested. */
528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( flags & C_EXTRA ){
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Glob *pIgnore = glob_create(zIgnoreFlag);
530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ locate_unmanaged_files(g.argc-2, g.argv+2, scanFlags, pIgnore);
531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ glob_free(pIgnore);
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* The status command prints general information before the change list. */
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( command==STATUS ){
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("repository: %s\n", db_repository_filename());
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("local-root: %s\n", g.zLocalRoot);
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.zConfigDbName ){
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("config-db: %s\n", g.zConfigDbName);
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( vid ){
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ show_common_info(vid, "checkout:", 1, 1);
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_record_repository_filename(0);
545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Find and print all requested changes. */
548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&report);
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ status_report(&report, flags);
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( blob_size(&report) ){
551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( showHdr ){
552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("Changes for %s at %s:\n", db_get("project-name", "???"),
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.zLocalRoot);
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_write_to_file(&report, "-");
556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( verboseFlag ){
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print(" (none)\n");
558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&report);
560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* The status command ends with warnings about ambiguous leaves (forks). */
562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( command==STATUS ){
563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ leaf_ambiguity_warning(vid, vid);
564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
281 565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
282 566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
283 567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
284 568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Take care of -r version of ls command
285 569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -508,59 +792,10 @@
508 792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
free(zFullName);
509 793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
510 794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
511 795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
512 796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Create a TEMP table named SFILE and add all unmanaged files named on
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** the command-line to that table. If directories are named, then add
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** all unmanaged files contained underneath those directories. If there
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** are no files or directories named on the command-line, then add all
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** unmanaged files anywhere in the checkout.
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void locate_unmanaged_files(
521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int argc, /* Number of command-line arguments to examine */
522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char **argv, /* values of command-line arguments */
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- unsigned scanFlags, /* Zero or more SCAN_xxx flags */
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Glob *pIgnore1, /* Do not add files that match this GLOB */
525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Glob *pIgnore2 /* Omit files matching this GLOB too */
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ){
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob name; /* Name of a candidate file or directory */
528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zName; /* Name of a candidate file or directory */
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int isDir; /* 1 for a directory, 0 if doesn't exist, 2 for anything else */
530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int i; /* Loop counter */
531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int nRoot; /* length of g.zLocalRoot */
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)",
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- filename_collation());
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- nRoot = (int)strlen(g.zLocalRoot);
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( argc==0 ){
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_init(&name, g.zLocalRoot, nRoot - 1);
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- vfile_scan(&name, blob_size(&name), scanFlags, pIgnore1, pIgnore2);
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&name);
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; i<argc; i++){
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- file_canonical_name(argv[i], &name, 0);
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zName = blob_str(&name);
544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- isDir = file_wd_isdir(zName);
545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( isDir==1 ){
546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- vfile_scan(&name, nRoot-1, scanFlags, pIgnore1, pIgnore2);
547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( isDir==0 ){
548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_warning("not found: %s", &zName[nRoot]);
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( file_access(zName, R_OK) ){
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("cannot open %s", &zName[nRoot]);
551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_multi_exec(
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "INSERT OR IGNORE INTO sfile(x) VALUES(%Q)",
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- &zName[nRoot]
555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&name);
558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
562 797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
563 798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: extras
564 799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
565 800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Usage: %fossil extras ?OPTIONS? ?PATH1 ...?
566 801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -588,22 +823,23 @@
588 823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** directory.
589 824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
590 825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** See also: changes, clean, status
591 826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
592 827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void extras_cmd(void){
593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Stmt q;
828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob report = BLOB_INITIALIZER;
594 829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zIgnoreFlag = find_option("ignore",0,1);
595 830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
unsigned scanFlags = find_option("dotfiles",0,0)!=0 ? SCAN_ALL : 0;
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned flags = C_EXTRA;
596 832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int showHdr = find_option("header",0,0)!=0;
597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int cwdRelative = 0;
598 833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Glob *pIgnore;
599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob rewrittenPathname;
600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zPathname, *zDisplayName;
601 834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
602 835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP;
603 836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_must_be_within_tree();
604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cwdRelative = determine_cwd_relative_option();
837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( determine_cwd_relative_option() ){
839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flags |= C_RELPATH;
840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
605 841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
606 842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( db_get_boolean("dotfiles", 0) ) scanFlags |= SCAN_ALL;
607 843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
608 844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* We should be done with options.. */
609 845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
verify_all_options();
@@ -610,41 +846,24 @@
610 846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
611 847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zIgnoreFlag==0 ){
612 848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zIgnoreFlag = db_get("ignore-glob", 0);
613 849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
614 850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIgnore = glob_create(zIgnoreFlag);
615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- locate_unmanaged_files(g.argc-2, g.argv+2, scanFlags, pIgnore, 0);
851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ locate_unmanaged_files(g.argc-2, g.argv+2, scanFlags, pIgnore);
616 852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
glob_free(pIgnore);
617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&q,
618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT x FROM sfile"
619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE x NOT IN (%s)"
620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ORDER BY 1",
621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_all_reserved_names(0)
622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_multi_exec("DELETE FROM sfile WHERE x IN (SELECT pathname FROM vfile)");
624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_zero(&rewrittenPathname);
625 853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.allowSymlinks = 1; /* Report on symbolic links */
626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( db_step(&q)==SQLITE_ROW ){
627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDisplayName = zPathname = db_column_text(&q, 0);
628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( cwdRelative ){
629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- file_relative_name(zFullName, &rewrittenPathname, 0);
631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- free(zFullName);
632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDisplayName = blob_str(&rewrittenPathname);
633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zDisplayName[0]=='.' && zDisplayName[1]=='/' ){
634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDisplayName += 2; /* no unnecessary ./ prefix */
635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&report);
856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ status_report(&report, flags);
857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( blob_size(&report) ){
637 858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( showHdr ){
638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- showHdr = 0;
639 859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print("Extras for %s at %s:\n", db_get("project-name","???"),
640 860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.zLocalRoot);
641 861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("%s\n", zDisplayName);
862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_write_to_file(&report, "-");
643 863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&rewrittenPathname);
645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_finalize(&q);
864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&report);
646 865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
647 866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
648 867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
649 868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: clean
650 869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -790,21 +1009,22 @@
790 1009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.allowSymlinks = 1; /* Find symlinks too */
791 1010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !dirsOnlyFlag ){
792 1011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q;
793 1012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob repo;
794 1013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !dryRunFlag && !disableUndo ) undo_begin();
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- locate_unmanaged_files(g.argc-2, g.argv+2, scanFlags, pIgnore, 0);
1014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ locate_unmanaged_files(g.argc-2, g.argv+2, scanFlags, pIgnore);
796 1015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_prepare(&q,
797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT %Q || x FROM sfile"
798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE x NOT IN (%s)"
1016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "SELECT %Q || pathname FROM sfile"
1017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE pathname NOT IN (%s)"
799 1018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ORDER BY 1",
800 1019 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.zLocalRoot, fossil_all_reserved_names(0)
801 1020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
802 1021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( file_tree_name(g.zRepositoryName, &repo, 0, 0) ){
803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo);
1022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec("DELETE FROM sfile WHERE pathname=%B", &repo);
804 1023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_multi_exec("DELETE FROM sfile WHERE x IN (SELECT pathname FROM vfile)");
1024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec("DELETE FROM sfile WHERE pathname IN"
1025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " (SELECT pathname FROM vfile)");
806 1026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( db_step(&q)==SQLITE_ROW ){
807 1027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName = db_column_text(&q, 0);
808 1028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( glob_match(pKeep, zName+nRoot) ){
809 1029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( verboseFlag ){
810 1030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print("KEPT file \"%s\" not removed (due to --keep"
@@ -1081,11 +1301,11 @@
1081 1301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1082 1302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1083 1303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&prompt, "\n#\n");
1084 1304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1085 1305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- status_report(&prompt, "# ", 1, 0);
1306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ status_report(&prompt, C_DEFAULT | C_FATAL | C_COMMENT);
1087 1307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.markPrivate ){
1088 1308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append(&prompt,
1089 1309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"# PRIVATE BRANCH: This check-in will be private and will not sync to\n"
1090 1310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"# repositories.\n"
1091 1311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"#\n", -1
1092 1312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!