git-commit-vandalism/builtin
Junio C Hamano 7b5b7721af abbrev: prepare for new world order
The code that sets custom abbreviation length, in response to
command line argument, often does something like this:

	if (skip_prefix(arg, "--abbrev=", &arg))
		abbrev = atoi(arg);
	else if (!strcmp("--abbrev", &arg))
		abbrev = DEFAULT_ABBREV;
	/* make the value sane */
	if (abbrev < 0 || 40 < abbrev)
		abbrev = ... some sane value ...

However, it is pointless to sanity-check and tweak the value
obtained from DEFAULT_ABBREV.  We are going to allow it to be
initially set to -1 to signal that the default abbreviation length
must be auto sized upon the first request to abbreviate, based on
the number of objects in the repository, and when that happens,
rejecting or tweaking a negative value to a "saner" one will
negatively interfere with the auto sizing.  The codepaths for

    git rev-parse --short <object>
    git diff --raw --abbrev

do exactly that; allow them to pass possibly negative abbrevs
intact, that will come from DEFAULT_ABBREV in the future.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-10-03 12:54:22 -07:00
..
add.c add: add --chmod=+x / --chmod=-x options 2016-06-07 17:43:39 -07:00
am.c Merge branch 'bc/object-id' 2016-09-19 13:47:19 -07:00
annotate.c
apply.c Convert read_mmblob to take struct object_id. 2016-09-07 12:59:42 -07:00
archive.c
bisect--helper.c
blame.c Merge branch 'va/i18n' 2016-09-21 15:15:28 -07:00
branch.c i18n: branch: mark option description for translation 2016-09-15 13:17:32 -07:00
bundle.c
cat-file.c sha1_array: let callbacks interrupt iteration 2016-09-26 11:46:41 -07:00
check-attr.c
check-ignore.c
check-mailmap.c
check-ref-format.c
checkout-index.c
checkout.c Merge branch 'rs/checkout-some-states-are-const' 2016-09-21 15:15:24 -07:00
clean.c
clone.c clone: recursive and reference option triggers submodule alternates 2016-08-17 17:19:11 -07:00
column.c
commit-tree.c builtin/commit-tree: convert to struct object_id 2016-09-07 12:59:43 -07:00
commit.c Merge branch 'jh/status-v2-porcelain' 2016-09-08 21:49:50 -07:00
config.c i18n: config: mark error message for translation 2016-09-15 13:17:32 -07:00
count-objects.c
credential.c
describe.c
diff-files.c diff: run arguments through precompose_argv 2016-05-13 14:35:49 -07:00
diff-index.c diff: run arguments through precompose_argv 2016-05-13 14:35:49 -07:00
diff-tree.c Merge branch 'ar/diff-args-osx-precompose' into maint 2016-06-06 14:27:35 -07:00
diff.c Merge branch 'jk/setup-sequence-update' 2016-09-21 15:15:24 -07:00
fast-export.c diff: convert struct diff_filespec to struct object_id 2016-06-28 11:39:02 -07:00
fetch-pack.c
fetch.c abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing 2016-10-03 12:54:21 -07:00
fmt-merge-msg.c use strbuf_addstr() instead of strbuf_addf() with "%s" 2016-08-05 15:09:25 -07:00
for-each-ref.c
fsck.c streaming: make stream_blob_to_fd take struct object_id 2016-09-07 12:59:42 -07:00
gc.c Merge branch 'jk/reduce-gc-aggressive-depth' 2016-09-21 15:15:30 -07:00
get-tar-commit-id.c
grep.c cache: convert struct cache_entry to use struct object_id 2016-09-07 12:59:42 -07:00
hash-object.c hash-object: always try to set up the git repository 2016-09-13 15:45:45 -07:00
help.c help: introduce option --exclude-guides 2016-08-30 16:09:41 -07:00
index-pack.c index-pack: add --max-input-size=<size> option 2016-08-24 12:31:05 -07:00
init-db.c Merge branch 'jk/setup-sequence-update' 2016-09-21 15:15:24 -07:00
interpret-trailers.c Merge branch 'jk/parseopt-string-list' into jk/string-list-static-init 2016-06-13 10:37:48 -07:00
log.c Merge branch 'jt/format-patch-base-info-above-sig' 2016-09-21 15:15:27 -07:00
ls-files.c cache: convert struct cache_entry to use struct object_id 2016-09-07 12:59:42 -07:00
ls-remote.c
ls-tree.c
mailinfo.c
mailsplit.c mailsplit: support unescaping mboxrd messages 2016-06-06 11:14:43 -07:00
merge-base.c
merge-file.c builtin/merge-file.c: use error_errno() 2016-05-09 12:29:08 -07:00
merge-index.c cache: convert struct cache_entry to use struct object_id 2016-09-07 12:59:42 -07:00
merge-ours.c
merge-recursive.c i18n: merge-recursive: mark verbose message for translation 2016-09-15 13:17:32 -07:00
merge-tree.c
merge.c Merge branch 'rs/merge-add-strategies-simplification' 2016-08-12 09:47:36 -07:00
mktag.c
mktree.c
mv.c git mv: do not keep slash in git mv dir non-existing-dir/ 2016-08-08 10:43:20 -07:00
name-rev.c Merge branch 'js/name-rev-use-oldest-ref' into maint 2016-05-31 14:08:26 -07:00
notes.c notes: spell first word of error messages in lowercase 2016-09-15 13:17:32 -07:00
pack-objects.c Merge branch 'ks/pack-objects-bitmap' 2016-09-21 15:15:21 -07:00
pack-redundant.c
pack-refs.c
patch-id.c Merge branch 'rs/patch-id-use-skip-prefix' 2016-06-03 14:38:03 -07:00
prune-packed.c
prune.c
pull.c Merge branch 'va/i18n-even-more' 2016-07-13 11:24:10 -07:00
push.c push: accept push options 2016-07-14 15:50:41 -07:00
read-tree.c cache: convert struct cache_entry to use struct object_id 2016-09-07 12:59:42 -07:00
receive-pack.c sha1_array: let callbacks interrupt iteration 2016-09-26 11:46:41 -07:00
reflog.c
remote-ext.c typofix: assorted typofixes in comments, documentation and messages 2016-05-06 13:16:37 -07:00
remote-fd.c
remote.c Merge branch 'mh/ref-iterators' 2016-07-25 14:13:33 -07:00
repack.c Merge branch 'va/i18n-even-more' 2016-07-13 11:24:10 -07:00
replace.c Merge branch 'js/replace-edit-use-editor-configuration' into maint 2016-05-06 14:53:24 -07:00
rerere.c
reset.c builtin/reset: convert to use struct object_id 2016-09-07 12:59:43 -07:00
rev-list.c graph: add support for --line-prefix on all graph-aware output 2016-08-31 18:07:09 -07:00
rev-parse.c abbrev: prepare for new world order 2016-10-03 12:54:22 -07:00
revert.c parse_options: allocate a new array when concatenating 2016-07-06 10:11:08 -07:00
rm.c builtin/rm: convert to use struct object_id 2016-09-07 12:59:42 -07:00
send-pack.c
shortlog.c Merge branch 'js/log-to-diffopt-file' 2016-07-19 13:22:15 -07:00
show-branch.c i18n: show-branch: mark plural strings for translation 2016-09-15 13:17:32 -07:00
show-ref.c
stripspace.c
submodule--helper.c Merge branch 'bc/object-id' 2016-09-19 13:47:19 -07:00
symbolic-ref.c symbolic-ref -d: do not allow removal of HEAD 2016-09-02 09:01:38 -07:00
tag.c
unpack-file.c
unpack-objects.c unpack-objects: add --max-input-size=<size> option 2016-08-24 12:31:05 -07:00
update-index.c Merge branch 'va/i18n' 2016-09-21 15:15:28 -07:00
update-ref.c
update-server-info.c
upload-archive.c builtin/upload-archive.c: use error_errno() 2016-05-09 12:29:08 -07:00
var.c
verify-commit.c
verify-pack.c
verify-tag.c
worktree.c use CHILD_PROCESS_INIT to initialize automatic variables 2016-08-05 15:10:05 -07:00
write-tree.c