Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Enhance "fossil diff --numstat" to print a grand total line, and not display statistics for non-modified files. |
|---|---|
| Timelines: | family | ancestors | descendants | both | diff-numstat-total |
| Files: | files | file ages | folders |
| SHA3-256: |
f8a5a6a7167a0935fc6d9e9e30173cf8 |
| User & Date: | danield 2020-12-18 15:30:15.857 |
Context
|
2021-01-07
| ||
| 16:21 | The --numstat option to "fossil diff" now shows a total at the end. check-in: 9bb61a420b user: drh tags: trunk | |
|
2020-12-18
| ||
| 15:30 | Enhance "fossil diff --numstat" to print a grand total line, and not display statistics for non-modified files. Closed-Leaf check-in: f8a5a6a716 user: danield tags: diff-numstat-total | |
|
2020-12-17
| ||
| 23:58 | Moved the -lpthread for --static builds from the end of EXTRA_LDFLAGS to the end of LIBS, since the latter ends up at the end of "LIB" in the Makefile. In other words, the prior formulation put -lpthread in the *middle* of the LIB line, not at the end as intended. check-in: 08ad0f5271 user: wyoung tags: trunk | |
Changes
Changes to src/diff.c.
| ︙ | ︙ | |||
1953 1954 1955 1956 1957 1958 1959 |
if( pOut ){
if( diffFlags & DIFF_NUMSTAT ){
int nDel = 0, nIns = 0, i;
for(i=0; c.aEdit[i] || c.aEdit[i+1] || c.aEdit[i+2]; i+=3){
nDel += c.aEdit[i+1];
nIns += c.aEdit[i+2];
}
| > > > > | > | 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 |
if( pOut ){
if( diffFlags & DIFF_NUMSTAT ){
int nDel = 0, nIns = 0, i;
for(i=0; c.aEdit[i] || c.aEdit[i+1] || c.aEdit[i+2]; i+=3){
nDel += c.aEdit[i+1];
nIns += c.aEdit[i+2];
}
g.diffCnt[1] += nIns;
g.diffCnt[2] += nDel;
if( nIns+nDel ){
g.diffCnt[0]++;
blob_appendf(pOut, "%10d %10d", nIns, nDel);
}
}else if( diffFlags & DIFF_SIDEBYSIDE ){
sbsDiff(&c, pOut, pRe, diffFlags);
}else{
contextDiff(&c, pOut, pRe, diffFlags);
}
fossil_free(c.aFrom);
fossil_free(c.aTo);
|
| ︙ | ︙ |
Changes to src/diffcmd.c.
| ︙ | ︙ | |||
853 854 855 856 857 858 859 860 861 862 863 864 865 866 |
const char *zBranch; /* Branch to diff */
const char *zDiffCmd = 0; /* External diff command. NULL for internal diff */
const char *zBinGlob = 0; /* Treat file names matching this as binary */
int fIncludeBinary = 0; /* Include binary files for external diff */
int againstUndo = 0; /* Diff against files in the undo buffer */
u64 diffFlags = 0; /* Flags to control the DIFF */
FileDirList *pFileDir = 0; /* Restrict the diff to these files */
if( find_option("tk",0,0)!=0 || has_option("tclsh") ){
diff_tk("diff", 2);
return;
}
isGDiff = g.argv[1][0]=='g';
isInternDiff = find_option("internal","i",0)!=0;
| > | 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 |
const char *zBranch; /* Branch to diff */
const char *zDiffCmd = 0; /* External diff command. NULL for internal diff */
const char *zBinGlob = 0; /* Treat file names matching this as binary */
int fIncludeBinary = 0; /* Include binary files for external diff */
int againstUndo = 0; /* Diff against files in the undo buffer */
u64 diffFlags = 0; /* Flags to control the DIFF */
FileDirList *pFileDir = 0; /* Restrict the diff to these files */
g.diffCnt[0] = g.diffCnt[1] = g.diffCnt[2] = 0;
if( find_option("tk",0,0)!=0 || has_option("tclsh") ){
diff_tk("diff", 2);
return;
}
isGDiff = g.argv[1][0]=='g';
isInternDiff = find_option("internal","i",0)!=0;
|
| ︙ | ︙ | |||
956 957 958 959 960 961 962 963 964 965 966 967 968 969 |
){
fossil_fatal("not found: '%s'", g.argv[i+2]);
}
fossil_free(pFileDir[i].zName);
}
fossil_free(pFileDir);
}
}
/*
** WEBPAGE: vpatch
** URL: /vpatch?from=FROM&to=TO
**
** Show a patch that goes from check-in FROM to check-in TO.
| > > > | 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 |
){
fossil_fatal("not found: '%s'", g.argv[i+2]);
}
fossil_free(pFileDir[i].zName);
}
fossil_free(pFileDir);
}
if ( diffFlags & DIFF_NUMSTAT )
fossil_print("%d files changed, %d insertions, %d deletions\n",
g.diffCnt[0], g.diffCnt[1], g.diffCnt[2]);
}
/*
** WEBPAGE: vpatch
** URL: /vpatch?from=FROM&to=TO
**
** Show a patch that goes from check-in FROM to check-in TO.
|
| ︙ | ︙ |
Changes to src/main.c.
| ︙ | ︙ | |||
318 319 320 321 322 323 324 325 326 327 328 329 330 331 |
cson_value *v;
cson_object *o;
} reqPayload; /* request payload object (if any) */
cson_array *warnings; /* response warnings */
int timerId; /* fetched from fossil_timer_start() */
} json;
#endif /* FOSSIL_ENABLE_JSON */
};
/*
** Macro for debugging:
*/
#define CGIDEBUG(X) if( g.fDebug ) cgi_debug X
| > | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 |
cson_value *v;
cson_object *o;
} reqPayload; /* request payload object (if any) */
cson_array *warnings; /* response warnings */
int timerId; /* fetched from fossil_timer_start() */
} json;
#endif /* FOSSIL_ENABLE_JSON */
int diffCnt[3]; /* Counts for DIFF_NUMSTAT: files, ins, del */
};
/*
** Macro for debugging:
*/
#define CGIDEBUG(X) if( g.fDebug ) cgi_debug X
|
| ︙ | ︙ |