You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let index = Git_index.load ~hash:Git_index.SHA1 (Fpath.v "/Users/stsoucas/shadowgraph/save/.git/index") |> Result.get_ok;; val index : Store.hash Git_index.t = <abstr> Git_index.add ~hash:Git_index.SHA1 (Fpath.v "/Users/stsoucas/shadowgraph/save/testfile.txt") index |> Result.get_ok;; unit = ()
At this point, I can verify that testfile.txt has been added to the index with git ls-files:
git ls-files /Users/stsoucas/shadowgraph/save/testfile.txt
Now when I do Git_index.fold:
Git_index.fold ~f:(fun e lst acc -> Lwt_result.return ()) () index;; Exception: Invalid_argument "\"\": invalid path". Raised at Stdlib.invalid_arg in file "stdlib.ml", line 30, characters 20-45 Called from Git_index.create_graph.insert.(fun) in file "src/git-index/git_index.ml", line 586, characters 41-54 Called from Stdlib__List.fold_left in file "list.ml", line 121, characters 24-34 Called from Git_index.create_graph.insert in file "src/git-index/git_index.ml", line 582, characters 10-398 Called from Stdlib__Array.iter in file "array.ml", line 95, characters 31-48 Called from Git_index.create_graph in file "src/git-index/git_index.ml", line 599, characters 2-29 Called from Git_index.fold in file "src/git-index/git_index.ml", line 669, characters 14-28 Called from unknown location Called from Stdlib__Fun.protect in file "fun.ml", line 33, characters 8-15 Re-raised at Stdlib__Fun.protect in file "fun.ml", line 38, characters 6-52 Called from Topeval.load_lambda in file "toplevel/byte/topeval.ml", line 89, characters 4-150
Valid input should be consistent across these two functions.
The text was updated successfully, but these errors were encountered:
I just pushed a new PR which add a new test and reproduce your usage with a fix here: #596
This patch breaks the API when load/make requires a root argument which is the root of the Git repository. By this way, we are able to relativize internal paths with the given root value. Tell me if this proposal fix your issue, I will happy to cut a release then 👍.
Consider this example in the top-level:
let index = Git_index.load ~hash:Git_index.SHA1 (Fpath.v "/Users/stsoucas/shadowgraph/save/.git/index") |> Result.get_ok;;
val index : Store.hash Git_index.t = <abstr>
Git_index.add ~hash:Git_index.SHA1 (Fpath.v "/Users/stsoucas/shadowgraph/save/testfile.txt") index |> Result.get_ok;; unit = ()
At this point, I can verify that
testfile.txt
has been added to the index withgit ls-files
:git ls-files
/Users/stsoucas/shadowgraph/save/testfile.txt
Now when I do
Git_index.fold
:Git_index.fold ~f:(fun e lst acc -> Lwt_result.return ()) () index;;
Exception: Invalid_argument "\"\": invalid path". Raised at Stdlib.invalid_arg in file "stdlib.ml", line 30, characters 20-45 Called from Git_index.create_graph.insert.(fun) in file "src/git-index/git_index.ml", line 586, characters 41-54 Called from Stdlib__List.fold_left in file "list.ml", line 121, characters 24-34 Called from Git_index.create_graph.insert in file "src/git-index/git_index.ml", line 582, characters 10-398 Called from Stdlib__Array.iter in file "array.ml", line 95, characters 31-48 Called from Git_index.create_graph in file "src/git-index/git_index.ml", line 599, characters 2-29 Called from Git_index.fold in file "src/git-index/git_index.ml", line 669, characters 14-28 Called from unknown location Called from Stdlib__Fun.protect in file "fun.ml", line 33, characters 8-15 Re-raised at Stdlib__Fun.protect in file "fun.ml", line 38, characters 6-52 Called from Topeval.load_lambda in file "toplevel/byte/topeval.ml", line 89, characters 4-150
Valid input should be consistent across these two functions.
The text was updated successfully, but these errors were encountered: