Skip to content

Commit

Permalink
Merge branch 'qq/maint'
Browse files Browse the repository at this point in the history
* qq/maint:
  clone -q: honor "quiet" option over native transports.
  attribute documentation: keep EXAMPLE at end
  builtin-commit.c: Use 'git_config_string' to get 'commit.template'
  http.c: Use 'git_config_string' to clean up SSL config.
  diff.c: Use 'git_config_string' to get 'diff.external'
  convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
  builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix'
  Documentation cvs: Clarify when a bare repository is needed
  Documentation: be precise about which date --pretty uses

Conflicts:

	Documentation/gitattributes.txt
  • Loading branch information
Junio C Hamano committed Jul 6, 2008
2 parents 1fc561d + 9b37322 commit 08b51f5
Show file tree
Hide file tree
Showing 11 changed files with 75 additions and 92 deletions.
6 changes: 6 additions & 0 deletions Documentation/git-cvsimport.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ to work with; after that, you need to 'git-merge' incremental imports, or
any CVS branches, yourself. It is advisable to specify a named remote via
-r to separate and protect the incoming branches.

If you intend to set up a shared public repository that all developers can
read/write, or if you want to use linkgit:git-cvsserver[1], then you
probably want to make a bare clone of the imported repository,
and use the clone as the shared repository.
See linkgit:gitcvs-migration[7].


OPTIONS
-------
Expand Down
3 changes: 3 additions & 0 deletions Documentation/git-cvsserver.txt
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,9 @@ write access to the log file and to the database (see
<<dbbackend,Database Backend>>. If you want to offer write access over
SSH, the users of course also need write access to the git repository itself.

You also need to ensure that each repository is "bare" (without a git index
file) for `cvs commit` to work. See linkgit:gitcvs-migration[7].

[[configaccessmethod]]
All configuration variables can also be overridden for a specific method of
access. Valid method names are "ext" (for SSH access) and "pserver". The
Expand Down
45 changes: 23 additions & 22 deletions Documentation/gitattributes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,29 @@ String::
variable.


Creating an archive
~~~~~~~~~~~~~~~~~~~

`export-ignore`
^^^^^^^^^^^^^^^

Files and directories with the attribute `export-ignore` won't be added to
archive files.

`export-subst`
^^^^^^^^^^^^^^

If the attribute `export-subst` is set for a file then git will expand
several placeholders when adding this file to an archive. The
expansion depends on the availability of a commit ID, i.e., if
linkgit:git-archive[1] has been given a tree instead of a commit or a
tag then no replacement will be done. The placeholders are the same
as those for the option `--pretty=format:` of linkgit:git-log[1],
except that they need to be wrapped like this: `$Format:PLACEHOLDERS$`
in the file. E.g. the string `$Format:%H$` will be replaced by the
commit hash.


EXAMPLE
-------

Expand Down Expand Up @@ -499,28 +522,6 @@ frotz unspecified
----------------------------------------------------------------


Creating an archive
~~~~~~~~~~~~~~~~~~~

`export-ignore`
^^^^^^^^^^^^^^^

Files and directories with the attribute `export-ignore` won't be added to
archive files.

`export-subst`
^^^^^^^^^^^^^^

If the attribute `export-subst` is set for a file then git will expand
several placeholders when adding this file to an archive. The
expansion depends on the availability of a commit ID, i.e., if
'git-archive' has been given a tree instead of a commit or a
tag then no replacement will be done. The placeholders are the same
as those for the option `--pretty=format:` of linkgit:git-log[1],
except that they need to be wrapped like this: `$Format:PLACEHOLDERS$`
in the file. E.g. the string `$Format:%H$` will be replaced by the
commit hash.


GIT
---
Expand Down
5 changes: 5 additions & 0 deletions Documentation/gitcvs-migration.txt
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,11 @@ work, you must not modify the imported branches; instead, create new
branches for your own changes, and merge in the imported branches as
necessary.

If you want a shared repository, you will need to make a bare clone
of the imported directory, as described above. Then treat the imported
directory as another development clone for purposes of merging
incremental imports.

Advanced Shared Repository Management
-------------------------------------

Expand Down
8 changes: 4 additions & 4 deletions Documentation/pretty-formats.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ This is designed to be as compact as possible.

commit <sha1>
Author: <author>
Date: <date>
Date: <author date>

<title line>

Expand All @@ -50,9 +50,9 @@ This is designed to be as compact as possible.

commit <sha1>
Author: <author>
AuthorDate: <date & time>
AuthorDate: <author date>
Commit: <committer>
CommitDate: <date & time>
CommitDate: <committer date>

<title line>

Expand All @@ -62,7 +62,7 @@ This is designed to be as compact as possible.

From <sha1> <date>
From: <author>
Date: <date & time>
Date: <author date>
Subject: [PATCH] <title line>

<full commit message>
Expand Down
11 changes: 4 additions & 7 deletions builtin-commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ static enum {
COMMIT_PARTIAL,
} commit_style;

static char *logfile, *force_author, *template_file;
static char *logfile, *force_author;
static const char *template_file;
static char *edit_message, *use_message;
static char *author_name, *author_email, *author_date;
static int all, edit_flag, also, interactive, only, amend, signoff;
Expand Down Expand Up @@ -877,12 +878,8 @@ static void print_summary(const char *prefix, const unsigned char *sha1)

int git_commit_config(const char *k, const char *v, void *cb)
{
if (!strcmp(k, "commit.template")) {
if (!v)
return config_error_nonbool(v);
template_file = xstrdup(v);
return 0;
}
if (!strcmp(k, "commit.template"))
return git_config_string(&template_file, k, v);

return git_status_config(k, v, cb);
}
Expand Down
16 changes: 4 additions & 12 deletions builtin-log.c
Original file line number Diff line number Diff line change
Expand Up @@ -234,12 +234,8 @@ static int git_log_config(const char *var, const char *value, void *cb)
{
if (!strcmp(var, "format.pretty"))
return git_config_string(&fmt_pretty, var, value);
if (!strcmp(var, "format.subjectprefix")) {
if (!value)
config_error_nonbool(var);
fmt_patch_subject_prefix = xstrdup(value);
return 0;
}
if (!strcmp(var, "format.subjectprefix"))
return git_config_string(&fmt_patch_subject_prefix, var, value);
if (!strcmp(var, "log.date"))
return git_config_string(&default_date_mode, var, value);
if (!strcmp(var, "log.showroot")) {
Expand Down Expand Up @@ -489,12 +485,8 @@ static int git_format_config(const char *var, const char *value, void *cb)
add_header(value);
return 0;
}
if (!strcmp(var, "format.suffix")) {
if (!value)
return config_error_nonbool(var);
fmt_patch_suffix = xstrdup(value);
return 0;
}
if (!strcmp(var, "format.suffix"))
return git_config_string(&fmt_patch_suffix, var, value);
if (!strcmp(var, "format.cc")) {
if (!value)
return config_error_nonbool(var);
Expand Down
25 changes: 9 additions & 16 deletions convert.c
Original file line number Diff line number Diff line change
Expand Up @@ -319,8 +319,8 @@ static int apply_filter(const char *path, const char *src, size_t len,
static struct convert_driver {
const char *name;
struct convert_driver *next;
char *smudge;
char *clean;
const char *smudge;
const char *clean;
} *user_convert, **user_convert_tail;

static int read_convert_config(const char *var, const char *value, void *cb)
Expand Down Expand Up @@ -358,19 +358,12 @@ static int read_convert_config(const char *var, const char *value, void *cb)
* The command-line will not be interpolated in any way.
*/

if (!strcmp("smudge", ep)) {
if (!value)
return config_error_nonbool(var);
drv->smudge = strdup(value);
return 0;
}
if (!strcmp("smudge", ep))
return git_config_string(&drv->smudge, var, value);

if (!strcmp("clean", ep))
return git_config_string(&drv->clean, var, value);

if (!strcmp("clean", ep)) {
if (!value)
return config_error_nonbool(var);
drv->clean = strdup(value);
return 0;
}
return 0;
}

Expand Down Expand Up @@ -576,7 +569,7 @@ int convert_to_git(const char *path, const char *src, size_t len,
struct git_attr_check check[3];
int crlf = CRLF_GUESS;
int ident = 0, ret = 0;
char *filter = NULL;
const char *filter = NULL;

setup_convert_check(check);
if (!git_checkattr(path, ARRAY_SIZE(check), check)) {
Expand Down Expand Up @@ -606,7 +599,7 @@ int convert_to_working_tree(const char *path, const char *src, size_t len, struc
struct git_attr_check check[3];
int crlf = CRLF_GUESS;
int ident = 0, ret = 0;
char *filter = NULL;
const char *filter = NULL;

setup_convert_check(check);
if (!git_checkattr(path, ARRAY_SIZE(check), check)) {
Expand Down
8 changes: 2 additions & 6 deletions diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,8 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
diff_auto_refresh_index = git_config_bool(var, value);
return 0;
}
if (!strcmp(var, "diff.external")) {
if (!value)
return config_error_nonbool(var);
external_diff_cmd_cfg = xstrdup(value);
return 0;
}
if (!strcmp(var, "diff.external"))
return git_config_string(&external_diff_cmd_cfg, var, value);
if (!prefixcmp(var, "diff.")) {
const char *ep = strrchr(var, '.');

Expand Down
36 changes: 12 additions & 24 deletions http.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ static CURL *curl_default;
char curl_errorstr[CURL_ERROR_SIZE];

static int curl_ssl_verify = -1;
static char *ssl_cert = NULL;
static const char *ssl_cert = NULL;
#if LIBCURL_VERSION_NUM >= 0x070902
static char *ssl_key = NULL;
static const char *ssl_key = NULL;
#endif
#if LIBCURL_VERSION_NUM >= 0x070908
static char *ssl_capath = NULL;
static const char *ssl_capath = NULL;
#endif
static char *ssl_cainfo = NULL;
static const char *ssl_cainfo = NULL;
static long curl_low_speed_limit = -1;
static long curl_low_speed_time = -1;
static int curl_ftp_no_epsv = 0;
Expand Down Expand Up @@ -101,39 +101,27 @@ static int http_options(const char *var, const char *value, void *cb)
}

if (!strcmp("http.sslcert", var)) {
if (ssl_cert == NULL) {
if (!value)
return config_error_nonbool(var);
ssl_cert = xstrdup(value);
}
if (ssl_cert == NULL)
return git_config_string(&ssl_cert, var, value);
return 0;
}
#if LIBCURL_VERSION_NUM >= 0x070902
if (!strcmp("http.sslkey", var)) {
if (ssl_key == NULL) {
if (!value)
return config_error_nonbool(var);
ssl_key = xstrdup(value);
}
if (ssl_key == NULL)
return git_config_string(&ssl_key, var, value);
return 0;
}
#endif
#if LIBCURL_VERSION_NUM >= 0x070908
if (!strcmp("http.sslcapath", var)) {
if (ssl_capath == NULL) {
if (!value)
return config_error_nonbool(var);
ssl_capath = xstrdup(value);
}
if (ssl_capath == NULL)
return git_config_string(&ssl_capath, var, value);
return 0;
}
#endif
if (!strcmp("http.sslcainfo", var)) {
if (ssl_cainfo == NULL) {
if (!value)
return config_error_nonbool(var);
ssl_cainfo = xstrdup(value);
}
if (ssl_cainfo == NULL)
return git_config_string(&ssl_cainfo, var, value);
return 0;
}

Expand Down
4 changes: 3 additions & 1 deletion transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -645,7 +645,9 @@ static int fetch_refs_via_pack(struct transport *transport,
args.lock_pack = 1;
args.use_thin_pack = data->thin;
args.include_tag = data->followtags;
args.verbose = transport->verbose > 0;
args.verbose = (transport->verbose > 0);
args.quiet = args.no_progress = (transport->verbose < 0);
args.no_progress = !isatty(1);
args.depth = data->depth;

for (i = 0; i < nr_heads; i++)
Expand Down

0 comments on commit 08b51f5

Please sign in to comment.