@@ -43,13 +43,10 @@
43 43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define DIFF_CONTEXT_EX (((u64)0x04)<<32) /* Use context even if zero */
44 44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define DIFF_NOTTOOBIG (((u64)0x08)<<32) /* Only display if not too big */
45 45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define DIFF_STRIP_EOLCR (((u64)0x10)<<32) /* Strip trailing CR */
46 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define DIFF_SLOW_SBS (((u64)0x20)<<32) /* Better, but slower side-by-side */
47 47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Annotation flags (any DIFF flag can be used as Annotation flag as well) */
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ANN_FILE_VERS (((u64)0x40)<<32) /* File vers not commit vers */
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
51 48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
52 49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** These error messages are shared in multiple locations. They are defined
53 50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** here for consistency.
54 51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
55 52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define DIFF_CANNOT_COMPUTE_BINARY \
@@ -2181,86 +2178,91 @@
2181 2178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
2182 2179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2183 2180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2184 2181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2185 2182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
2186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Compute a complete annotation on a file. The file is identified
2187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** by its filename number (filename.fnid) and check-in (mlink.mid).
2183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Compute a complete annotation on a file. The file is identified by its
2184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** filename and check-in name (NULL for current check-in).
2188 2185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
2189 2186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void annotate_file(
2190 2187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Annotator *p, /* The annotator */
2191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int fnid, /* The name of the file to be annotated */
2192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int mid, /* Use the version of the file in this check-in */
2188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zFilename,/* The name of the file to be annotated */
2189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zRevision,/* Use the version of the file in this check-in */
2193 2190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iLimit, /* Limit the number of levels if greater than zero */
2194 2191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u64 annFlags /* Flags to alter the annotation */
2195 2192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
2196 2193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob toAnnotate; /* Text of the final (mid) version of the file */
2197 2194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob step; /* Text of previous revision */
2198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int rid; /* Artifact ID of the file being annotated */
2199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Stmt q; /* Query returning all ancestor versions */
2200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Stmt ins; /* Inserts into the temporary VSEEN table */
2201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int cnt = 0; /* Number of versions examined */
2202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Initialize the annotation */
2204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rid = db_int(0, "SELECT fid FROM mlink WHERE mid=%d AND fnid=%d",mid,fnid);
2205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( rid==0 ){
2206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("file #%d is unchanged in manifest #%d", fnid, mid);
2207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !content_get(rid, &toAnnotate) ){
2209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("unable to retrieve content of artifact #%d", rid);
2210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( iLimit<=0 ) iLimit = 1000000000;
2212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_to_utf8_no_bom(&toAnnotate, 0);
2213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- annotation_start(p, &toAnnotate, annFlags);
2214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_begin_transaction();
2215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_multi_exec(
2216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "CREATE TEMP TABLE IF NOT EXISTS vseen(rid INTEGER PRIMARY KEY);"
2217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "DELETE FROM vseen;"
2218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
2219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&ins, "INSERT OR IGNORE INTO vseen(rid) VALUES(:rid)");
2221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&q,
2222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT (SELECT uuid FROM blob WHERE rid=mlink.fid),"
2223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " (SELECT uuid FROM blob WHERE rid=mlink.mid),"
2224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " date(event.mtime),"
2225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " coalesce(event.euser,event.user),"
2226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " mlink.pid"
2227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " FROM mlink, event, ancestor"
2228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE mlink.fid=:rid"
2229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND event.objid=mlink.mid"
2230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND mlink.pid NOT IN vseen"
2231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND ancestor.rid=mlink.mid"
2232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ORDER BY ancestor.generation;"
2233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
2234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_bind_int(&q, ":rid", rid);
2236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( iLimit==0 ) iLimit = 1000000000;
2237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( rid && iLimit>cnt && db_step(&q)==SQLITE_ROW ){
2238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int prevId = db_column_int(&q, 4);
2195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob treename; /* FILENAME translated to canonical form */
2196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int cid; /* Selected check-in ID */
2197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int rid; /* Artifact ID of the file being annotated */
2198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fnid; /* Filename ID */
2199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Stmt q; /* Query returning all ancestor versions */
2200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int cnt = 0; /* Number of versions analyzed */
2201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
2202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( iLimit<=0 ) iLimit = 1000000000; /* A negative limit means no limit */
2203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_begin_transaction();
2204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
2205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Get the artificate ID for the check-in begin analyzed */
2206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zRevision ){
2207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cid = name_to_typed_rid(zRevision, "ci");
2208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_must_be_within_tree();
2210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cid = db_lget_int("checkout", 0);
2211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
2213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Compute all direct ancestors of the check-in being analyzed into
2214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the "ancestor" table. */
2215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ compute_direct_ancestors(cid);
2216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
2217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Get filename ID */
2218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ file_tree_name(zFilename, &treename, 0, 1);
2219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zFilename = blob_str(&treename);
2220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fnid = db_int(0, "SELECT fnid FROM filename WHERE name=%Q", zFilename);
2221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
2222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_prepare(&q,
2223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "SELECT"
2224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " (SELECT uuid FROM blob WHERE rid=mlink.fid),"
2225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " (SELECT uuid FROM blob WHERE rid=mlink.mid),"
2226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " date(event.mtime),"
2227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " coalesce(event.euser,event.user),"
2228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " mlink.fid"
2229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " FROM mlink, event, ancestor"
2230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE mlink.fnid=%d"
2231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND ancestor.rid=mlink.mid"
2232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND event.objid=mlink.mid"
2233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND mlink.mid!=mlink.pid"
2234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " ORDER BY ancestor.generation;",
2235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fnid
2236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
2237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
2238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( iLimit==0 ) iLimit = 1000000000;
2239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( iLimit>cnt && db_step(&q)==SQLITE_ROW ){
2240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = db_column_int(&q, 4);
2241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( cnt==0 ){
2242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !content_get(rid, &toAnnotate) ){
2243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("unable to retrieve content of artifact #%d", rid);
2244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_to_utf8_no_bom(&toAnnotate, 0);
2246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ annotation_start(p, &toAnnotate, annFlags);
2247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2239 2248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->aVers = fossil_realloc(p->aVers, (p->nVers+1)*sizeof(p->aVers[0]));
2240 2249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->aVers[p->nVers].zFUuid = fossil_strdup(db_column_text(&q, 0));
2241 2250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->aVers[p->nVers].zMUuid = fossil_strdup(db_column_text(&q, 1));
2242 2251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->aVers[p->nVers].zDate = fossil_strdup(db_column_text(&q, 2));
2243 2252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->aVers[p->nVers].zUser = fossil_strdup(db_column_text(&q, 3));
2244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( p->nVers ){
2253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->nVers++;
2254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( cnt>0 ){
2245 2255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
content_get(rid, &step);
2246 2256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_to_utf8_no_bom(&step, 0);
2247 2257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
annotation_step(p, &step, p->nVers-1, annFlags);
2248 2258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&step);
2249 2259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->nVers++;
2251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_bind_int(&ins, ":rid", rid);
2252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_step(&ins);
2253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_reset(&ins);
2254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_reset(&q);
2255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rid = prevId;
2256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_bind_int(&q, ":rid", prevId);
2257 2260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cnt++;
2258 2261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2259 2262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->bLimit = iLimit==cnt;
2260 2263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
2261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_finalize(&ins);
2262 2264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
2263 2265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2264 2266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2265 2267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
2266 2268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Return a color from a gradient.
@@ -2297,53 +2299,47 @@
2297 2299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
2298 2300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Query parameters:
2299 2301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
2300 2302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** checkin=ID The manifest ID at which to start the annotation
2301 2303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** filename=FILENAME The filename.
2302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** filevers Show file versions rather than check-in versions
2304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** filevers=BOOLEAN Show file versions rather than check-in versions
2303 2305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** limit=N Limit the search depth to N ancestors
2304 2306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** log=BOOLEAN Show a log of versions analyzed
2305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** w Ignore whitespace
2307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** w=BOOLEAN Ignore whitespace
2306 2308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
2307 2309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
2308 2310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void annotation_page(void){
2309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int mid;
2310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int fnid;
2311 2311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
2312 2312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iLimit; /* Depth limit */
2313 2313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u64 annFlags = DIFF_STRIP_EOLCR;
2314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int showLog = 0; /* True to display the log */
2315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int ignoreWs = 0; /* Ignore whitespace */
2314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int showLog; /* True to display the log */
2315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fileVers; /* Show file version instead of check-in versions */
2316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int ignoreWs; /* Ignore whitespace */
2316 2317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zFilename; /* Name of file to annotate */
2318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zRevision; /* Name of check-in from which to start annotation */
2317 2319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zCI; /* The check-in containing zFilename */
2318 2320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Annotator ann;
2319 2321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HQuery url;
2320 2322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
struct AnnVers *p;
2321 2323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
unsigned clr1, clr2, clr;
2322 2324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int bBlame = g.zPath[0]!='a';/* True for BLAME output. False for ANNOTATE. */
2323 2325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2324 2326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Gather query parameters */
2325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- showLog = atoi(PD("log","1"));
2326 2327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_check_credentials();
2327 2328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
2328 2329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( exclude_spiders() ) return;
2329 2330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
load_control();
2330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mid = name_to_typed_rid(PD("checkin","0"),"ci");
2331 2331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFilename = P("filename");
2332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fnid = db_int(0, "SELECT fnid FROM filename WHERE name=%Q", zFilename);
2333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( mid==0 || fnid==0 ){ fossil_redirect_home(); }
2332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zRevision = PD("checkin",0);
2334 2333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
iLimit = atoi(PD("limit","20"));
2335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( P("filevers") ) annFlags |= ANN_FILE_VERS;
2336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ignoreWs = P("w")!=0;
2334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ showLog = PB("log");
2335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fileVers = PB("filevers");
2336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ignoreWs = PB("w");
2337 2337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( ignoreWs ) annFlags |= DIFF_IGNORE_ALLWS;
2338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !db_exists("SELECT 1 FROM mlink WHERE mid=%d AND fnid=%d",mid,fnid) ){
2339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_redirect_home();
2340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2341 2338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2342 2339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* compute the annotation */
2343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- compute_direct_ancestors(mid);
2344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- annotate_file(&ann, fnid, mid, iLimit, annFlags);
2340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ annotate_file(&ann, zFilename, zRevision, iLimit, annFlags);
2345 2341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCI = ann.aVers[0].zMUuid;
2346 2342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2347 2343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* generate the web page */
2348 2344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_header("Annotation For %h", zFilename);
2349 2345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bBlame ){
@@ -2354,24 +2350,16 @@
2354 2350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
url_add_parameter(&url, "checkin", P("checkin"));
2355 2351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
url_add_parameter(&url, "filename", zFilename);
2356 2352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( iLimit!=20 ){
2357 2353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
url_add_parameter(&url, "limit", sqlite3_mprintf("%d", iLimit));
2358 2354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ url_add_parameter(&url, "w", ignoreWs ? "1" : "0");
2359 2356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
url_add_parameter(&url, "log", showLog ? "1" : "0");
2360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ignoreWs ){
2361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url_add_parameter(&url, "w", "");
2362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Show Whitespace Changes", "%s",
2363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url_render(&url, "w", 0, 0, 0));
2364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
2365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Ignore Whitespace", "%s",
2366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url_render(&url, "w", "", 0, 0));
2367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( showLog ){
2369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Hide Log", "%s", url_render(&url, "log", "0", 0, 0));
2370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
2371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Show Log", "%s", url_render(&url, "log", "1", 0, 0));
2372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ url_add_parameter(&url, "filevers", fileVers ? "1" : "0");
2358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_checkbox("w", "Ignore Whitespace", 0);
2359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_checkbox("log", "Log", 0);
2360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_checkbox("filevers", "Link to Files", 0);
2373 2361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( ann.bLimit ){
2374 2362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *z1, *z2;
2375 2363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_submenu_element("All Ancestors", "%s",
2376 2364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
url_render(&url, "limit", "-1", 0, 0));
2377 2365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z1 = sqlite3_mprintf("%d Ancestors", iLimit+20);
@@ -2441,27 +2429,29 @@
2441 2429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( iLimit>ann.nVers && iVers<0 ) iVers = ann.nVers-1;
2442 2430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2443 2431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bBlame ){
2444 2432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( iVers>=0 ){
2445 2433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
struct AnnVers *p = ann.aVers+iVers;
2446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zLink = xhref("target='infowindow'", "%R/info/%!S", p->zMUuid);
2434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zUuid = fileVers ? p->zFUuid : p->zMUuid;
2435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zLink = xhref("target='infowindow'", "%R/info/%!S", zUuid);
2447 2436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_snprintf(sizeof(zPrefix), zPrefix,
2448 2437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"<span style='background-color:%s'>"
2449 2438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"%s%.10s</a> %s</span> %13.13s:",
2450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zBgColor, zLink, p->zMUuid, p->zDate, p->zUser);
2439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zBgColor, zLink, zUuid, p->zDate, p->zUser);
2451 2440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(zLink);
2452 2441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
2453 2442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_snprintf(sizeof(zPrefix), zPrefix, "%36s", "");
2454 2443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2455 2444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
2456 2445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( iVers>=0 ){
2457 2446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
struct AnnVers *p = ann.aVers+iVers;
2458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zLink = xhref("target='infowindow'", "%R/info/%!S", p->zMUuid);
2447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zUuid = fileVers ? p->zFUuid : p->zMUuid;
2448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zLink = xhref("target='infowindow'", "%R/info/%!S", zUuid);
2459 2449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_snprintf(sizeof(zPrefix), zPrefix,
2460 2450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"<span style='background-color:%s'>"
2461 2451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"%s%.10s</a> %s</span> %4d:",
2462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zBgColor, zLink, p->zMUuid, p->zDate, i+1);
2452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zBgColor, zLink, zUuid, p->zDate, i+1);
2463 2453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(zLink);
2464 2454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
2465 2455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_snprintf(sizeof(zPrefix), zPrefix, "%22s%4d:", "", i+1);
2466 2456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2467 2457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -2495,33 +2485,26 @@
2495 2485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** -Z|--ignore-trailing-space Ignore whitespace at line end
2496 2486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
2497 2487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** See also: info, finfo, timeline
2498 2488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
2499 2489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void annotate_cmd(void){
2500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int fnid; /* Filename ID */
2501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int fid; /* File instance ID */
2502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int mid; /* Manifest where file was checked in */
2503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int cid; /* Checkout or selected check-in ID */
2504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob treename; /* FILENAME translated to canonical form */
2505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zRev; /* Revision name, or NULL for current check-in */
2506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zFilename; /* Canonical filename */
2490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zRevision; /* Revision name, or NULL for current check-in */
2507 2491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Annotator ann; /* The annotation of the file */
2508 2492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i; /* Loop counter */
2509 2493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zLimit; /* The value to the -n|--limit option */
2510 2494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iLimit; /* How far back in time to look */
2511 2495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int showLog; /* True to show the log */
2512 2496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int fileVers; /* Show file version instead of check-in versions */
2513 2497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u64 annFlags = 0; /* Flags to control annotation properties */
2514 2498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int bBlame = 0; /* True for BLAME output. False for ANNOTATE. */
2515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Manifest *pManifest; /* Manifest structure */
2516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ManifestFile *pFile; /* Manifest file pointer */
2517 2499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2518 2500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
bBlame = g.argv[1][0]!='a';
2519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zRev = find_option("r","revision",1);
2501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zRevision = find_option("r","revision",1);
2520 2502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zLimit = find_option("limit","n",1);
2521 2503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zLimit==0 || zLimit[0]==0 ) zLimit = "-1";
2522 2504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
iLimit = atoi(zLimit);
2505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( iLimit<=0 ) iLimit = 1000000000;
2523 2506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
showLog = find_option("log","l",0)!=0;
2524 2507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( find_option("ignore-trailing-space","Z",0)!=0 ){
2525 2508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
annFlags = DIFF_IGNORE_EOLWS;
2526 2509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2527 2510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( find_option("ignore-all-space","w",0)!=0 ){
@@ -2535,65 +2518,12 @@
2535 2518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2536 2519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc<3 ) {
2537 2520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
usage("FILENAME");
2538 2521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2539 2522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get filename ID */
2541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- file_tree_name(g.argv[2], &treename, 0, 1);
2542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zFilename = blob_str(&treename);
2543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fnid = db_int(0, "SELECT fnid FROM filename WHERE name=%Q", zFilename);
2544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( fnid==0 ){
2545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("no such file: %s", zFilename);
2546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get artifact IDs of selected check-in and file */
2549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zRev ){
2550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get artifact ID of selected check-in manifest */
2551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cid = name_to_typed_rid(zRev, "ci");
2552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get manifest structure for selected check-in */
2554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pManifest = manifest_get(cid, CFTYPE_MANIFEST, 0);
2555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !pManifest ){
2556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("could not parse manifest for check-in: %s", zRev);
2557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get selected file in manifest */
2560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pFile = manifest_file_find(pManifest, zFilename);
2561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !pFile ){
2562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("file %s does not exist in check-in %s", zFilename, zRev);
2563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- manifest_destroy(pManifest);
2565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get file instance ID from manifest file record */
2567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fid = fast_uuid_to_rid(pFile->zUuid);
2568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
2569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get artifact ID of current checkout manifest */
2570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cid = db_lget_int("checkout", 0);
2571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( cid == 0 ){
2572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("not in a checkout");
2573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get file instance ID from current checkout file table */
2576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fid = db_int(0, "SELECT rid FROM vfile WHERE pathname=%Q", zFilename);
2577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( fid==0 ){
2578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("not part of current checkout: %s", zFilename);
2579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Get ID of most recent manifest containing a change to the selected file */
2583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- compute_direct_ancestors(cid);
2584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mid = db_int(0, "SELECT mlink.mid FROM mlink, ancestor "
2585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE mlink.fid=%d AND mlink.fnid=%d AND mlink.mid=ancestor.rid"
2586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ORDER BY ancestor.generation ASC LIMIT 1",
2587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fid, fnid);
2588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( mid==0 ){
2589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("unable to find manifest");
2590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( iLimit<=0 ) iLimit = 1000000000;
2593 2523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
annFlags |= DIFF_STRIP_EOLCR;
2594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- annotate_file(&ann, fnid, mid, iLimit, annFlags);
2524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ annotate_file(&ann, g.argv[2], zRevision, iLimit, annFlags);
2595 2525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( showLog ){
2596 2526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
struct AnnVers *p;
2597 2527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(p=ann.aVers, i=0; i<ann.nVers; i++, p++){
2598 2528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print("version %3d: %s %S file %S\n",
2599 2529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
i+1, p->zDate, p->zMUuid, p->zFUuid);
2600 2530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!