ā§.ā§Ģ āĻāĻŋāĻ āĻā§āϞāϏ â āϏāĻžāϰā§āĻāĻŋāĻ
āϏāĻžāϰā§āĻāĻŋāĻ
āϝā§āĻā§āύ āĻāĻāĻžāϰā§āϰ āĻā§āĻĄāĻŦā§āϏā§āϰ āϏāĻžāĻĨā§, āĻāĻĒāύāĻžāĻā§ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύāĻā§ āĻā§āĻĨāĻžāϝāĻŧ āĻāϞ āĻŦāĻž āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϤāĻž āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāϤ⧠āĻšāĻŦā§ āĻŦāĻž āĻāĻāĻāĻŋ āĻŽā§āĻĨāĻĄā§āϰ āĻāϤāĻŋāĻšāĻžāϏ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻŋāĻ āĻā§āĻĄāĻāĻŋ āĻāĻŦāĻ āĻāĻŽāĻŋāĻāĻā§āϞ⧠āĻĻā§āĻāĻžāϰ āĻāύā§āϝ āĻāϝāĻŧā§āĻāĻāĻŋ āĻĻāϰāĻāĻžāϰ⧠āĻā§āϞ āϏāϰāĻŦāϰāĻžāĻš āĻāϰ⧠āĻāĻŦāĻ āĻĻā§āϰā§āϤ āĻāĻŦāĻ āϏāĻšāĻā§ āĻāϰ āĻĄāĻžāĻāĻžāĻŦā§āϏ⧠āϏāĻāϰāĻā§āώāĻŋāϤ āĻāϰā§āĨ¤ āĻāĻŽāϰāĻž āϤāĻžāĻĻā§āϰ āĻāϝāĻŧā§āĻāĻāĻŋāϰ āĻŽāϧā§āϝ āĻĻāĻŋā§ā§ āϝāĻžāĻŦāĨ¤
āĻāĻŋāĻ āĻā§āϰā§āĻĒÂ
āĻāĻŋāĻ grep āύāĻžāĻŽāĻ āĻāĻāĻāĻŋ āĻāĻŽāĻžāύā§āĻĄ āĻĒāϰāĻŋāĻā§ āĻāϰāĻŋā§ā§ āĻĻā§ā§ āϝāĻž āĻāĻĒāύāĻžāĻā§ āϝā§āĻā§āύ āĻāĻŽāĻŋāĻā§āĻĄ āĻā§āϰāĻŋ, āĻāϝāĻŧāĻžāϰā§āĻāĻŋāĻ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ, āĻāĻŽāύāĻāĻŋ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻ āĻŦāĻž āϰā§āĻā§āϞāĻžāϰ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύā§āϰ āĻāύāĻĄā§āĻā§āϏā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻšāĻā§āĻ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻ āύā§āϏāϰāĻŖ āĻāϰāĻž āĻāĻĻāĻžāĻšāϰāĻŖāĻā§āϞāĻŋāϰ āĻāύā§āϝ, āĻāĻŽāϰāĻž āĻāĻŋāĻā§āϰ āύāĻŋāĻā§āϰ āĻāύā§āϝā§āĻ āϏā§āϰā§āϏ āĻā§āĻĄā§āϰ āĻŽāϧā§āϝ⧠āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰāĻŦāĨ¤
āĻĄāĻŋāĻĢāϞā§āĻ āĻāĻžāĻŦā§āĻ, git grep āĻāĻĒāύāĻžāϰ āĻāϝāĻŧāĻžāϰā§āĻāĻŋāĻ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋāϰ āĻĢāĻžāĻāϞāĻā§āϞāĻŋ āĻĻā§āĻāĻŦā§āĨ¤ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϰāĻāϰāĻŖ āĻšāĻŋāϏāĻžāĻŦā§, āĻāĻĒāύāĻŋ āĻāĻŋāĻ āĻŽāĻŋāϞ āĻā§āĻāĻā§ āĻĒā§āϝāĻŧā§āĻā§ āĻāĻŽāύ āϞāĻžāĻāύ āύāĻŽā§āĻŦāϰāĻā§āϞāĻŋ āĻŽā§āĻĻā§āϰāĻŖ āĻāϰāϤ⧠-n āĻŦāĻž –line-number āĻ āĻĒāĻļāύāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
$ git grep -n gmtime_r
compat/gmtime.c:3:#undef gmtime_r
compat/gmtime.c:8: return git_gmtime_r(timep, &result);
compat/gmtime.c:11:struct tm *git_gmtime_r(const time_t *timep, struct tm *result)
compat/gmtime.c:16: ret = gmtime_r(timep, result);
compat/mingw.c:826:struct tm *gmtime_r(const time_t *timep, struct tm *result)
compat/mingw.h:206:struct tm *gmtime_r(const time_t *timep, struct tm *result);
date.c:482: if (gmtime_r(&now, &now_tm))
date.c:545: if (gmtime_r(&time, tm)) {
date.c:758: /* gmtime_r() in match_digit() may have clobbered it */
git-compat-util.h:1138:struct tm *git_gmtime_r(const time_t *, struct tm *);
git-compat-util.h:1140:#define gmtime_r git_gmtime_r
āĻāĻĒāϰ⧠āĻĻā§āĻāĻžāύ⧠āĻŦā§āϏāĻŋāĻ āϏāĻžāϰā§āĻāĻŋāĻ āĻāĻžāĻĄāĻŧāĻžāĻ, git grep āĻ āύā§āϝāĻžāύā§āϝ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻ āĻĒāĻļāύāĻā§āϞāĻŋāϰ āĻāϧāĻŋāĻā§āϝ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϏāĻŽāϏā§āϤ āĻŽāĻŋāϞ āĻĒā§āϰāĻŋāύā§āĻ āĻāϰāĻžāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤā§, āĻāĻĒāύāĻŋ git grep-āĻā§Â -c āĻŦāĻž –count āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§āĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻā§āύ āĻĢāĻžāĻāϞ⧠āϏāĻžāϰā§āĻ āϏā§āĻā§āϰāĻŋāĻ āϰāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĢāĻžāĻāϞ⧠āĻāϤāĻā§āϞāĻŋ āĻŽāĻŋāϞ āϰāϝāĻŧā§āĻā§ āϤāĻž āĻĻā§āĻāĻŋāϝāĻŧā§, āĻāĻāĻāĻĒā§āĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻāϰāϤ⧠āĻŦāϞāϤ⧠āĻĒāĻžāϰā§āύ:
$ git grep --count gmtime_r
compat/gmtime.c:4
compat/mingw.c:1
compat/mingw.h:1
date.c:3
git-compat-util.h:2
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻ āϏā§āĻā§āϰāĻŋāĻ āĻāϰ āĻĒā§āϰāϏāĻā§āĻā§ āĻāĻā§āϰāĻšā§ āĻšāύ, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻŋ -p āĻŦāĻž –show-function āĻ āĻĒāĻļāύāĻā§āϞāĻŋāϰ āϝā§āĻā§āύ⧠āĻāĻāĻāĻŋāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŽā§āϝāĻžāĻāĻŋāĻ āϏā§āĻā§āϰāĻŋāĻ āĻāϰ āĻāύā§āϝ āĻāύāĻā§āϞā§āϏāĻŋāĻ āĻŽā§āĻĨāĻĄ āĻŦāĻž āĻĢāĻžāĻāĻļāύ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
$ git grep -p gmtime_r *.c
date.c=static int match_multi_number(timestamp_t num, char c, const char *date,
date.c: if (gmtime_r(&now, &now_tm))
date.c=static int match_digit(const char *date, struct tm *tm, int *offset, int *tm_gmt)
date.c: if (gmtime_r(&time, tm)) {
date.c=int parse_date_basic(const char *date, timestamp_t *timestamp, int *offset)
date.c: /* gmtime_r() in match_digit() may have clobbered it */
āĻāĻĒāύāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻā§āĻā§āύ, date.c āĻĢāĻžāĻāϞā§āϰ match_multi_number āĻāĻŦāĻ match_digit āĻāĻāϝāĻŧ āĻĢāĻžāĻāĻļāύ āĻĨā§āĻā§ gmtime_r āϰā§āĻāĻŋāύ āĻāϞ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§Â ( āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āϤā§āϤā§āϝāĻŧ āĻŽā§āϝāĻžāĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻŽāύā§āϤāĻŦā§āϝ⧠āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āϏā§āĻā§āϰāĻŋāĻāĻā§ āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāϤā§āĻŦ āĻāϰ⧠)āĨ¤
Â
āĻāĻĒāύāĻŋ –and āĻĢā§āϞā§āϝāĻžāĻā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏā§āĻā§āϰāĻŋāĻāĻā§āϞāĻŋāϰ āĻāĻāĻŋāϞ āĻāĻŽā§āĻŦāĻŋāύā§āĻļāĻžāύāĻā§āϞāĻŋāĻā§āĻ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āϝāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰ⧠āϝ⧠āĻā§āĻā§āϏāĻā§āϰ āĻāĻāĻ āϞāĻžāĻāύ⧠āĻāĻāĻžāϧāĻŋāĻ āĻŽāĻŋāϞ āĻāĻāϤā§āĻ āĻšāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖ āϏā§āĻŦāϰā§āĻĒ, āĻāϏā§āύ āĻāĻŽāύ āϝā§āĻā§āύ āϞāĻžāĻāύā§āϰ āϏāύā§āϧāĻžāύ āĻāϰāĻž āϝāĻžāĻ āϝāĻž āĻāĻāĻāĻŋ āĻāύāϏā§āĻā§āϝāĻžāύā§āĻāĻā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰā§, āϝ⧠āĻāύā§āϏāĻā§āϝāĻžāύā§āĻāĻāĻŋāϰ āύāĻžāĻŽāĻāĻŋ āϏāĻžāĻŦāϏā§āĻā§āϰāĻŋāĻ “LINK” āĻŦāĻž “BUF_MAX” āĻāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āϧāĻžāϰāĻŖ āĻāϰā§, āĻŦāĻŋāĻļā§āώāϤ v1.8.0 āĻā§āϝāĻžāĻ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻĒāϏā§āĻĨāĻžāĻĒāĻŋāϤ āĻāĻŋāĻ āĻā§āĻĄāĻŦā§āϏā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻžāύ⧠āϏāĻāϏā§āĻāϰāĻŖā§āĨ¤ ( āĻāĻŽāϰāĻž –break āĻāĻŦāĻ –heading āĻ āĻĒāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§ āϝāĻž āĻāĻāĻāĻĒā§āĻāĻā§ āĻāϰāĻ āĻĒāĻžāĻ āϝā§āĻā§āϝ āĻŦāĻŋāύā§āϝāĻžāϏ⧠āĻŦāĻŋāĻāĻā§āϤ āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰ⧠):
$ git grep --break --heading \
-n -e '#define' --and \( -e LINK -e BUF_MAX \) v1.8.0
v1.8.0:builtin/index-pack.c
62:#define FLAG_LINK (1u<<20)
v1.8.0:cache.h
73:#define S_IFGITLINK 0160000
74:#define S_ISGITLINK(m) (((m) & S_IFMT) == S_IFGITLINK)
v1.8.0:environment.c
54:#define OBJECT_CREATION_MODE OBJECT_CREATION_USES_HARDLINKS
v1.8.0:strbuf.c
326:#define STRBUF_MAXLINK (2*PATH_MAX)
v1.8.0:symlinks.c
53:#define FL_SYMLINK (1 << 2)
v1.8.0:zlib.c
30:/* #define ZLIB_BUF_MAX ((uInt)-1) */
31:#define ZLIB_BUF_MAX ((uInt) 1024 * 1024 * 1024) /* 1GB */
āϏāĻžāϧāĻžāϰāĻŖ āϏāĻžāϰā§āĻāĻŋāĻ āĻāĻŽāĻžāύā§āĻĄ āϝā§āĻŽāύ grep āĻāĻŦāĻ ack āĻāϰ āϤā§āϞāύāĻžāϝāĻŧ git grep āĻāĻŽāĻžāύā§āĻĄā§āϰ āĻāĻŋāĻā§ āϏā§āĻŦāĻŋāϧāĻž āϰāϝāĻŧā§āĻā§āĨ¤ āĻĒā§āϰāĻĨāĻŽāĻāĻŋ āĻš’āϞ āĻāĻāĻŋ āϏāϤā§āϝāĻŋāĻ āĻĻā§āϰā§āϤ, āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāĻāĻŋ āĻšāϞ āĻāĻĒāύāĻŋ āĻāĻŋāĻ-āĻāϰ āĻā§āĻŦāϞāĻŽāĻžāϤā§āϰ āĻāϝāĻŧāĻžāϰā§āĻāĻŋāĻ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āύāϝāĻŧ, āĻŦāϰāĻ āϝā§āĻā§āύ āĻā§āϰāĻŋāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻŽāϰāĻž āĻāĻĒāϰā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§ āϝā§āĻŽāύ āĻĻā§āĻā§āĻāĻŋ, āĻāĻŽāϰāĻž āĻŦāϰā§āϤāĻŽāĻžāύ⧠āĻā§āĻ āĻāĻāĻ āĻāϰāĻž āϏāĻāϏā§āĻāϰāĻŖāĻāĻŋ āύāϝāĻŧ, āĻŦāϰāĻ āĻāĻŋāĻ āϏā§āϰā§āϏ āĻā§āĻĄā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻžāύ⧠āϏāĻāϏā§āĻāϰāĻŖā§ āĻāĻžāϰā§āĻŽāĻā§āϞāĻŋ āĻĻā§āĻā§āĻāĻŋāĨ¤
Â
āĻāĻŋāĻ āϞāĻ āĻ āύā§āϏāύā§āϧāĻžāύ
Â
āϏāĻŽā§āĻāĻŦāϤ āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻāĻžāϰā§āĻŽ āĻā§āĻĨāĻžāϝāĻŧ āĻāĻā§ āϤāĻž āĻā§āĻāĻāĻā§āύ āύāĻž, āĻāĻŋāύā§āϤ⧠āĻāĻāύ āĻāĻāĻŋ āĻ āϧāĻŋāώā§āĻ āĻŦāĻž āĻāĻĒāϏā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāϝāĻŧā§āĻāĻŋāϞ, āϤāĻž āĻā§āĻāĻāĻā§āύāĨ¤ git log āĻāĻŽāĻžāύā§āĻĄā§ āϤāĻžāĻĻā§āϰ āĻŦāĻžāϰā§āϤāĻžāϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻŦāĻž āĻāĻŽāύāĻāĻŋ āϤāĻžāϰāĻž āϝ⧠āĻāĻŋāύā§āύāϤāĻž āĻāĻĒāϏā§āĻĨāĻžāĻĒāĻŋāϤ āĻāϰā§, āϤāĻžāϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻŽāĻŋāĻāĻā§āϞāĻŋāĻā§ āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āϏāϰāĻā§āĻāĻžāĻŽ āϰāϝāĻŧā§āĻā§āĨ¤
Â
āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āĻāĻžāύāϤ⧠āĻāĻžāĻ āϝ⧠ZLIB_BUF_MAX āĻāύāϏā§āĻā§āϝāĻžāύā§āĻāĻāĻŋ āĻāϏāϞ⧠āĻāĻāύ āĻ āϰāĻŋāĻāĻŋāύāĻžāϞāĻŋ āĻāĻĒāϏā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāϝāĻŧā§āĻāĻŋāϞ, āĻāĻŽāϰāĻž -S āĻ āĻĒāĻļāύāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ ( āϏāĻāϰāĻžāĻāϰ āĻāĻāĻŋāĻā§ āĻāĻŋāĻ “āĻĒāĻŋāĻā§āϝāĻžāĻā§āϏ” āĻ āĻĒāĻļāύ āĻšāĻŋāϏāĻžāĻŦā§ āĻāϞā§āϞā§āĻ āĻāϰāĻž āĻšāϝāĻŧ ) āĻāĻŋāĻāĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϏā§āĻ āĻāĻŽāĻŋāĻāĻā§āϞāĻŋ āĻĻā§āĻāĻžāϤ⧠āĻŦāϞāĻž āĻšā§ā§āĻā§ āϝāĻž āϏā§āĻ āϏā§āĻā§āϰāĻŋāĻāϝāĻŧā§āϰ āϏāĻāĻāĻāύā§āϰ āϏāĻāĻā§āϝāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āĻā§āĨ¤
$ git log -S ZLIB_BUF_MAX --oneline
e01503b zlib: allow feeding more than 4GB in one go
ef49a7a zlib: zlib can only process 4GB at a time
āĻāĻŽāϰāĻž āϝāĻĻāĻŋ āĻāĻ āĻāĻŽāĻŋāĻāĻā§āϞāĻŋāϰ āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻĻā§āĻāĻŋ, āĻāĻŽāϰāĻž āĻĻā§āĻāϤ⧠āĻĒāĻžāĻŦ āϝ⧠ef49a7a āϤ⧠āĻāύāϏā§āĻā§āϝāĻžāύā§āĻāĻāĻŋ āĻāĻžāϞ⧠āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ āĻāĻŦāĻ e01503b āϤ⧠āĻāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāϰāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻšāϤ⧠āĻāĻžāύ, āĻāĻĒāύāĻŋ -G āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āϏāĻžāĻšāĻžāϝā§āϝ⧠āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϰā§āĻā§āϞāĻžāϰ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āϞāĻžāĻāύ āϞāĻ āĻ āύā§āϏāύā§āϧāĻžāύÂ
āĻāϰā§āĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻāύā§āύāϤ āϞāĻ āĻ āύā§āϏāύā§āϧāĻžāύ āĻšāϞ āϞāĻžāĻāύ āĻāϤāĻŋāĻšāĻžāϏ āĻ āύā§āϏāύā§āϧāĻžāύ, āϝāĻž āĻ āϤā§āϝāύā§āϤ āĻĻāϰāĻāĻžāϰāĻŋāĨ¤ āϏāĻšāĻāĻāĻžāĻŦā§, git log āĻāĻŽāĻžāύā§āĻĄā§āϰ āϏāĻžāĻĨā§ -L āĻāĻžāϞāĻžāύ, āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻĒāύāĻžāĻā§ āĻāĻĒāύāĻžāϰ āĻā§āĻĄāĻŦā§āϏā§āϰ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āĻŦāĻž āĻā§āĻĄā§āϰ āϞāĻžāĻāύā§āϰ āĻāϤāĻŋāĻšāĻžāϏ āĻĻā§āĻāĻžāĻŦā§āĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϝāĻĻāĻŋ āĻāĻŽāϰāĻž zlib.c āĻĢāĻžāĻāϞ⧠git_deflate_bound āĻĢāĻžāĻāĻļāύ⧠āĻāϰāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻĻā§āĻāϤ⧠āĻāĻžāĻ, āϤāĻžāĻšāϞ⧠āĻāĻŽāϰāĻž git log -L :git_deflate_bound:zlib.c āĻāĻžāϞāĻžāϤ⧠āĻĒāĻžāϰāĻŋāĨ¤ āĻāĻāĻŋ āϏā§āĻ āĻĢāĻžāĻāĻļāύā§āϰ āϏā§āĻŽāĻžāύāĻžāĻā§āϞāĻŋ āĻā§ āϤāĻž āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻŦā§ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āĻāϤāĻŋāĻšāĻžāϏā§āϰ āĻĻāĻŋāĻā§ āϤāĻžāĻāĻžāĻŦā§ āĻāĻŦāĻ āĻĢāĻžāĻāĻļāύāĻāĻŋ āĻĒā§āϰāĻĨāĻŽ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĒā§āϝāĻžāĻāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϏāĻŋāϰāĻŋāĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻĢāĻžāĻāĻļāύ⧠āĻāϰāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāĻŽāĻžāĻĻā§āϰ āĻĻā§āĻāĻžāĻŦā§āĨ¤
$ git log -L :git_deflate_bound:zlib.c
commit ef49a7a0126d64359c974b4b3b71d7ad42ee3bca
Author: Junio C Hamano
Date: Fri Jun 10 11:52:15 2011 -0700
zlib: zlib can only process 4GB at a time
diff --git a/zlib.c b/zlib.c
--- a/zlib.c
+++ b/zlib.c
@@ -85,5 +130,5 @@
-unsigned long git_deflate_bound(z_streamp strm, unsigned long size)
+unsigned long git_deflate_bound(git_zstream *strm, unsigned long size)
{
- return deflateBound(strm, size);
+ return deflateBound(&strm->z, size);
}
commit 225a6f1068f71723a910e8565db4e252b3ca21fa
Author: Junio C Hamano
Date: Fri Jun 10 11:18:17 2011 -0700
zlib: wrap deflateBound() too
diff --git a/zlib.c b/zlib.c
--- a/zlib.c
+++ b/zlib.c
@@ -81,0 +85,5 @@
+unsigned long git_deflate_bound(z_streamp strm, unsigned long size)
+{
+ return deflateBound(strm, size);
+}
+
āϝāĻĻāĻŋ āĻāĻŋāĻ āĻāĻĒāύāĻžāϰ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻžāϝāĻŧ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āĻŦāĻž āĻŽā§āĻĨāĻĄā§ āĻā§āĻāĻžāĻŦā§ āĻŽāĻŋāϞ āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāϤ⧠āĻšāϝāĻŧ āϤāĻž āĻŦā§āϰ āĻāϰāϤ⧠āύāĻž āĻĒāĻžāϰā§, āϤāĻŦā§ āĻāĻĒāύāĻŋ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āϰā§āĻā§āϞāĻžāϰ āĻāĻā§āϏāĻĒā§āϰā§āĻļāĻ¨Â ( āĻŦāĻž āϰā§āĻā§āĻā§āϏ ) āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻŋ āĻāĻĒāϰā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§āϰ āĻŽāϤ⧠āĻāĻāĻ āĻāĻžāĻ āĻāϰāĻŦā§:Â
git log -L ‘/unsigned long git_deflate_bound/’,/^}/:zlib.cÂ
āĻāĻĒāύāĻŋ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āϰā§āĻā§āĻ āĻŦāĻž āĻāĻāĻ āϞāĻžāĻāύ āύāĻŽā§āĻŦāϰāĻ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āĻāĻĒāύāĻŋ āĻāĻāĻ āϧāϰāĻŖā§āϰ āĻāĻāĻāĻĒā§āĻ āĻĒāĻžāĻŦā§āύāĨ¤