As with tags, git-push will not push notes by default. However, if --all or --notes (new) is given, git-push will now push notes (similary to tags, if --all or --tags is given). Signed-off-by: Johan Herland <johan@xxxxxxxxxxx> --- builtin-push.c | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/builtin-push.c b/builtin-push.c index cb78401..e3d6a21 100644 --- a/builtin-push.c +++ b/builtin-push.c @@ -8,9 +8,9 @@ #define MAX_URI (16) -static const char push_usage[] = "git-push [--all] [--tags] [--receive-pack=<git-receive-pack>] [--repo=all] [-f | --force] [-v] [<repository> <refspec>...]"; +static const char push_usage[] = "git-push [--all] [--tags] [--notes] [--receive-pack=<git-receive-pack>] [--repo=all] [-f | --force] [-v] [<repository> <refspec>...]"; -static int all, tags, force, thin = 1, verbose; +static int all, tags, notes, force, thin = 1, verbose; static const char *receivepack; #define BUF_SIZE (2084) @@ -32,7 +32,8 @@ static int expand_one_ref(const char *ref, const unsigned char *sha1, int flag, /* Ignore the "refs/" at the beginning of the refname */ ref += 5; - if (!prefixcmp(ref, "tags/")) + if ((tags && !prefixcmp(ref, "tags/")) || + (notes && !prefixcmp(ref, "notes/"))) add_refspec(xstrdup(ref)); return 0; } @@ -49,9 +50,8 @@ static void expand_refspecs(void) */ return; } - if (!tags) - return; - for_each_ref(expand_one_ref, NULL); + if (tags || notes) + for_each_ref(expand_one_ref, NULL); } struct wildcard_cb { @@ -141,7 +141,7 @@ static int get_remotes_uri(const char *repo, const char *uri[MAX_URI]) { int n = 0; FILE *f = fopen(git_path("remotes/%s", repo), "r"); - int has_explicit_refspec = refspec_nr || all || tags; + int has_explicit_refspec = refspec_nr || all || tags || notes; if (!f) return -1; @@ -227,7 +227,7 @@ static int get_config_remotes_uri(const char *repo, const char *uri[MAX_URI]) config_repo = repo; config_current_uri = 0; config_uri = uri; - config_get_refspecs = !(refspec_nr || all || tags); + config_get_refspecs = !(refspec_nr || all || tags || notes); config_get_receivepack = (receivepack == NULL); git_config(get_remote_config); @@ -388,6 +388,10 @@ int cmd_push(int argc, const char **argv, const char *prefix) tags = 1; continue; } + if (!strcmp(arg, "--notes")) { + notes = 1; + continue; + } if (!strcmp(arg, "--force") || !strcmp(arg, "-f")) { force = 1; continue; -- 1.5.2.101.gee49f - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html