Skip to content

Commit

Permalink
git-bundle: only die if pack would be empty, warn if ref is skipped
Browse files Browse the repository at this point in the history
A use case for git-bundle expected to be quite common is this:

	$ git bundle create daily.bundle --since=10.days.ago --all

The expected outcome is _not_ to error out if only a couple of the
refs were not changed during the last 10 days.

This patch complains loudly about refs which are skipped due to the
pack not containing the corresponding objects, but dies only if
no objects would be in the pack _at all_.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Johannes Schindelin authored and Junio C Hamano committed Mar 12, 2007
1 parent 4a62d3f commit 34572ed
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions builtin-bundle.c
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ static int create_bundle(struct bundle_header *header, const char *path,
int bundle_fd = -1;
const char **argv_boundary = xmalloc((argc + 4) * sizeof(const char *));
const char **argv_pack = xmalloc(5 * sizeof(const char *));
int pid, in, out, i, status;
int pid, in, out, i, status, ref_count = 0;
char buffer[1024];
struct rev_info revs;

Expand Down Expand Up @@ -328,15 +328,20 @@ static int create_bundle(struct bundle_header *header, const char *path,
* other limiting options could have prevented all the tips
* from getting output.
*/
if (!(e->item->flags & SHOWN))
die("ref '%s' is excluded by the rev-list options",
if (!(e->item->flags & SHOWN)) {
warn("ref '%s' is excluded by the rev-list options",
e->name);
continue;
}
ref_count++;
write_or_die(bundle_fd, sha1_to_hex(e->item->sha1), 40);
write_or_die(bundle_fd, " ", 1);
write_or_die(bundle_fd, ref, strlen(ref));
write_or_die(bundle_fd, "\n", 1);
free(ref);
}
if (!ref_count)
die ("Refusing to create empty bundle.");

/* end header */
write_or_die(bundle_fd, "\n", 1);
Expand Down

0 comments on commit 34572ed

Please sign in to comment.