git/builtin
Jeff King 0016024277 git-config: always treat --int as 64-bit internally
When you run "git config --int", the maximum size of integer
you get depends on how git was compiled, and what it
considers to be an "int".

This is almost useful, because your scripts calling "git
config" will behave similarly to git internally. But relying
on this is dubious; you have to actually know how git treats
each value internally (e.g., int versus unsigned long),
which is not documented and is subject to change. And even
if you know it is "unsigned long", we do not have a
git-config option to match that behavior.

Furthermore, you may simply be asking git to store a value
on your behalf (e.g., configuration for a hook). In that
case, the relevant range check has nothing at all to do with
git, but rather with whatever scripting tools you are using
(and git has no way of knowing what the appropriate range is
there).

Not only is the range check useless, but it is actively
harmful, as there is no way at all for scripts to look
at config variables with large values. For instance, one
cannot reliably get the value of pack.packSizeLimit via
git-config. On an LP64 system, git happily uses a 64-bit
"unsigned long" internally to represent the value, but the
script cannot read any value over 2G.

Ideally, the "--int" option would simply represent an
arbitrarily large integer. For practical purposes, however,
a 64-bit integer is large enough, and is much easier to
implement (and if somebody overflows it, we will still
notice the problem, and not simply return garbage).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-09-09 11:12:29 -07:00
..
add.c Merge branch 'mm/color-auto-default' 2013-07-22 11:23:10 -07:00
annotate.c
apply.c Git 1.8.3.4 2013-07-22 11:34:25 -07:00
archive.c pkt-line: provide a LARGE_PACKET_MAX static buffer 2013-02-20 13:42:22 -08:00
bisect--helper.c i18n: bisect--helper: mark parseopt strings for translation 2012-08-20 12:23:15 -07:00
blame.c Merge branch 'tr/line-log' 2013-06-02 16:00:44 -07:00
branch.c branch: colour upstream branches 2013-04-15 11:04:44 -07:00
bundle.c
cat-file.c Revert "cat-file: split --batch input lines on whitespace" 2013-08-02 09:29:30 -07:00
check-attr.c Merge branch 'maint' 2012-09-17 15:59:34 -07:00
check-ignore.c Merge branch 'as/check-ignore' 2013-05-29 14:23:40 -07:00
check-mailmap.c builtin: add git-check-mailmap command 2013-07-13 10:19:37 -07:00
check-ref-format.c
checkout-index.c Use imperative form in help usage to describe an action 2012-08-22 12:02:28 -07:00
checkout.c Merge branch 'nd/const-struct-cache-entry' 2013-07-22 11:24:01 -07:00
clean.c Merge branch 'jx/clean-interactive' 2013-08-01 11:52:37 -07:00
clone.c Merge branch 'jk/maint-clone-shared-no-connectivity-validation' 2013-07-18 12:48:29 -07:00
column.c i18n: column: mark parseopt strings for translation 2012-08-20 12:23:16 -07:00
commit-tree.c commit-tree: document -S option consistently 2013-03-25 15:01:22 -07:00
commit.c Merge branch 'jk/commit-how-to-abort-cherry-pick' 2013-07-31 12:38:23 -07:00
config.c git-config: always treat --int as 64-bit internally 2013-09-09 11:12:29 -07:00
count-objects.c count-objects: add -H option to humanize sizes 2013-04-10 13:27:26 -07:00
credential.c git credential fill: output the whole 'struct credential' 2012-06-25 11:56:24 -07:00
describe.c describe: fix --contains when a tag is given as input 2013-07-18 15:16:23 -07:00
diff-files.c
diff-index.c update-index/diff-index: use core.preloadindex to improve performance 2012-11-02 11:38:29 -04:00
diff-tree.c
diff.c cmd_diff(): make it obvious which cases are exclusive of each other 2013-05-28 09:25:01 -07:00
fast-export.c many small typofixes 2013-07-29 12:32:25 -07:00
fetch-pack.c Merge branch 'jk/pkt-line-cleanup' 2013-04-01 08:59:37 -07:00
fetch.c Merge branch 'mh/reflife' 2013-06-14 08:46:14 -07:00
fmt-merge-msg.c Merge branch 'rt/commentchar-fmt-merge-msg' into maint 2013-04-26 11:10:47 -07:00
for-each-ref.c Merge branch 'nd/i18n-parseopt-help' 2012-09-07 11:09:09 -07:00
fsck.c fsck: don't put a void*-shaped peg in a char*-shaped hole 2013-05-28 09:25:01 -07:00
gc.c silence git gc --auto --quiet output 2012-09-27 17:57:26 -07:00
grep.c Merge branch 'jx/clean-interactive' 2013-07-22 11:24:11 -07:00
hash-object.c i18n: hash-object: mark parseopt strings for translation 2012-08-20 12:23:17 -07:00
help.c Merge branch 'ph/builtin-srcs-are-in-subdir-these-days' into maint 2013-07-21 22:51:29 -07:00
index-pack.c clone: open a shortcut for connectivity check 2013-05-28 08:07:20 -07:00
init-db.c i18n: init-db: mark parseopt strings for translation 2012-08-20 12:23:17 -07:00
log.c teach format-patch to place other authors into in-body "From" 2013-07-03 12:11:04 -07:00
ls-files.c Merge branch 'jx/clean-interactive' 2013-07-22 11:24:11 -07:00
ls-remote.c ls-remote: document the '--get-url' option 2012-09-07 10:58:35 -07:00
ls-tree.c pathspec: save the non-wildcard length part 2012-11-19 13:08:28 -08:00
mailinfo.c Merge branch 'jc/same-encoding' into maint 2012-12-07 14:10:56 -08:00
mailsplit.c mailsplit: sort maildir filenames more cleverly 2013-03-02 22:52:44 -08:00
merge-base.c use logical OR (||) instead of binary OR (|) in logical context 2013-06-13 14:47:07 -07:00
merge-file.c i18n: merge-file: mark parseopt strings for translation 2012-08-20 12:23:18 -07:00
merge-index.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
merge-ours.c
merge-recursive.c
merge-tree.c merge-tree: handle directory/empty conflict correctly 2013-05-06 22:17:00 -07:00
merge.c Merge branch 'nd/const-struct-cache-entry' 2013-07-22 11:24:01 -07:00
mktag.c
mktree.c i18n: mktree: mark parseopt strings for translation 2012-08-20 12:23:18 -07:00
mv.c i18n: mv: mark parseopt strings for translation 2012-08-20 12:23:18 -07:00
name-rev.c describe: fix --contains when a tag is given as input 2013-07-18 15:16:23 -07:00
notes.c Merge branch 'ph/builtin-srcs-are-in-subdir-these-days' into maint 2013-07-21 22:51:29 -07:00
pack-objects.c Merge branch 'jk/peel-ref' 2012-10-25 06:42:27 -04:00
pack-redundant.c Fix sizeof usage in get_permutations 2012-12-13 11:13:44 -08:00
pack-refs.c pack-refs: merge code from pack-refs.{c,h} into refs.{c,h} 2013-05-01 15:33:11 -07:00
patch-id.c
prune-packed.c prune-packed: avoid implying "1" is DRY_RUN in prune_packed_objects() 2013-05-28 09:20:54 -07:00
prune.c Merge branch 'nd/prune-packed-dryrun-verbose' 2013-06-06 12:17:52 -07:00
push.c many small typofixes 2013-07-29 12:32:25 -07:00
read-tree.c diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const 2013-06-02 15:31:14 -07:00
receive-pack.c Merge branch 'jk/receive-pack-deadlocks-with-early-failure' into maint 2013-04-26 11:12:17 -07:00
reflog.c Merge branch 'jc/prune-all' 2013-05-29 14:23:04 -07:00
remote-ext.c
remote-fd.c
remote.c remote: check for superfluous arguments in 'git remote add' 2013-04-24 13:12:51 -07:00
replace.c fix "builtin-*" references to be "builtin/*" 2013-06-18 11:05:51 -07:00
rerere.c i18n: rerere: mark parseopt strings for translation 2012-08-20 12:23:19 -07:00
reset.c pretty: --format output should honor logOutputEncoding 2013-06-26 11:40:31 -07:00
rev-list.c pretty: --format output should honor logOutputEncoding 2013-06-26 11:40:31 -07:00
rev-parse.c rev-parse: add --prefix option 2013-06-17 13:30:01 -07:00
revert.c Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
rm.c Merge branch 'jc/rm-submodule-error-message' 2013-08-01 11:57:25 -07:00
send-pack.c teach get_remote_heads to read from a memory buffer 2013-02-24 00:17:38 -08:00
shortlog.c pretty: --format output should honor logOutputEncoding 2013-06-26 11:40:31 -07:00
show-branch.c Merge branch 'tr/do-not-call-submodules-subprojects' 2013-07-22 11:23:30 -07:00
show-ref.c Merge branch 'db/show-ref-head' 2013-07-22 11:23:56 -07:00
stripspace.c Allow custom "comment char" 2013-01-16 12:48:22 -08:00
symbolic-ref.c git symbolic-ref --delete $symref 2012-10-21 12:17:38 -07:00
tag.c Merge branch 'ph/tag-force-no-warn-on-creation' into maint 2013-04-03 09:24:51 -07:00
tar-tree.c
unpack-file.c
unpack-objects.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
update-index.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
update-ref.c Use imperative form in help usage to describe an action 2012-08-22 12:02:28 -07:00
update-server-info.c i18n: update-server-info: mark parseopt strings for translation 2012-08-22 10:58:29 -07:00
upload-archive.c pkt-line: provide a LARGE_PACKET_MAX static buffer 2013-02-20 13:42:22 -08:00
var.c ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT 2012-05-24 17:16:41 -07:00
verify-pack.c i18n: verify-pack: mark parseopt strings for translation 2012-08-22 10:58:29 -07:00
verify-tag.c gpg_interface: allow to request status return 2013-02-14 09:30:04 -08:00
write-tree.c i18n: write-tree: mark parseopt strings for translation 2012-08-22 10:58:29 -07:00