Hello!
I have very bad news for you.
06/08/2018 - on this day I hacked your operating system and got full access to
your account git@vger.kernel.org
On that day your account git@vger.kernel.org password was: e7d1w8i2n
It is useless to change the password, my malware intercepts it every time
I greet you!
I have bad news for you.
27/08/2018 - on this day I hacked your operating system and got full access to
your account git@vger.kernel.org
On that day your account (git@vger.kernel.org) password was: 06239
It is useless to change the password, my malware intercepts it every time
I greet you!
I have bad news for you.
27/08/2018 - on this day I hacked your operating system and got full access to
your account git@vger.kernel.org
On that day your account (git@vger.kernel.org) password was: callgsm01
It is useless to change the password, my malware intercepts it every time
of the array.
Signed-off-by: Jeff Hostetler
---
builtin/config.c | 79
1 file changed, 40 insertions(+), 39 deletions(-)
diff --git a/builtin/config.c b/builtin/config.c
index b29d26d..564f18f 100644
--- a/builtin/config.c
+++ b/builtin/config.c
quot; sequence is an extension supported by GCC,
clang, and tcc.
[1] https://en.wikipedia.org/wiki/Escape_sequences_in_C
Signed-off-by: Jeff Hostetler
---
convert.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/convert.c b/convert.c
index 56cfe31..52092be 100644
--- a/co
From: Jeff Hostetler
Set sub-command field for the various forms of the branch command.
Signed-off-by: Jeff Hostetler
---
builtin/branch.c | 8
1 file changed, 8 insertions(+)
diff --git a/builtin/branch.c b/builtin/branch.c
index 5217ba3..fba516f 100644
--- a/builtin/branch.c
+++ b
From: Jeff Hostetler
Teach git to generate a structured logging detail-event for
lazy_init_name_hash(). This is marked as an "index" category
event and includes time and size data for the hashmaps.
Signed-off-by: Jeff Hostetler
---
name-hash.c | 26 ++
1 fi
From: Jeff Hostetler
Teach git to optionally generate structured logging data in JSON using
the json-writer API. "cmd_start" and "cmd_end" events are generated.
Structured logging is only available when git is built with
STRUCTURED_LOGGING=1.
Structured logging is only ena
From: Jeff Hostetler
Use a SLOG timer to record the time spent in do_read_index()
and report it in the "cmd_exit" event.
Signed-off-by: Jeff Hostetler
---
read-cache.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/read-cache.c b/read-cache.c
index 3725882..df5dc87 100644
From: Jeff Hostetler
Signed-off-by: Jeff Hostetler
---
t/t0420-structured-logging.sh | 48 +++
1 file changed, 48 insertions(+)
diff --git a/t/t0420-structured-logging.sh b/t/t0420-structured-logging.sh
index a594af3..37c7e83 100755
--- a/t/t0420
From: Jeff Hostetler
Teach do_read_index() and do_write_index() to record the size of the index
in aux-data. This will be reported in the "cmd_exit" event.
Signed-off-by: Jeff Hostetler
---
read-cache.c | 4
1 file changed, 4 insertions(+)
diff --git a/read-cache.c b/read-cac
From: Jeff Hostetler
Add timer facility to structured logging. This allows stopwatch-like
operations over the life of the git process. Timer data is summarized
in the "cmd_exit" event.
Signed-off-by: Jeff Hostetler
---
Documentation/config.txt | 6 ++
structured-logging.c
From: Jeff Hostetler
Teach git to classify child processes as "editor", "pager", "subprocess",
"alias", "shell", or "other".
Add the child process classification to the child detail events.
Mark child processes of class "editor
g.txt | 13 +++
structured-logging.c | 95
structured-logging.h | 16
3 files changed, 124 insertions(+)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index c79f2bf..88f93fe 100644
--- a/Documentation/config
| 52 +++
t/test-lib.sh | 1 +
3 files changed, 196 insertions(+)
create mode 100755 t/t0420-structured-logging.sh
create mode 100644 t/t0420/parse_json.perl
diff --git a/t/t0420-structured-logging.sh b/t/t0420-structured-logging.sh
new file mode 100755
index 00
From: Jeff Hostetler
Use a SLOG timer to record the time spend in preload_index() and
report it in the "cmd_exit" event.
Signed-off-by: Jeff Hostetler
---
preload-index.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/preload-index.c b/preload-index.c
index 4d08d44..572b
| 116 +++
structured-logging.h | 21 +
3 files changed, 143 insertions(+)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 7817966..ca78d4c 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -3195,6 +3195,12 @@ s
---
remote-curl.c | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/remote-curl.c b/remote-curl.c
index 99b0bed..ed910f8 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -1322,8 +1322,9 @@ static int stateless_connect(const char *service_name)
return 0
From: Jeff Hostetler
Signed-off-by: Jeff Hostetler
---
t/t0420-structured-logging.sh | 39 +++
1 file changed, 39 insertions(+)
diff --git a/t/t0420-structured-logging.sh b/t/t0420-structured-logging.sh
index 2e06cd7..4ac404d 100755
--- a/t/t0420-structured
From: Jeff Hostetler
Teach git to emit "detail" events with category "child" before a child
process is started and after it finishes. These events can be used to
infer time spent by git waiting for child processes to complete.
These events are controlled by the slog.detail
g of the log.
Knowing the filter settings can help post-processors reason about
the contents of the log.
Signed-off-by: Jeff Hostetler
---
structured-logging.c | 132 +++
structured-logging.h | 13 +++++
2 files changed, 145 insertions(+)
diff --git a
t-status.c | 20
1 file changed, 20 insertions(+)
diff --git a/wt-status.c b/wt-status.c
index d1c0514..f663a37 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -580,8 +580,11 @@ static void wt_status_collect_updated_cb(struct
diff_queue_struct *q,
s
From: Jeff Hostetler
Test running a command with a fake pager and verify that a child_summary
is generated.
Signed-off-by: Jeff Hostetler
---
t/t0420-structured-logging.sh | 30 ++
1 file changed, 30 insertions(+)
diff --git a/t/t0420-structured-logging.sh b/t
From: Jeff Hostetler
Use a SLOG timer to record the time spend in do_write_index() and
report it in the "cmd_exit" event.
Signed-off-by: Jeff Hostetler
---
read-cache.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/read-cache.c b/read-cache.c
index df5dc87..7fe6
From: Jeff Hostetler
Signed-off-by: Jeff Hostetler
---
t/t0420-structured-logging.sh | 33 +
1 file changed, 33 insertions(+)
diff --git a/t/t0420-structured-logging.sh b/t/t0420-structured-logging.sh
index 37c7e83..2e06cd7 100755
--- a/t/t0420-structured
From: Jeff Hostetler
Teach unpack_trees() to record the number of entries in the sparse-checkout
file in the aux-data. This will be reported in the "cmd_exit" event.
Signed-off-by: Jeff Hostetler
---
unpack-trees.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --gi
From: Jeff Hostetler
This RFC patch series adds structured logging to git. The motivation,
background, and limitations of this feature are described at the
beginning of the design document in the first commit. The design
document also contains a section comparing this feature with the
existing
insertions(+)
create mode 100644 structured-logging.c
create mode 100644 structured-logging.h
diff --git a/Makefile b/Makefile
index 39ca66b..ccc39bf 100644
--- a/Makefile
+++ b/Makefile
@@ -442,6 +442,8 @@ all::
# When cross-compiling, define HOST_CPU as the canonical name of the CPU on
# which
From: Jeff Hostetler
Signed-off-by: Jeff Hostetler
---
Documentation/technical/structured-logging.txt | 816 +
1 file changed, 816 insertions(+)
create mode 100644 Documentation/technical/structured-logging.txt
diff --git a/Documentation/technical/structured
From: Jeff Hostetler
Signed-off-by: Jeff Hostetler
---
builtin/checkout.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 2e1d237..d05890b 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -249,6 +249,8 @@ static int
From: Jeff Hostetler
Teach git to create a unique session id (SID) during structured
logging initialization and use that SID in all log events.
This SID is exported into a transient environment variable and
inherited by child processes. This allows git child processes
to be related back
for
output. It does not attempt to build an object model of the JSON data.
We say "JSON-like" because we do not enforce the Unicode (usually UTF-8)
requirement on string fields. Internally, Git does not necessarily have
Unicode/UTF-8 data for most fields, so it is currently unclear the
From: Jeff Hostetler
Here is V11 of my json-writer patch. I fixed a minor initialization
bug in V10 and rebased it onto v2.18.0 (from an 2.18.0-RC version).
Jeff Hostetler (1):
json_writer: new routines to create JSON data
Makefile| 2 +
json-writer.c |
From: Jeff Hostetler
Here is V10 of my json-writer patch. I fixed the DEVELOPER=1 warnings
that Eric pointed out and refactored the indent_pretty() code as Junio
suggested.
Jeff Hostetler (1):
json_writer: new routines to create JSON data
Makefile| 2 +
json-writer.c
for
output. It does not attempt to build an object model of the JSON data.
We say "JSON-like" because we do not enforce the Unicode (usually UTF-8)
requirement on string fields. Internally, Git does not necessarily have
Unicode/UTF-8 data for most fields, so it is currently unclear the
for
output. It does not attempt to build an object model of the JSON data.
We say "JSON-like" because we do not enforce the Unicode (usually UTF-8)
requirement on string fields. Internally, Git does not necessarily have
Unicode/UTF-8 data for most fields, so it is currently unclear the
From: Jeff Hostetler
Here is V9 of my json-writer patches. Please replace the existing V5..V8
versions with this one.
This version has been rebased onto v2.18.0-rc1 rather than 2.17 because
of changes to the test-tool setup.
I've incorporated all of the suggestions on the V8 version,
From: Jeff Hostetler
I've been working to add code to Git to optionally collect telemetry data.
The goal is to be able to collect performance data from Git commands and
allow it to be aggregated over a user community to find "slow commands".
I'm going to break this up into several pa
diff --git a/Documentation/technical/telemetry.txt
b/Documentation/technical/telemetry.txt
new file mode 100644
index 000..0a708ad
--- /dev/null
+++ b/Documentation/technical/telemetry.txt
@@ -0,0 +1,475 @@
+Telemetry Design Notes
+==
+
+The telemetry feature allows Git
ike format. We say "JSON-like" because we do not enforce the Unicode
(usually UTF-8) requirement on string fields. Internally, Git does not
necessarily have Unicode/UTF-8 data for most fields, so it is currently
unclear the best way to enforce that requirement. For example, on Linx
p
100644 t/t0019/parse_json.perl
diff --git a/t/t0019-json-writer.sh b/t/t0019-json-writer.sh
index c9c2e23..fd61fe4 100755
--- a/t/t0019-json-writer.sh
+++ b/t/t0019-json-writer.sh
@@ -233,4 +233,42 @@ test_expect_success 'inline array with no members' '
test_cmp expect actual
From: Jeff Hostetler
Here is V8 of my json-writer patches. Please replace the existing V5/V6/V7
version of the jh/json-writer branch with this one.
This version uses perl rather than python to test the generated JSON.
Jeff Hostetler (2):
json_writer: new routines to create data in JSON
ike format. We say "JSON-like" because we do not enforce the Unicode
(usually UTF-8) requirement on string fields. Internally, Git does not
necessarily have Unicode/UTF-8 data for most fields, so it is currently
unclear the best way to enforce that requirement. For example, on Linx
p
/parse_json_1.py
diff --git a/t/t0019-json-writer.sh b/t/t0019-json-writer.sh
index c9c2e23..951cd89 100755
--- a/t/t0019-json-writer.sh
+++ b/t/t0019-json-writer.sh
@@ -233,4 +233,42 @@ test_expect_success 'inline array with no members' '
test_cmp expect actual
'
+# As a sanity check, ask
From: Jeff Hostetler
Here is V7 of my json-writer patches. Please replace the existing V5/V6
version of jh/json-writer branch with this one.
This version cleans up the die()-vs-BUG() issue that Duy mentioned recently.
It also fixes a formatting bug when composing empty sub-objects/-arrays.
It
son-writer.c | 4 ++--
t/t0019-json-writer.sh | 36 ++--
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/json-writer.c b/json-writer.c
index 1b49158..dbfcf70 100644
--- a/json-writer.c
+++ b/json-writer.c
@@ -165,7 +165,7 @@ void jw_object_s
structured data in a
JSON-like format. We say "JSON-like" because we do not enforce the Unicode
(usually UTF-8) requirement on string fields. Internally, Git does not
necessarily have Unicode/UTF-8 data for most fields, so it is currently
unclear the best way to enforce that requirem
commit in this PR is this patch.
https://github.com/jeffhostetler/git/pull/11
Jeff Hostetler (1):
json_writer: new routines to create data in JSON format
Makefile| 2 +
json-writer.c | 394 ++
json-writer.h
structured data in a
JSON-like format. We say "JSON-like" because we do not enforce the Unicode
(usually UTF-8) requirement on string fields. Internally, Git does not
necessarily have Unicode/UTF-8 data for most fields, so it is currently
unclear the best way to enforce that requirem
From: Jeff Hostetler
This is version 4 of my JSON data format routines.
This version adds a "pretty" formatted output. I consider this to be
mainly for debugging, but worth keeping available in release builds.
I simplified the stack-level tracing as suggested by René
Thanks for Cc-ing me, and sorry for not being very responsive these
days :-\.
Jeff King writes:
> On Fri, Mar 23, 2018 at 10:40:34PM +, Aaron Greenberg wrote:
>
>> I can appreciate Matthieu's points on the use of "-" in destructive
>> commands. As of this
er/test-json-writer.c
create mode 100755 t/t0019-json-writer.sh
diff --git a/Makefile b/Makefile
index 1a9b23b..57f58e6 100644
--- a/Makefile
+++ b/Makefile
@@ -662,6 +662,7 @@ TEST_PROGRAMS_NEED_X += test-fake-ssh
TEST_PROGRAMS_NEED_X += test-genrandom
TEST_PROGRAMS_NEED_X += test-hashmap
TEST_PRO
nerate structured data in a JSON-like
format. I say "JSON-like" because we don't enforce the Unicode/UTF-8
requirement [3,4] on string values. This was discussed on the mailing list
in the [v1] and [v2] threads, but to summarize here: Git doesn't know if
various fields, such as Unix path
er.c
create mode 100755 t/t0019-json-writer.sh
diff --git a/Makefile b/Makefile
index 1a9b23b..57f58e6 100644
--- a/Makefile
+++ b/Makefile
@@ -662,6 +662,7 @@ TEST_PROGRAMS_NEED_X += test-fake-ssh
TEST_PROGRAMS_NEED_X += test-genrandom
TEST_PROGRAMS_NEED_X += test-hashmap
TEST_PROGRAMS_NEED_X +
tems. Pathnames on
Windows are UCS2/UTF-16 in the filesystem and we always convert to/from
UTF-8 when moving between git data structures and IO calls.
There are few other fields (like author name) that we may want to log which
may or may not be, but that is beyond our control. Even localized er
Pan/paní Only the best on dating site URL http://bit.ly/2EjyKcY Vám zasílá
odkaz na stránku ze serveru http://www.pojistenispektrum.cz, která by Vás mohla
zajímat:
http://bit.ly/2EjyKcY
s not on my radar
right now, however.)
Documentation for the new API is given in json-writer.h at the bottom of
the first patch.
I wasn't sure how to unit test the API from a shell script, so I added a
helper command that does most of the work in the second patch.
[1] https://public-inbox.org/git/2018031
iter.h | 120 +++
3 files changed, 345 insertions(+)
create mode 100644 json-writer.c
create mode 100644 json-writer.h
diff --git a/Makefile b/Makefile
index 1a9b23b..9000369 100644
--- a/Makefile
+++ b/Makefile
@@ -815,6 +815,7 @@ LIB_OBJS += hashmap.o
LIB_OBJS += help.o
LIB_O
7 insertions(+)
create mode 100644 t/helper/test-json-writer.c
create mode 100755 t/t0019-json-writer.sh
diff --git a/Makefile b/Makefile
index 9000369..57f58e6 100644
--- a/Makefile
+++ b/Makefile
@@ -662,6 +662,7 @@ TEST_PROGRAMS_NEED_X += test-fake-ssh
TEST_PROGRAMS_NEED_X += te
尊敬的 gir...@yahoo.com 企业领导/公司负责人/业界专家,您好:
新材料为21世纪三大共性关键技术之一,已成为全球经济迅速增长的源动力和提升核心竞争力的战略焦点。材料作为制造业的基础,特别是新材料研究和产业发展的水平与规模,已经成为衡量一个国家科技进步和综合实力的重要标志。在新材料发展与应用中,复合材料占有相当重要的地位,特别广泛的应用在汽车、交通、风能、航空、航天、兵器、船舶、国防、机械、电子、化工、建筑、农业、渔业、纺织、运动器材等领域,一直是世界各国优先发展和竞争激烈的重要行业。
“JEC世界复合材料展览及会议”(JEC world
git archive -o name.tar.gz generates a gzipped file without needing an
explicit --format switch.
However, git archive -o name.tar.gz --remote [url] generates a tar
file, which is unexpected, bandwidth-heavier, and additionally in some
cases it's not immediately obvious that this has happened
In Git on macOS (git version 2.13.2 | brew install git) the status command will
show folders as untracked even though they are committed and checked out from
the repository. Does not reproduce on Windows and Ubuntu.
Repro steps:
1. Download https://www.dropbox.com/s/0q5pbpqpckwzj7b
From: Jeff Hostetler
Version 8 of this patch converts the unit test to use
perl to corrupt the index checksum (rather than altering
a filename) and also verifies the fsck error message as
suggested in response to v7 on the mailing list.
If there are no other suggestions,
From: Jeff Hostetler <jeffh...@microsoft.com>
Teach git to skip verification of the SHA1-1 checksum at the end of
the index file in verify_hdr() which is called from read_index()
unless the "force_verify_index_checksum" global variable is set.
Teach fsck to force this verificatio
r_name() and the trivial optimization.
Signed-off-by: Jeff Hostetler <jeffh...@microsoft.com>
---
read-cache.c | 45 +
1 file changed, 45 insertions(+)
diff --git a/read-cache.c b/read-cache.c
index 6a27688..9af0bd4 100644
--- a/read-cache.c
+++ b/read-cache
cmp-offset.c
create mode 100755 t/t0065-strcmp-offset.sh
diff --git a/Makefile b/Makefile
index 9ec6065..4c4c246 100644
--- a/Makefile
+++ b/Makefile
@@ -631,6 +631,7 @@ TEST_PROGRAMS_NEED_X += test-scrap-cache-tree
TEST_PROGRAMS_NEED_X += test-sha1
TEST_PROGRAMS_NEED_X += test-sha1-array
TEST_PRO
h 4.2M files.
$ GIT_PERF_REPO=~/work/gfw/t/perf/repos/gen-many-files-10.4.3.git/ ./run HEAD~3
HEAD ./p0006-read-tree-checkout.sh
TestHEAD~3
HEAD
0006.2: read-tree br_base br_ballast (4194305)
29.96(19.26
From: Jeff Hostetler
Version 12 adds a new t/perf/repo/inflate-repo.sh script to let you
inflate a test repo, such as a copy of git.git or linux.git, to have
a branch containing a very large number of (non-synthetic) files.
It also fixes the "##" comments in the
changed, 10 insertions(+), 1 deletion(-)
diff --git a/read-cache.c b/read-cache.c
index 97f13a1..6a27688 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -1021,7 +1021,16 @@ static int add_index_entry_with_check(struct index_state
*istate, struct cache_e
if (!(option & ADD_CACHE
ode 100755 t/perf/p0006-read-tree-checkout.sh
create mode 100644 t/perf/repos/.gitignore
create mode 100755 t/perf/repos/inflate-repo.sh
create mode 100755 t/perf/repos/many-files.sh
diff --git a/t/perf/p0006-read-tree-checkout.sh
b/t/perf/p0006-read-tree-checkout.sh
new file mode 100755
i
osoft.com>
---
diffcore-rename.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/diffcore-rename.c b/diffcore-rename.c
index f7444c8..543a409 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -81,6 +81,18 @@ static struct diff_rename_src *register_rename_src(struct
diff
From: Jeff Hostetler
Here is another micro-optimization for very large repositories.
Speed up register_rename_src() in diffcore-rename.c
Jeff Hostetler (1):
diffcore-rename: speed up register_rename_src
diffcore-rename.c | 13 +
1 file changed, 13
+++
3 files changed, 178 insertions(+)
create mode 100755 t/perf/p0006-read-tree-checkout.sh
create mode 100644 t/perf/repos/.gitignore
create mode 100755 t/perf/repos/many-files.sh
diff --git a/t/perf/p0006-read-tree-checkout.sh
b/t/perf/p0006-read-tree-checkout.sh
new file mode 100755
i
r_name() and the trivial optimization.
Signed-off-by: Jeff Hostetler <jeffh...@microsoft.com>
---
read-cache.c | 45 +
1 file changed, 45 insertions(+)
diff --git a/read-cache.c b/read-cache.c
index 6a27688..9af0bd4 100644
--- a/read-cache.c
+++ b/read-cache
t-cuts as we look at each
sub-directory prefix.
The net-net gains for add_index_entry_with_check() and
both had_dir_name() commits are best seen for very
large repos.
Here are results for a synthetic repo with 4.2M files.
$ GIT_PERF_REPO=~/work/gfw/t/perf/repos/gen-many-files-10.4.3.git/ ./run
changed, 10 insertions(+), 1 deletion(-)
diff --git a/read-cache.c b/read-cache.c
index 97f13a1..6a27688 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -1021,7 +1021,16 @@ static int add_index_entry_with_check(struct index_state
*istate, struct cache_e
if (!(option & ADD_CACHE
From: Jeff Hostetler
Version 11 splits the changes in read-cache.c into
3 commits so that they can be independently evaluated.
And adds subscript guard for istate->cache_nr > 0 which
might be necessary if remove_index_entry_at() deletes
the only entry in the array.
Jeff
cmp-offset.c
create mode 100755 t/t0065-strcmp-offset.sh
diff --git a/Makefile b/Makefile
index 9ec6065..4c4c246 100644
--- a/Makefile
+++ b/Makefile
@@ -631,6 +631,7 @@ TEST_PROGRAMS_NEED_X += test-scrap-cache-tree
TEST_PROGRAMS_NEED_X += test-sha1
TEST_PROGRAMS_NEED_X += test-sha1-array
TEST_PRO
From: Jeff Hostetler <jeffh...@microsoft.com>
Teach git to skip verification of the SHA1-1 checksum at the end of
the index file in verify_hdr() which is called from read_index()
unless the "force_verify_index_checksum" global variable is set.
Teach fsck to force this verificatio
From: Jeff Hostetler
Version 7 of this patch cleans up the fsck test using
test_when_finished and eliminates unnecessary mv/rm's.
Jeff Hostetler (1):
read-cache: force_verify_index_checksum
builtin/fsck.c | 1 +
cache.h | 2 ++
read-cache.c| 7 +++
From: Jeff Hostetler
Version 5 addresses coding style comments from the mailing list
in the perf test and squashes the changes into 1 commit.
Jeff Hostetler (1):
string-list: use ALLOC_GROW macro when reallocing string_list
string-list.c | 5 +
tring-list.c | 5 +
t/perf/p0005-status.sh | 49 +
2 files changed, 50 insertions(+), 4 deletions(-)
create mode 100755 t/perf/p0005-status.sh
diff --git a/string-list.c b/string-list.c
index 45016ad..003ca18 100644
--- a/string-list.c
+++ b/s
From: Jeff Hostetler
Version 4 cleans up the buf[] allocation and freeing as
suggested on the mailing list.
Jeff Hostetler (1):
unpack-trees: avoid duplicate ODB lookups during checkout
unpack-trees.c | 38 +-
1 file changed, 33
: Jeff Hostetler <jeffh...@microsoft.com>
---
unpack-trees.c | 38 +-
1 file changed, 33 insertions(+), 5 deletions(-)
diff --git a/unpack-trees.c b/unpack-trees.c
index 3a8ee19..07b0f11 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -531,12 +531,18 @
+++-
1 file changed, 116 insertions(+), 2 deletions(-)
diff --git a/read-cache.c b/read-cache.c
index 97f13a1..ba95fbb 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -910,6 +910,9 @@ int strcmp_offset(const char *s1, const char *s2, size_t
*first_change)
/*
* Do we have another file wit
cmp-offset.c
create mode 100755 t/t0065-strcmp-offset.sh
diff --git a/Makefile b/Makefile
index 9ec6065..4c4c246 100644
--- a/Makefile
+++ b/Makefile
@@ -631,6 +631,7 @@ TEST_PROGRAMS_NEED_X += test-scrap-cache-tree
TEST_PROGRAMS_NEED_X += test-sha1
TEST_PROGRAMS_NEED_X += test-sha1-array
TEST_PRO
+++
3 files changed, 178 insertions(+)
create mode 100755 t/perf/p0006-read-tree-checkout.sh
create mode 100644 t/perf/repos/.gitignore
create mode 100755 t/perf/repos/many-files.sh
diff --git a/t/perf/p0006-read-tree-checkout.sh
b/t/perf/p0006-read-tree-checkout.sh
new file mode 100755
i
From: Jeff Hostetler
Version 10 addresses mailing list comments on coding style in
read-cache.c and in p0006. I've also adjusted the speed-up
algorithm and more thoroughly documented the cases in the code.
We skip the binary searches whenever we can prove that the new
From: Jeff Hostetler
Version 3 uses a structure copy rather than memcpy and adds a comment.
Jeff Hostetler (1):
unpack-trees: avoid duplicate ODB lookups during checkout
unpack-trees.c | 37 +
1 file changed, 33 insertions(+), 4
: Jeff Hostetler <jeffh...@microsoft.com>
---
unpack-trees.c | 37 +
1 file changed, 33 insertions(+), 4 deletions(-)
diff --git a/unpack-trees.c b/unpack-trees.c
index 3a8ee19..a674423 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -531,6 +531,11 @
From: Jeff Hostetler
Version 4 greatly simplifies the p0005 perf test. It now uses an existing
repo -- either real-world or artificial from t/perf/repos/many-files.sh.
Jeff Hostetler (2):
string-list: use ALLOC_GROW macro when reallocing string_list
p0005-status:
From: Jeff Hostetler <jeffh...@microsoft.com>
Signed-off-by: Jeff Hostetler <jeffh...@microsoft.com>
---
t/perf/p0005-status.sh | 51 ++
1 file changed, 51 insertions(+)
create mode 100755 t/perf/p0005-status.sh
diff --git a/
g-list.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/string-list.c b/string-list.c
index 45016ad..003ca18 100644
--- a/string-list.c
+++ b/string-list.c
@@ -41,10 +41,7 @@ static int add_entry(int insert_at, struct string_list
*list, const char *string
if
cmp-offset.c
create mode 100755 t/t0065-strcmp-offset.sh
diff --git a/Makefile b/Makefile
index 9ec6065..4c4c246 100644
--- a/Makefile
+++ b/Makefile
@@ -631,6 +631,7 @@ TEST_PROGRAMS_NEED_X += test-scrap-cache-tree
TEST_PROGRAMS_NEED_X += test-sha1
TEST_PROGRAMS_NEED_X += test-sha1-array
TEST_PRO
+++
3 files changed, 180 insertions(+)
create mode 100755 t/perf/p0006-read-tree-checkout.sh
create mode 100644 t/perf/repos/.gitignore
create mode 100755 t/perf/repos/many-files.sh
diff --git a/t/perf/p0006-read-tree-checkout.sh
b/t/perf/p0006-read-tree-checkout.sh
new file mode 100755
i
changed, 44 insertions(+), 2 deletions(-)
diff --git a/read-cache.c b/read-cache.c
index 97f13a1..a8ef823 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -918,9 +918,24 @@ static int has_dir_name(struct index_state *istate,
int stage = ce_stage(ce);
const char *name = ce->name;
From: Jeff Hostetler
Version 9 addresses the following:
() p0006 perf test can now run using either synthetic repos
from t/perf/repos/many-repos.sh -OR- an actual real-world
repo.
() The commit message has been updated to include results of
p0006 on
06-read-tree-checkout.sh
create mode 100644 t/perf/repos/.gitignore
create mode 100755 t/perf/repos/many-files.sh
diff --git a/t/perf/p0006-read-tree-checkout.sh
b/t/perf/p0006-read-tree-checkout.sh
new file mode 100755
index 000..69425ae
--- /dev/null
+++ b/t/perf/p0006-read-tree-checkout.sh
@
From: Jeff Hostetler
Version 8 addresses the following:
() Refactors strcmp_offset() test helper to just compare the
values and return results to stdout.
() Updates t0065 to have the actual test logic.
() Splits the synthetic test repo generation out of the
20)
18.59(17.96+0.33) 18.70(18.07+0.42) +0.6%
Signed-off-by: Jeff Hostetler <jeffh...@microsoft.com>
---
read-cache.c | 46 --
1 file changed, 44 insertions(+), 2 deletions(-)
diff --git a/read-cache.c b/read-cache.c
index 97f13a1..a8
1 - 100 of 208 matches
Mail list logo