Browse Source

Merge branch 'maint'

* maint:
  Make test scripts executable.
  bundle create: keep symbolic refs' names instead of resolving them
maint
Junio C Hamano 17 years ago
parent
commit
fa30383642
  1. 9
      bundle.c
  2. 0
      t/t4018-diff-funcname.sh
  3. 13
      t/t5510-fetch.sh
  4. 0
      t/t7501-commit.sh

9
bundle.c

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
#include "revision.h"
#include "list-objects.h"
#include "run-command.h"
#include "refs.h"

static const char bundle_signature[] = "# v2 git bundle\n";

@ -232,11 +233,17 @@ int create_bundle(struct bundle_header *header, const char *path, @@ -232,11 +233,17 @@ int create_bundle(struct bundle_header *header, const char *path,
struct object_array_entry *e = revs.pending.objects + i;
unsigned char sha1[20];
char *ref;
const char *display_ref;
int flag;

if (e->item->flags & UNINTERESTING)
continue;
if (dwim_ref(e->name, strlen(e->name), sha1, &ref) != 1)
continue;
if (!resolve_ref(e->name, sha1, 1, &flag))
flag = 0;
display_ref = (flag & REF_ISSYMREF) ? e->name : ref;

/*
* Make sure the refs we wrote out is correct; --max-count and
* other limiting options could have prevented all the tips
@ -287,7 +294,7 @@ int create_bundle(struct bundle_header *header, const char *path, @@ -287,7 +294,7 @@ int create_bundle(struct bundle_header *header, const char *path,
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, display_ref, strlen(display_ref));
write_or_die(bundle_fd, "\n", 1);
free(ref);
}

0
t/t4018-diff-funcname.sh

13
t/t5510-fetch.sh

@ -215,4 +215,17 @@ test_expect_success 'quoting of a strangely named repo' ' @@ -215,4 +215,17 @@ test_expect_success 'quoting of a strangely named repo' '
grep "fatal: '\''a\\\\!'\''b'\''" result
'

test_expect_success 'bundle should record HEAD correctly' '

cd "$D" &&
git bundle create bundle5 HEAD master &&
git bundle list-heads bundle5 >actual &&
for h in HEAD refs/heads/master
do
echo "$(git rev-parse --verify $h) $h"
done >expect &&
diff -u expect actual

'

test_done

0
t/t7501-commit.sh

Loading…
Cancel
Save