Browse Source

Merge branch 'maint'

* maint:
  Start 1.6.0.5 cycle
  Fix pack.packSizeLimit and --max-pack-size handling
  checkout: Fix "initial checkout" detection
  Remove the period after the git-check-attr summary

Conflicts:
	RelNotes
maint
Junio C Hamano 16 years ago
parent
commit
6cd3729eae
  1. 21
      Documentation/RelNotes-1.6.0.5.txt
  2. 2
      Documentation/git-check-attr.txt
  3. 3
      builtin-checkout.c
  4. 12
      builtin-pack-objects.c
  5. 2
      builtin-read-tree.c
  6. 2
      cache.h
  7. 5
      read-cache.c
  8. 6
      t/t5300-pack-object.sh

21
Documentation/RelNotes-1.6.0.5.txt

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
GIT v1.6.0.5 Release Notes
==========================

Fixes since v1.6.0.4
--------------------

* 'git checkout' used to crash when your HEAD was pointing at a deleted
branch.

* 'git checkout' from an un-checked-out state did not allow switching out
of the current branch.

* 'git pack-objects' did not make its best effort to honor --max-pack-size
option when a single first object already busted the given limit and
placed many objects in a single pack.

* 'make check' cannot be run without sparse; people may have meant to say
'make test' instead, so suggest that.

* Many unsafe call to sprintf() style varargs functions are corrected.

2
Documentation/git-check-attr.txt

@ -3,7 +3,7 @@ git-check-attr(1) @@ -3,7 +3,7 @@ git-check-attr(1)

NAME
----
git-check-attr - Display gitattributes information.
git-check-attr - Display gitattributes information


SYNOPSIS

3
builtin-checkout.c

@ -397,8 +397,7 @@ static int merge_working_tree(struct checkout_opts *opts, @@ -397,8 +397,7 @@ static int merge_working_tree(struct checkout_opts *opts,
}

/* 2-way merge to the new branch */
topts.initial_checkout = (!active_nr &&
(old->commit == new->commit));
topts.initial_checkout = is_cache_unborn();
topts.update = 1;
topts.merge = 1;
topts.gently = opts->merge;

12
builtin-pack-objects.c

@ -245,8 +245,16 @@ static unsigned long write_object(struct sha1file *f, @@ -245,8 +245,16 @@ static unsigned long write_object(struct sha1file *f,
type = entry->type;

/* write limit if limited packsize and not first object */
limit = pack_size_limit && nr_written ?
pack_size_limit - write_offset : 0;
if (!pack_size_limit || !nr_written)
limit = 0;
else if (pack_size_limit <= write_offset)
/*
* the earlier object did not fit the limit; avoid
* mistaking this with unlimited (i.e. limit = 0).
*/
limit = 1;
else
limit = pack_size_limit - write_offset;

if (!entry->delta)
usable_delta = 0; /* no delta */

2
builtin-read-tree.c

@ -206,7 +206,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) @@ -206,7 +206,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
break;
case 2:
opts.fn = twoway_merge;
opts.initial_checkout = !active_nr;
opts.initial_checkout = is_cache_unborn();
break;
case 3:
default:

2
cache.h

@ -262,6 +262,7 @@ static inline void remove_name_hash(struct cache_entry *ce) @@ -262,6 +262,7 @@ static inline void remove_name_hash(struct cache_entry *ce)

#define read_cache() read_index(&the_index)
#define read_cache_from(path) read_index_from(&the_index, (path))
#define is_cache_unborn() is_index_unborn(&the_index)
#define read_cache_unmerged() read_index_unmerged(&the_index)
#define write_cache(newfd, cache, entries) write_index(&the_index, (newfd))
#define discard_cache() discard_index(&the_index)
@ -368,6 +369,7 @@ extern int init_db(const char *template_dir, unsigned int flags); @@ -368,6 +369,7 @@ extern int init_db(const char *template_dir, unsigned int flags);
/* Initialize and use the cache information */
extern int read_index(struct index_state *);
extern int read_index_from(struct index_state *, const char *path);
extern int is_index_unborn(struct index_state *);
extern int read_index_unmerged(struct index_state *);
extern int write_index(const struct index_state *, int newfd);
extern int discard_index(struct index_state *);

5
read-cache.c

@ -1269,6 +1269,11 @@ unmap: @@ -1269,6 +1269,11 @@ unmap:
die("index file corrupt");
}

int is_index_unborn(struct index_state *istate)
{
return (!istate->cache_nr && !istate->alloc && !istate->timestamp);
}

int discard_index(struct index_state *istate)
{
istate->cache_nr = 0;

6
t/t5300-pack-object.sh

@ -376,4 +376,10 @@ test_expect_success 'index-pack with --strict' ' @@ -376,4 +376,10 @@ test_expect_success 'index-pack with --strict' '
)
'

test_expect_success 'tolerate absurdly small packsizelimit' '
git config pack.packSizeLimit 2 &&
packname_9=$(git pack-objects test-9 <obj-list) &&
test $(wc -l <obj-list) = $(ls test-9-*.pack | wc -l)
'

test_done

Loading…
Cancel
Save