{"thread":{"id":"4332","subject":"[PATCH] Make update-ref a builtin.","startedAt":"2006-05-29T07:15:57Z","lastAt":"2006-05-29T07:15:57Z","messageCount":1,"participants":["Shawn Pearce"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"20869","messageId":"20060529071557.GB6061@spearce.org","threadId":"4332","inReplyTo":null,"subject":"[PATCH] Make update-ref a builtin.","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-05-29T07:15:57Z","receivedAt":"2006-05-29T07:15:57Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"\nSigned-off-by: Shawn O. Pearce <spearce@spearce.org>\n---\n This is applied on top of `next` and my other reflog changes.\n I put it together just to reduce the disk usage - as Linus noted\n PowerPC ain't too slim on its executables...\n\n Makefile                             |    6 +++---\n update-ref.c => builtin-update-ref.c |    9 +++++----\n builtin.h                            |    1 +\n git.c                                |    1 +\n 4 files changed, 10 insertions(+), 7 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 5f8ea18..7dfeb97 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -161,7 +161,7 @@ PROGRAMS = \\\n \tgit-ssh-upload$X git-unpack-file$X \\\n \tgit-unpack-objects$X git-update-index$X git-update-server-info$X \\\n \tgit-upload-pack$X git-verify-pack$X git-write-tree$X \\\n-\tgit-update-ref$X git-symbolic-ref$X \\\n+\tgit-symbolic-ref$X \\\n \tgit-name-rev$X git-pack-redundant$X git-repo-config$X git-var$X \\\n \tgit-describe$X git-merge-tree$X git-blame$X git-imap-send$X\n \n@@ -172,7 +172,7 @@ BUILT_INS = git-log$X git-whatchanged$X \n \tgit-init-db$X git-tar-tree$X git-upload-tar$X git-format-patch$X \\\n \tgit-ls-files$X git-ls-tree$X \\\n \tgit-read-tree$X git-commit-tree$X \\\n-\tgit-apply$X git-show-branch$X git-diff-files$X \\\n+\tgit-update-ref$X git-apply$X git-show-branch$X git-diff-files$X \\\n \tgit-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X\n \n # what 'all' will build and 'install' will install, in gitexecdir\n@@ -228,7 +228,7 @@ BUILTIN_OBJS = \\\n \tbuiltin-read-tree.o builtin-commit-tree.o \\\n \tbuiltin-apply.o builtin-show-branch.o builtin-diff-files.o \\\n \tbuiltin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \\\n-\tbuiltin-cat-file.o\n+\tbuiltin-update-ref.o builtin-cat-file.o\n \n GITLIBS = $(LIB_FILE) $(XDIFF_LIB)\n LIBS = $(GITLIBS) -lz\ndiff --git a/update-ref.c b/builtin-update-ref.c\nsimilarity index 85%\nrename from update-ref.c\nrename to builtin-update-ref.c\nindex a1e6bb9..2c62286 100644\n--- a/update-ref.c\n+++ b/builtin-update-ref.c\n@@ -1,10 +1,11 @@\n #include \"cache.h\"\n #include \"refs.h\"\n+#include \"builtin.h\"\n \n-static const char git_update_ref_usage[] =\n+static const char builtin_update_ref_usage[] =\n \"git-update-ref <refname> <value> [<oldval>] [-m <reason>]\";\n \n-int main(int argc, char **argv)\n+int cmd_update_ref(int argc, const char **argv, char **envp)\n {\n \tconst char *refname=NULL, *value=NULL, *oldval=NULL, *msg=NULL;\n \tstruct ref_lock *lock;\n@@ -17,7 +18,7 @@ int main(int argc, char **argv)\n \tfor (i = 1; i < argc; i++) {\n \t\tif (!strcmp(\"-m\", argv[i])) {\n \t\t\tif (i+1 >= argc)\n-\t\t\t\tusage(git_update_ref_usage);\n+\t\t\t\tusage(builtin_update_ref_usage);\n \t\t\tmsg = argv[++i];\n \t\t\tif (!*msg)\n \t\t\t\tdie(\"Refusing to perform update with empty message.\");\n@@ -39,7 +40,7 @@ int main(int argc, char **argv)\n \t\t}\n \t}\n \tif (!refname || !value)\n-\t\tusage(git_update_ref_usage);\n+\t\tusage(builtin_update_ref_usage);\n \n \tif (get_sha1(value, sha1))\n \t\tdie(\"%s: not a valid SHA1\", value);\ndiff --git a/builtin.h b/builtin.h\nindex 738ec3d..397b770 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -28,6 +28,7 @@ extern int cmd_grep(int argc, const char\n extern int cmd_rm(int argc, const char **argv, char **envp);\n extern int cmd_add(int argc, const char **argv, char **envp);\n extern int cmd_rev_list(int argc, const char **argv, char **envp);\n+extern int cmd_update_ref(int argc, const char **argv, char **envp);\n extern int cmd_check_ref_format(int argc, const char **argv, char **envp);\n extern int cmd_init_db(int argc, const char **argv, char **envp);\n extern int cmd_tar_tree(int argc, const char **argv, char **envp);\ndiff --git a/git.c b/git.c\nindex 10ea934..f37b020 100644\n--- a/git.c\n+++ b/git.c\n@@ -57,6 +57,7 @@ static void handle_internal_command(int \n \t\t{ \"init-db\", cmd_init_db },\n \t\t{ \"tar-tree\", cmd_tar_tree },\n \t\t{ \"upload-tar\", cmd_upload_tar },\n+\t\t{ \"update-ref\", cmd_update_ref },\n \t\t{ \"check-ref-format\", cmd_check_ref_format },\n \t\t{ \"ls-files\", cmd_ls_files },\n \t\t{ \"ls-tree\", cmd_ls_tree },\n-- \n1.3.3.g45d8\n"}]}