On 6/2/2018 2:03 PM, Jakub Narebski wrote:
Derrick Stolee writes:
The commit-graph file is a very helpful feature for speeding up git
operations. In order to make it more useful, write the commit-graph file
by default during standard garbage collection operations.
I think you meant here
-by: Derrick Stolee
---
t/t5318-commit-graph.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh
index 77d85aefe7..59d0be2877 100755
--- a/t/t5318-commit-graph.sh
+++ b/t/t5318-commit-graph.sh
@@ -28,8 +28,8 @@ test_expect_success
On 6/2/2018 12:17 PM, Jakub Narebski wrote:
Derrick Stolee writes:
If core.commitGraph is true, verify the contents of the commit-graph
during 'git fsck' using the 'git commit-graph verify' subcommand. Run
this check on all alternates, as well.
All right, so we have one config variable
On 6/2/2018 11:52 AM, Jakub Narebski wrote:
Derrick Stolee writes:
The commit-graph file ends with a SHA1 hash of the previous contents. If
a commit-graph file has errors but the checksum hash is correct, then we
know that the problem is a bug in Git and not simply file corruption
after
On 6/2/2018 8:23 AM, Jakub Narebski wrote:
Derrick Stolee writes:
While iterating through the commit parents, perform the generation
number calculation and compare against the value stored in the
commit-graph.
All right, that's good.
What about commit-graph files that have
On 6/2/2018 12:38 AM, Duy Nguyen wrote:
On Thu, May 24, 2018 at 6:25 PM, Derrick Stolee wrote:
+ if (i && oidcmp(_oid, _oid) >= 0)
+ graph_report("commit-graph has incorrect OID order: %s then
%s",
+
On 6/2/2018 5:19 PM, Jakub Narebski wrote:
Derrick Stolee writes:
Do we have a way to run individual steps of the test suite? I am
unfamiliar with that process.
The t/README describes three such ways in "Skipping Tests" section:
- GIT_SKIP_TESTS environment variable, which can
On 6/1/2018 7:15 PM, Junio C Hamano wrote:
Derrick Stolee writes:
A recently added "commit-graph" datafile has learned to store
pre-computed generation numbers to speed up the decisions to stop
history traversal.
Will cook in 'next'.
On Wednesday, these were marked as &
On 6/1/2018 12:17 PM, Duy Nguyen wrote:
In case you're not checking travis, [1] reports
Test Summary Report
---
t5318-commit-graph.sh(Wstat: 256 Tests: 62
Failed: 2)
Failed tests: 61-62
Non-zero exit status: 1
This usually means you're
On 5/31/2018 10:30 PM, Junio C Hamano wrote:
Derrick Stolee writes:
Shallow clones do not interact well with the commit-graph feature for
several reasons. Instead of doing the hard thing to fix those
interactions, instead prevent reading or writing a commit-graph file for
shallow repositories
On 6/1/2018 3:21 AM, Junio C Hamano wrote:
* ds/commit-graph-lockfile-fix (2018-05-22) 1 commit
(merged to 'next' on 2018-05-24 at 3d12a02b0c)
+ commit-graph: fix UX issue when .lock file exists
(this branch is used by ds/commit-graph-fsck; uses ds/generation-numbers.)
Update to
On 5/31/2018 2:33 PM, Stefan Beller wrote:
On Thu, May 31, 2018 at 10:40 AM, Derrick Stolee wrote:
The commit-graph file stores a condensed version of the commit history.
This helps speed up several operations involving commit walks. This
feature does not work well if those commits "c
Also enable core.commitGraph and gc.commitGraph. Helps to test the
commit-graph feature with the rest of the test infrastructure.
Signed-off-by: Derrick Stolee
---
builtin/commit.c | 5 +
builtin/gc.c | 2 +-
environment.c| 2 +-
3 files changed, 7 insertions(+), 2 deletions
Shallow clones do not interact well with the commit-graph feature for
several reasons. Instead of doing the hard thing to fix those
interactions, instead prevent reading or writing a commit-graph file for
shallow repositories.
Signed-off-by: Derrick Stolee
---
commit-graph.c | 12
the commit-graph failed to fill the contents. Then the
caller is responsible for filling the rest of the data from a commit
buffer.
Signed-off-by: Derrick Stolee
---
commit-graph.c | 33 ++---
1 file changed, 30 insertions(+), 3 deletions(-)
diff --git a/commit-graph.
,
then ignore the commit-graph for that commit and insted use the parents
loaded by parsing the commit buffer and comparing against the graft
file.
Signed-off-by: Derrick Stolee
---
builtin/replace.c | 3 +++
commit-graph.c| 20 +++-
commit-graph.h| 9 +
commit.c
The commit-graph feature is not compatible with history-rewriting
features such as shallow clones. When running a 'git fetch' with
any of the shallow/unshallow options, destroy the commit-graph
file and override core.commitGraph to be false.
Signed-off-by: Derrick Stolee
---
builtin/fetch.c | 6
THIS IS ONLY FOR TESTING TO INCREASE TEST COVERAGE
Signed-off-by: Derrick Stolee
---
builtin/fetch.c | 4
1 file changed, 4 insertions(+)
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 8ee998ea2e..af896e4b74 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -20,6 +20,7
while, I figured I should just put this series up for
discussion. Maybe someone with more experience in shallow clones can
point out the obvious issues I'm having.
Thanks,
-Stolee
Derrick Stolee (6):
DO NOT MERGE: compute commit-graph on every commit
DO NOT MERGE: write commit-graph on ever
On 5/30/2018 6:24 PM, Jakub Narebski wrote:
Derrick Stolee writes:
The 'verify' subcommand must compare the commit content parsed from the
commit-graph and compare it against the content in the object database.
You have "compare" twice in the above sentence.
Use loo
On 5/30/2018 3:22 PM, Jakub Narebski wrote:
Derrick Stolee writes:
In the 'verify' subcommand, load commits directly from the object
database to ensure they exist. Parse by skipping the commit-graph.
All right, before we check that the commit data matches, we need to
check that all
On 5/29/2018 11:18 PM, Stefan Beller wrote:
On Tue, May 29, 2018 at 6:05 PM, Derrick Stolee wrote:
On 5/29/2018 8:47 PM, Stefan Beller wrote:
This applies on the merge of nd/commit-util-to-slab and
sb/object-store-grafts,
and is available at http://github.com/stefanbeller/ as branch
object
On 5/29/2018 8:48 PM, Stefan Beller wrote:
The realloc counter is declared outside the struct for the given slabname,
which makes it harder for a follow up patch to move the declaration of the
struct around as then the counter variable would need special treatment.
As the reallocation counter
On 5/29/2018 8:47 PM, Stefan Beller wrote:
Add a repository argument to allow the callers of lookup_blob
to be more specific about which repository to act on. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.
As with
On 5/29/2018 8:47 PM, Stefan Beller wrote:
Add a repository argument to allow the callers of parse_object_buffer
to be more specific about which repository to act on. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.
As
On 5/29/2018 8:47 PM, Stefan Beller wrote:
From: Jonathan Nieder
Add a repository argument to allow callers of lookup_unknown_object to
be more specific about which repository to handle. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than
On 5/30/2018 9:34 AM, Jakub Narebski wrote:
Derrick Stolee writes:
In the commit-graph file, the OID fanout chunk provides an index into
the OID lookup. The 'verify' subcommand should find incorrect values
in the fanout.
Similarly, the 'verify' subcommand should find out-of-order values
On 5/27/2018 6:55 PM, Jakub Narebski wrote:
Derrick Stolee writes:
If the commit-graph file becomes corrupt, we need a way to verify
that its contents match the object database. In the manner of
'git fsck' we will implement a 'git commit-graph verify' subcommand
to report all issues
On 5/29/2018 8:47 PM, Stefan Beller wrote:
This applies on the merge of nd/commit-util-to-slab and sb/object-store-grafts,
and is available at http://github.com/stefanbeller/ as branch
object-store-lookup-commit
as the merge has some merge conflicts as well as syntactical conflicts
n 5/29/2018 4:01 PM, Ramsay Jones wrote:
Signed-off-by: Ramsay Jones
---
Hi Derrick,
If you need to re-roll your 'ds/commit-graph-fsck' branch (pu@a84e06bc0f),
could you please squash this into the relevant patch (commit 80453b4529,
"commit-graph: add 'verify' subcommand", 2018-05-24).
[No,
On 5/28/2018 10:05 AM, Jakub Narebski wrote:
Derrick Stolee writes:
This is the first of several commits that add a test to check that
'git commit-graph verify' catches corruption in the commit-graph
file. The first test checks that the command catches an error in
the file signature
On 5/29/2018 12:27 AM, Junio C Hamano wrote:
Derrick Stolee writes:
Thanks for all the feedback on v2. I've tried to make this round's
review a bit easier by splitting up the commits into smaller pieces.
Also, the test script now has less boilerplate and uses variables and
clear arithmetic
On 5/27/2018 6:23 AM, Jakub Narebski wrote:
Derrick Stolee writes:
Before verifying a commit-graph file against the object database, we
need to parse all commits from the given commit-graph file. Create
parse_commit_in_graph_one() to target a given struct commit_graph.
If I understand
On 5/27/2018 12:49 AM, Michael Haggerty wrote:
On Sat, May 26, 2018 at 8:47 AM, Christian Couder
wrote:
Tests t9902-completion.sh and t9903-bash-prompt.sh each have tests
that check what happens when we are "in the '.git' directory" and
when we are "deep inside the '.git' directory".
To test
On 5/24/2018 6:47 PM, Stefan Beller wrote:
On Thu, May 24, 2018 at 9:25 AM, Derrick Stolee <dsto...@microsoft.com> wrote:
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
builtin/commit-graph.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/bu
On 5/21/2018 2:53 PM, Jakub Narebski wrote:
+corrupt_data() {
+ file=$1
+ pos=$2
+ data="${3:-\0}"
+ printf "$data" | dd of="$file" bs=1 seek="$pos" conv=notrunc
+}
First, if we do this that way (and not by adding a test helper), the use
of this function should be, I
, we drop the single-line condition on the output.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 18 ++
t/t5318-commit-graph.sh | 6 ++
2 files changed, 24 insertions(+)
diff --git a/commit-graph.c b/commit-graph.c
index fff2
performing cleanup of the object
database.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
Documentation/git-commit-graph.txt | 8 ++--
builtin/commit-graph.c | 16
commit-graph.c | 32
commit-g
-graph file from the other fsck details.
2. The commit-graph verification requires the commits to be loaded
in a specific order to guarantee we parse from the commit-graph
file for some objects and from the object database for others.
Signed-off-by: Derrick Stolee <dsto...@microsoft.
The commit-graph file has an extra chunk to store the parent int-ids for
parents beyond the first parent for octopus merges. Our test repo has a
single octopus merge that we can manipulate to demonstrate the 'verify'
subcommand detects incorrect values in that chunk.
Signed-off-by: Derrick Stolee
The commit-graph feature is now integrated with 'fsck' and 'gc',
so remove those items from the "Future Work" section of the
commit-graph design document.
Also remove the section on lazy-loading trees, as that was completed
in an earlier patch series.
Signed-off-by: Derrick St
our tests, as we break the checksum as
we modify bytes of the commit-graph file.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 16 ++--
t/t5318-commit-graph.sh | 6 ++
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/commit-
the magic
constants.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/commit-graph.c b/commit-graph.c
index a8c337dd77..82295f0975 100644
--- a/commit-graph.c
+++ b/commit-graph.c
@@ -33,10
When lazy-loading a tree for a commit, it will be important to select
the tree from a specific struct commit_graph. Create a new method that
specifies the commit-graph file and use that in
get_commit_tree_in_graph().
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.
The commit-graph file requires the following three chunks:
* OID Fanout
* OID Lookup
* Commit Data
If any of these are missing, then the 'verify' subcommand should
report a failure. This includes the chunk IDs malformed or the
chunk count is truncated.
Signed-off-by: Derrick Stolee <d
In the 'verify' subcommand, load commits directly from the object
database to ensure they exist. Parse by skipping the commit-graph.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 20
t/t5318-commit-graph.sh | 7 +++
2 files c
-trivial 'git gc' command. Defaults to
false while the commit-graph feature matures. We specifically do not
want to turn this on by default until the commit-graph feature is fully
integrated with history-modifying features like shallow clones.
Signed-off-by: Derrick Stolee <dsto...@microsoft.
In the commit-graph file, the OID fanout chunk provides an index into
the OID lookup. The 'verify' subcommand should find incorrect values
in the fanout.
Similarly, the 'verify' subcommand should find out-of-order values in
the OID lookup.
Signed-off-by: Derrick Stolee <dsto...@microsoft.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 6 ++
t/t5318-commit-graph.sh | 6 ++
2 files changed, 12 insertions(+)
diff --git a/commit-graph.c b/commit-graph.c
index ead92460c1..d2b291aca2 100644
--- a/commit-graph.c
+++ b/commit-graph.c
@@
directly from the object database.
Add checks for the root tree OID.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 17 -
t/t5318-commit-graph.sh | 7 +++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/commit-gra
from the object database. Test
these checks for corrupt parents, too many parents, and wrong parents.
The octopus merge will be tested in a later commit.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 25 +
t/t5318-commit-graph.s
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
builtin/commit-graph.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c
index 37420ae0fd..f0875b8bf3 100644
--- a/builtin/commit-graph.c
+++ b/builtin/commit-g
mentioning: in "commit-graph: add '--reachable'
option" I put the ref-iteration into a new external
'write_commit_graph_reachable()' method inside commit-graph.c. This
makes the 'gc: automatically write commit-graph files' a simpler change.
Thanks,
-Stolee
Derrick Stolee (20):
commit-gra
state. Do
not report any errors.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
Documentation/git-commit-graph.txt | 6 ++
builtin/commit-graph.c | 38 ++
commit-graph.c | 26 ++
commit-g
is explicit in avoiding commits from the
commit-graph file.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit.c | 9 +++--
commit.h | 1 +
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/commit.c b/commit.c
index 1d28677dfb..6eaed0174c 100644
--- a/commit.c
Before verifying a commit-graph file against the object database, we
need to parse all commits from the given commit-graph file. Create
parse_commit_in_graph_one() to target a given struct commit_graph.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.
the test is run verbosely.
Then, the output is checked to contain a specific error message.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
t/t5318-commit-graph.sh | 43 +++
1 file changed, 43 insertions(+)
diff --git a/t/t5318-commit-graph.sh b/t
On 5/22/2018 1:39 AM, Michael Haggerty wrote:
On 05/21/2018 08:10 PM, Derrick Stolee wrote:
[...]
In the Discussion section of the `git merge-base` docs [1], we have the
following:
When the history involves criss-cross merges, there can be more than
one best common ancestor for two
Hello all,
While working on the commit-graph feature, I made a test commit that
sets core.commitGraph and gc.commitGraph to true by default AND runs
'git commit-graph write --reachable' after each 'git commit' command.
This helped me find instances in the test suite where the commit-graph
On 5/17/2018 2:01 AM, Junio C Hamano wrote:
* ds/generation-numbers (2018-05-02) 11 commits
- commit-graph.txt: update design document
- merge: check config before loading commits
- commit: use generation number in remove_redundant()
- commit: add short-circuit to paint_down_to_common()
Hi Mendi,
On 5/16/2018 2:19 PM, Mehdi Zeinali wrote:
Git Version: Version: 2.14.2
When reversing a range in git log, it does not start from the expected commit:
$ git show 8e11b4a41ec21e47fb0bf8b76e1edba739f57a9b
commit 8e11b4a41ec21e47fb0bf8b76e1edba739f57a9b
Author: Some Name
On 5/16/2018 6:33 AM, Ævar Arnfjörð Bjarmason wrote:
[big snip]
And here's where this isn't at all like "worktree", each of those 100
will have their own "master" branch, and they can all create 100
different branches called "topic" that can be different.
This is the biggest difference. You
On 5/14/2018 1:30 PM, Duy Nguyen wrote:
On Mon, May 14, 2018 at 6:07 PM, Duy Nguyen wrote:
On Mon, May 14, 2018 at 04:52:29PM +0900, Junio C Hamano wrote:
Nguyễn Thái Ngọc Duy writes:
diff --git a/commit.h b/commit.h
index 838f6a6b26..70371e111e
On 5/12/2018 5:17 PM, Martin Ågren wrote:
On 11 May 2018 at 23:15, Derrick Stolee <dsto...@microsoft.com> wrote:
When running 'git commit-graph verify', compare the contents of the
commits that are loaded from the commit-graph file with commits that are
loaded directly from the object da
On 5/12/2018 9:35 AM, Martin Ågren wrote:
+static int verify_commit_graph_error;
+
+static void graph_report(const char *fmt, ...)
+{
+ va_list ap;
+ struct strbuf sb = STRBUF_INIT;
+ verify_commit_graph_error = 1;
+
+ va_start(ap, fmt);
+ strbuf_vaddf(, fmt, ap);
+
On 5/12/2018 9:31 AM, Martin Ågren wrote:
On 11 May 2018 at 23:15, Derrick Stolee <dsto...@microsoft.com> wrote:
graph_name = get_commit_graph_filename(opts.obj_dir);
graph = load_commit_graph_one(graph_name);
+ FREE_AND_NULL(graph_name);
if (
On 5/14/2018 9:09 AM, Jeff King wrote:
On Mon, May 14, 2018 at 08:47:33AM -0400, Derrick Stolee wrote:
On 5/11/2018 2:03 PM, Jeff King wrote:
Commit 941ba8db57 (Eliminate recursion in setting/clearing
marks in commit list, 2012-01-14) used a clever double-loop
to avoid allocations for single
On 5/12/2018 10:00 AM, Jakub Narebski wrote:
Derrick Stolee <sto...@gmail.com> writes:
On 5/4/2018 3:40 PM, Jakub Narebski wrote:
With early parts of commit-graph feature (ds/commit-graph and
ds/lazy-load-trees) close to being merged into "master", see
https://public-inbox.org/
insertions(+), 40 deletions(-)
-Peff
This series looks good to me. I found Patch 3 hard to read in the diff,
so I just looked at the final result and the new arrangement is very
clear about how it should behave.
Reviewed-by: Derrick Stolee <dsto...@microsoft.com>
On 5/11/2018 2:03 PM, Jeff King wrote:
Commit 941ba8db57 (Eliminate recursion in setting/clearing
marks in commit list, 2012-01-14) used a clever double-loop
to avoid allocations for single-parent chains of history.
However, it did so only when following parents of parents
(which was an uncommon
matches the exact
error we inserted, but since our OID order test triggers incorrect
fanout values (with possibly different numbers of output lines) we
focus only that the correct error is written in that case.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c
Before verifying a commit-graph file against the object database, we
need to parse all commits from the given commit-graph file. Create
parse_commit_in_graph_one() to target a given struct commit_graph.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.
The commit-graph feature is now integrated with 'fsck' and 'gc',
so remove those items from the "Future Work" section of the
commit-graph design document.
Also remove the section on lazy-loading trees, as that was completed
in an earlier patch series.
Signed-off-by: Derrick St
-graph file from the other fsck details.
2. The commit-graph verification requires the commits to be loaded
in a specific order to guarantee we parse from the commit-graph
file for some objects and from the object database for others.
Signed-off-by: Derrick Stolee <dsto...@microsoft.
is explicit in avoiding commits from the
commit-graph file.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit.c | 13 +
commit.h | 1 +
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/commit.c b/commit.c
index 1d28677dfb..7c92350373
When lazy-loading a tree for a commit, it will be important to select
the tree from a specific struct commit_graph. Create a new method that
specifies the commit-graph file and use that in
get_commit_tree_in_graph().
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.
-trivial 'git gc' command. Defaults to
false while the commit-graph feature matures. We specifically do not
want to turn this on by default until the commit-graph feature is fully
integrated with history-modifying features like shallow clones.
Signed-off-by: Derrick Stolee <dsto...@microsoft.
' after performing cleanup of the
object database.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
Documentation/git-commit-graph.txt | 8 ++--
builtin/commit-graph.c | 41 ++
2 files changed, 43 insertions(+), 6 deletions(-)
range causes a segmentation fault. Add
a new check in insert_parent_or_die() that prevents this fault. Check
for that error during the test, both in the typical parents and in the
list of parents for octopus merges.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-g
Add test cases to t5318-commit-graph.sh that corrupt the commit-graph
file and check that the 'git commit-graph verify' command fails. These
tests verify the header and chunk information is checked carefully.
Helped-by: Martin Ågren <martin.ag...@gmail.com>
Signed-off-by: Derrick Stolee
During a run of 'git commit-graph verify', list the issues with the
header information in the commit-graph file. Some of this information
is inferred from the loaded 'struct commit_graph'. Some header
information is checked as part of load_commit_graph_one().
Signed-off-by: Derrick Stolee <d
state. Do
not report any errors.
During review, we noticed that a FREE_AND_NULL(graph_name) was
placed after a possible 'return', and this pattern was also in
graph_read(). Fix that case, too.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
Documentation/git-commit-graph.tx
by
default in graph_report().
The integration into 'fetch' is dropped (thanks Ævar!).
Derrick Stolee (12):
commit-graph: add 'verify' subcommand
commit-graph: verify file header information
commit-graph: test that 'verify' finds corruption
commit-graph: parse commit from chosen graph
On 5/10/2018 3:22 PM, Stefan Beller wrote:
On Thu, May 10, 2018 at 12:05 PM, Martin Ågren <martin.ag...@gmail.com> wrote:
On 10 May 2018 at 19:34, Derrick Stolee <dsto...@microsoft.com> wrote:
Commits 01-07 focus on the 'git commit-graph verify' subcommand. These
are ready for fu
On 5/10/2018 3:17 PM, Ævar Arnfjörð Bjarmason wrote:
On Thu, May 10 2018, Derrick Stolee wrote:
The behavior in this patch series does the following:
1. Near the end of 'git gc', run 'git commit-graph write'. The location
of this code assumes that a 'git gc --auto' has not terminated
On 5/10/2018 2:29 PM, Martin Ågren wrote:
On 10 May 2018 at 19:34, Derrick Stolee <dsto...@microsoft.com> wrote:
While running 'git commit-graph verify', verify that the object IDs
are listed in lexicographic order and that the fanout table correctly
navigates into that list of obje
On 5/10/2018 4:45 PM, Martin Ågren wrote:
On 10 May 2018 at 21:22, Stefan Beller wrote:
On Thu, May 10, 2018 at 12:05 PM, Martin Ågren wrote:
I hope to find time to do some more hands-on testing of this to see that
errors actually do get caught.
o continue.
Helped-by: Jeff King <p...@peff.net>
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 22 +-
1 file changed, 5 insertions(+), 17 deletions(-)
diff --git a/commit-graph.c b/commit-graph.c
index a8c337dd77..bb54c1214c 100644
--- a/commi
' after performing cleanup of the
object database.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
Documentation/git-commit-graph.txt | 8 ++--
builtin/commit-graph.c | 41 ++
t/t5318-commit-graph.sh| 10 ++
3
-trivial 'git gc' command. Defaults to
false while the commit-graph feature matures. We specifically do not
want to turn this on by default until the commit-graph feature is fully
integrated with history-modifying features like shallow clones.
Signed-off-by: Derrick Stolee <dsto...@microsoft.
was loaded from the commit-graph so values such as generation
numbers are loaded. Hence, this method should not be called unless the
intention is explicit in avoiding commits from the commit-graph file.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit.c | 13 +
commit.
while the commit-graph feature matures.
Specifically, we do not want this on by default until the commit-graph
feature integrates with history-modifying features such as shallow
clones.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
Documentation/config.txt | 4
builtin/f
-graph file from the other fsck details.
2. The commit-graph verification requires the commits to be loaded
in a specific order to guarantee we parse from the commit-graph
file for some objects and from the object database for others.
Signed-off-by: Derrick Stolee <dsto...@microsoft.
Before verifying a commit-graph file against the object database, we
need to parse all commits from the given commit-graph file. Create
parse_commit_in_graph_one() to target a given struct commit_graph.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.
When lazy-loading a tree for a commit, it will be important to select
the tree from a specific struct commit_graph. Create a new method that
specifies the commit-graph file and use that in
get_commit_tree_in_graph().
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.
the initial loop through the
object IDs to guarantee we parse from the commit-graph file.
In addition, verify the generation number calculation is correct for all
commits in the commit-graph file.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.
While running 'git commit-graph verify', verify that the object IDs
are listed in lexicographic order and that the fanout table correctly
navigates into that list of object IDs.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
commit-graph.c | 33 ++
The commit-graph feature is now integrated with 'fsck' and 'gc',
so remove those items from the "Future Work" section of the
commit-graph design document.
Also remove the section on lazy-loading trees, as that was completed
in an earlier patch series.
Signed-off-by: Derrick St
During a run of 'git commit-graph verify', list the issues with the
header information in the commit-graph file. Some of this information
is inferred from the loaded 'struct commit_graph'. Some header
information is checked as part of load_commit_graph_one().
Signed-off-by: Derrick Stolee <d
state. Do
not report any errors.
Signed-off-by: Derrick Stolee <dsto...@microsoft.com>
---
Documentation/git-commit-graph.txt | 6 ++
builtin/commit-graph.c | 38 ++
commit-graph.c | 5 +
commit-g
801 - 900 of 1362 matches
Mail list logo