24 |
#include "edit.h" |
#include "edit.h" |
25 |
#include "fileattr.h" |
#include "fileattr.h" |
26 |
#include "hardlink.h" |
#include "hardlink.h" |
27 |
|
#include "sign.h" |
28 |
|
|
29 |
static Dtype check_direntproc (void *callerdat, const char *dir, |
static Dtype check_direntproc (void *callerdat, const char *dir, |
30 |
const char *repos, const char *update_dir, |
const char *repos, const char *update_dir, |
924 |
finfo->fullname); |
finfo->fullname); |
925 |
} |
} |
926 |
|
|
927 |
|
if ((status == T_ADDED || status == T_MODIFIED) |
928 |
|
&& !force_ci && !really_quiet |
929 |
|
/* This will not be called from the client. */ |
930 |
|
&& (get_sign_commits (server_active, true) |
931 |
|
|| have_sigfile (server_active, finfo->file)) |
932 |
|
&& file_contains_keyword (finfo)) |
933 |
|
{ |
934 |
|
/* Make this a warning, not an error, because the user may |
935 |
|
* be intentionally signing a file with keywords. Such a file |
936 |
|
* may still be verified when checked out -ko. |
937 |
|
*/ |
938 |
|
error (0, 0, |
939 |
|
"warning: signed file `%s' contains at least one RCS keyword", |
940 |
|
finfo->fullname); |
941 |
|
} |
942 |
|
|
943 |
if (status == T_REMOVED) |
if (status == T_REMOVED) |
944 |
{ |
{ |
945 |
if (vers->ts_user != NULL) |
if (vers->ts_user != NULL) |