From: "Adam Brewster" <adambrewster@gmail.com>
To: git@vger.kernel.org
Cc: "Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Mark Levedahl" <mdl123@verizon.net>,
"Junio C Hamano" <gitster@pobox.com>,
"Jakub Narebski" <jnareb@gmail.com>
Subject: [PATCH/v3] bundle.c: added --stdin option to git-bundle
Date: Sat, 5 Jul 2008 12:30:53 -0400 [thread overview]
Message-ID: <c376da900807050930i6d1da898s624be58adc6f1751@mail.gmail.com> (raw)
Signed-off-by: Adam Brewster <asb@bu.edu>
---
It seems that the consensus is that the other half of my original
patch is no good. You have some pretty good ideas about how to
correctly address the problem I was trying to solve, and I look
forward to seeing them actually implemented.
For now, I offer separately the modification I made to bundle.c to
allow git-bundle to handle the --stdin option. There is no
accompanying change to the documentation because it already implies
that this option is available.
bundle.c | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/bundle.c b/bundle.c
index 0ba5df1..b44a4af 100644
--- a/bundle.c
+++ b/bundle.c
@@ -227,8 +227,26 @@ int create_bundle(struct bundle_header *header,
const char *path,
/* write references */
argc = setup_revisions(argc, argv, &revs, NULL);
- if (argc > 1)
- return error("unrecognized argument: %s'", argv[1]);
+
+ for (i = 1; i < argc; i++) {
+ if ( !strcmp(argv[i], "--stdin") ) {
+ char line[1000];
+ while (fgets(line, sizeof(line),
stdin) != NULL) {
+ int len = strlen(line);
+ if (len && line[len - 1] == '\n')
+ line[--len] = '\0';
+ if (!len)
+ break;
+ if (line[0] == '-')
+ die("options not supported in
--stdin mode");
+ if (handle_revision_arg(line, &revs, 0, 1))
+ die("bad revision '%s'", line);
+ }
+ continue;
+ }
+
+ return error("unrecognized argument: %s'", argv[i]);
+ }
for (i = 0; i < revs.pending.nr; i++) {
struct object_array_entry *e = revs.pending.objects + i;
--
1.5.5.1.211.g65ea3.dirty
next reply other threads:[~2008-07-05 16:32 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-05 16:30 Adam Brewster [this message]
2008-07-05 16:54 ` [PATCH/v3] bundle.c: added --stdin option to git-bundle Jakub Narebski
2008-07-05 18:15 ` Junio C Hamano
2008-07-05 20:40 ` [PATCH v4 0/3] Adam Brewster
2008-07-05 20:40 ` [PATCH] Move read_revisions_from_stdin from builtin-rev-list.c to revision.c Adam Brewster
2008-07-05 20:40 ` [PATCH] git-bundle: add --stdin Adam Brewster
2008-07-05 20:40 ` [PATCH] Add git-basis.perl to contrib directory Adam Brewster
2008-07-05 20:48 ` [PATCH] Move read_revisions_from_stdin from builtin-rev-list.c to revision.c Miklos Vajna
2008-07-05 21:26 ` [PATCH v5] Adam Brewster
2008-07-05 21:26 ` [PATCH] Move read_revisions_from_stdin from builtin-rev-list.c to revision.c Adam Brewster
2008-07-05 21:26 ` [PATCH] git-bundle: add --stdin Adam Brewster
2008-07-06 0:57 ` Teach git-bundle to read revision arguments from stdin like git-rev-list Junio C Hamano
2008-07-06 14:28 ` Adam Brewster
2008-07-06 14:28 ` [PATCH] git-rev-list: tolerate multiple --stdin options Adam Brewster
2008-07-06 14:28 ` [PATCH] Teach git-bundle to read revision arguments from stdin like Adam Brewster
2008-07-06 1:50 ` [PATCH v5] Junio C Hamano
2008-07-06 2:49 ` Adam Brewster
2008-07-06 0:57 ` [PATCH] Move read_revisions_from_stdin from builtin-rev-list.c to revision.c Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c376da900807050930i6d1da898s624be58adc6f1751@mail.gmail.com \
--to=adambrewster@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jnareb@gmail.com \
--cc=mdl123@verizon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).