Merge branch 'maint'
* maint: base85: Make the code more obvious instead of explaining the non-obvious base85: encode_85() does not use the decode table base85 debug code: Fix length byte calculation Documentation: tiny git config manual tweaks Documentation: git gc packs refs by default now checkout -m: do not try to fall back to --merge from an unborn branch
This commit is contained in:
commit
83b10ca25f
@ -725,7 +725,7 @@ diff.autorefreshindex::
|
||||
contents in the work tree match the contents in the
|
||||
index. This option defaults to true. Note that this
|
||||
affects only 'git-diff' Porcelain, and not lower level
|
||||
'diff' commands, such as 'git-diff-files'.
|
||||
'diff' commands such as 'git-diff-files'.
|
||||
|
||||
diff.external::
|
||||
If this config variable is set, diff generation is not
|
||||
@ -841,8 +841,8 @@ format.pretty::
|
||||
|
||||
format.thread::
|
||||
The default threading style for 'git-format-patch'. Can be
|
||||
either a boolean value, `shallow` or `deep`. `shallow`
|
||||
threading makes every mail a reply to the head of the series,
|
||||
a boolean value, or `shallow` or `deep`. `shallow` threading
|
||||
makes every mail a reply to the head of the series,
|
||||
where the head is chosen from the cover letter, the
|
||||
`\--in-reply-to`, and the first patch mail, in this order.
|
||||
`deep` threading makes every mail a reply to the previous one.
|
||||
@ -875,15 +875,12 @@ gc.autopacklimit::
|
||||
default value is 50. Setting this to 0 disables it.
|
||||
|
||||
gc.packrefs::
|
||||
'git-gc' does not run `git pack-refs` in a bare repository by
|
||||
default so that older dumb-transport clients can still fetch
|
||||
from the repository. Setting this to `true` lets 'git-gc'
|
||||
to run `git pack-refs`. Setting this to `false` tells
|
||||
'git-gc' never to run `git pack-refs`. The default setting is
|
||||
`notbare`. Enable it only when you know you do not have to
|
||||
support such clients. The default setting will change to `true`
|
||||
at some stage, and setting this to `false` will continue to
|
||||
prevent `git pack-refs` from being run from 'git-gc'.
|
||||
Running `git pack-refs` in a repository renders it
|
||||
unclonable by Git versions prior to 1.5.1.2 over dumb
|
||||
transports such as HTTP. This variable determines whether
|
||||
'git gc' runs `git pack-refs`. This can be set to "nobare"
|
||||
to enable it within all non-bare repos or it can be set to a
|
||||
boolean value. The default is `true`.
|
||||
|
||||
gc.pruneexpire::
|
||||
When 'git-gc' is run, it will call 'prune --expire 2.weeks.ago'.
|
||||
|
14
base85.c
14
base85.c
@ -57,14 +57,8 @@ int decode_85(char *dst, const char *buffer, int len)
|
||||
de = de85[ch];
|
||||
if (--de < 0)
|
||||
return error("invalid base85 alphabet %c", ch);
|
||||
/*
|
||||
* Detect overflow. The largest
|
||||
* 5-letter possible is "|NsC0" to
|
||||
* encode 0xffffffff, and "|NsC" gives
|
||||
* 0x03030303 at this point (i.e.
|
||||
* 0xffffffff = 0x03030303 * 85).
|
||||
*/
|
||||
if (0x03030303 < acc ||
|
||||
/* Detect overflow. */
|
||||
if (0xffffffff / 85 < acc ||
|
||||
0xffffffff - de < (acc *= 85))
|
||||
return error("invalid base85 sequence %.5s", buffer-5);
|
||||
acc += de;
|
||||
@ -84,8 +78,6 @@ int decode_85(char *dst, const char *buffer, int len)
|
||||
|
||||
void encode_85(char *buf, const unsigned char *data, int bytes)
|
||||
{
|
||||
prep_base85();
|
||||
|
||||
say("encode 85");
|
||||
while (bytes) {
|
||||
unsigned acc = 0;
|
||||
@ -118,7 +110,7 @@ int main(int ac, char **av)
|
||||
int len = strlen(av[2]);
|
||||
encode_85(buf, av[2], len);
|
||||
if (len <= 26) len = len + 'A' - 1;
|
||||
else len = len + 'a' - 26 + 1;
|
||||
else len = len + 'a' - 26 - 1;
|
||||
printf("encoded: %c%s\n", len, buf);
|
||||
return 0;
|
||||
}
|
||||
|
@ -397,7 +397,7 @@ static int merge_working_tree(struct checkout_opts *opts,
|
||||
topts.initial_checkout = is_cache_unborn();
|
||||
topts.update = 1;
|
||||
topts.merge = 1;
|
||||
topts.gently = opts->merge;
|
||||
topts.gently = opts->merge && old->commit;
|
||||
topts.verbose_update = !opts->quiet;
|
||||
topts.fn = twoway_merge;
|
||||
topts.dir = xcalloc(1, sizeof(*topts.dir));
|
||||
@ -422,7 +422,13 @@ static int merge_working_tree(struct checkout_opts *opts,
|
||||
struct merge_options o;
|
||||
if (!opts->merge)
|
||||
return 1;
|
||||
parse_commit(old->commit);
|
||||
|
||||
/*
|
||||
* Without old->commit, the below is the same as
|
||||
* the two-tree unpack we already tried and failed.
|
||||
*/
|
||||
if (!old->commit)
|
||||
return 1;
|
||||
|
||||
/* Do more real merge */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user