Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
builtin_clone: use strbuf in cmd_clone()
author
Miklos Vajna
<vmiklos@frugalware.org>
Fri, 21 Nov 2008 00:45:01 +0000
(
01:45
+0100)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 25 Nov 2008 23:34:26 +0000
(15:34 -0800)
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-clone.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
b9e125e
)
diff --git
a/builtin-clone.c
b/builtin-clone.c
index c590d4a179684cd33b0e22dcd823a16f8b3f26e7..2feac9c5cb8e85ae2b25c5a7a0a602e84e210f4a 100644
(file)
--- a/
builtin-clone.c
+++ b/
builtin-clone.c
@@
-358,8
+358,8
@@
int cmd_clone(int argc, const char **argv, const char *prefix)
const char *repo_name, *repo, *work_tree, *git_dir;
char *path, *dir;
const struct ref *refs, *head_points_at, *remote_head, *mapped_refs;
const char *repo_name, *repo, *work_tree, *git_dir;
char *path, *dir;
const struct ref *refs, *head_points_at, *remote_head, *mapped_refs;
-
char branch_top[256], key[256], value[256]
;
- struct strbuf reflog_msg = STRBUF_INIT;
+
struct strbuf key = STRBUF_INIT, value = STRBUF_INIT
;
+ struct strbuf
branch_top = STRBUF_INIT,
reflog_msg = STRBUF_INIT;
struct transport *transport = NULL;
char *src_ref_prefix = "refs/heads/";
struct transport *transport = NULL;
char *src_ref_prefix = "refs/heads/";
@@
-463,35
+463,36
@@
int cmd_clone(int argc, const char **argv, const char *prefix)
if (option_bare) {
if (option_mirror)
src_ref_prefix = "refs/";
if (option_bare) {
if (option_mirror)
src_ref_prefix = "refs/";
- str
cpy(
branch_top, src_ref_prefix);
+ str
buf_addstr(&
branch_top, src_ref_prefix);
git_config_set("core.bare", "true");
} else {
git_config_set("core.bare", "true");
} else {
- snprintf(branch_top, sizeof(branch_top),
- "refs/remotes/%s/", option_origin);
+ strbuf_addf(&branch_top, "refs/remotes/%s/", option_origin);
}
if (option_mirror || !option_bare) {
/* Configure the remote */
if (option_mirror) {
}
if (option_mirror || !option_bare) {
/* Configure the remote */
if (option_mirror) {
- s
nprintf(key, sizeof(key),
-
"remote.%s.mirror", option_origin
);
-
git_config_set(key, "true"
);
+ s
trbuf_addf(&key, "remote.%s.mirror", option_origin);
+
git_config_set(key.buf, "true"
);
+
strbuf_reset(&key
);
}
}
- snprintf(key, sizeof(key), "remote.%s.url", option_origin);
- git_config_set(key, repo);
+ strbuf_addf(&key, "remote.%s.url", option_origin);
+ git_config_set(key.buf, repo);
+ strbuf_reset(&key);
- snprintf(key, sizeof(key), "remote.%s.fetch", option_origin);
- snprintf(value, sizeof(value),
- "+%s*:%s*", src_ref_prefix, branch_top);
- git_config_set_multivar(key, value, "^$", 0);
+ strbuf_addf(&key, "remote.%s.fetch", option_origin);
+ strbuf_addf(&value, "+%s*:%s*", src_ref_prefix, branch_top.buf);
+ git_config_set_multivar(key.buf, value.buf, "^$", 0);
+ strbuf_reset(&key);
+ strbuf_reset(&value);
}
refspec.force = 0;
refspec.pattern = 1;
refspec.src = src_ref_prefix;
}
refspec.force = 0;
refspec.pattern = 1;
refspec.src = src_ref_prefix;
- refspec.dst = branch_top;
+ refspec.dst = branch_top
.buf
;
if (path && !is_bundle)
refs = clone_local(path, git_dir);
if (path && !is_bundle)
refs = clone_local(path, git_dir);
@@
-545,7
+546,7
@@
int cmd_clone(int argc, const char **argv, const char *prefix)
head_points_at->old_sha1,
NULL, 0, DIE_ON_ERR);
head_points_at->old_sha1,
NULL, 0, DIE_ON_ERR);
- strbuf_addstr(&head_ref, branch_top);
+ strbuf_addstr(&head_ref, branch_top
.buf
);
strbuf_addstr(&head_ref, "HEAD");
/* Remote branch link */
strbuf_addstr(&head_ref, "HEAD");
/* Remote branch link */
@@
-553,10
+554,11
@@
int cmd_clone(int argc, const char **argv, const char *prefix)
head_points_at->peer_ref->name,
reflog_msg.buf);
head_points_at->peer_ref->name,
reflog_msg.buf);
- snprintf(key, sizeof(key), "branch.%s.remote", head);
- git_config_set(key, option_origin);
- snprintf(key, sizeof(key), "branch.%s.merge", head);
- git_config_set(key, head_points_at->name);
+ strbuf_addf(&key, "branch.%s.remote", head);
+ git_config_set(key.buf, option_origin);
+ strbuf_reset(&key);
+ strbuf_addf(&key, "branch.%s.merge", head);
+ git_config_set(key.buf, head_points_at->name);
}
} else if (remote_head) {
/* Source had detached HEAD pointing somewhere. */
}
} else if (remote_head) {
/* Source had detached HEAD pointing somewhere. */
@@
-606,6
+608,9
@@
int cmd_clone(int argc, const char **argv, const char *prefix)
}
strbuf_release(&reflog_msg);
}
strbuf_release(&reflog_msg);
+ strbuf_release(&branch_top);
+ strbuf_release(&key);
+ strbuf_release(&value);
junk_pid = 0;
return 0;
}
junk_pid = 0;
return 0;
}