- 09 May, 2023 1 commit
-
-
Users should provide us an array of object ids; we don't need a separate type. And especially, we should not be mutating user-providing values. Instead, use `git_oid *` in the shallow code.
Edward Thomson committed
-
- 08 May, 2023 4 commits
-
-
The semantics of `from_file` are weird - it looks like a function that just opens a file, but it actually inspects the pointer, which is unexpected and could make things very crashy. Make an `open` function that just does an open, and move the magic to `open_or_refresh` whose name better indicates that it may do weird stuff.
Edward Thomson committed -
Edward Thomson committed
-
Don't mix parsing by hand and using `git_parse` to parse.
Edward Thomson committed -
Use SHA256 for file checksums. SHA1 makes no sense as a default in 2023. Given that we're just looking at a file checksum to see if it's changed, this does not need to take repository's OID type into account or otherwise be configurable.
Edward Thomson committed
-
- 24 Apr, 2023 2 commits
-
-
Edward Thomson committed
-
The opt mechanism isn't _really_ meant to be for feature flags, and it's weird to feature flag shallow / unshallow at all.
Edward Thomson committed
-
- 31 Aug, 2022 3 commits
- 02 Aug, 2022 1 commit
-
-
yuangli committed
-
- 29 Jul, 2022 1 commit
-
-
yuangli committed
-
- 28 Jul, 2022 1 commit
-
-
yuangli committed
-
- 27 Jul, 2022 1 commit
-
-
yuangli committed
-
- 26 Jul, 2022 1 commit
-
-
yuangli committed
-
- 28 Jun, 2022 1 commit
-
-
Yuang Li committed
-
- 27 Jun, 2022 2 commits
- 27 Jun, 2020 5 commits
-
-
If replacing an already existing graft in the grafts map, then we need to free the previous `git_commit_graft` structure.
Patrick Steinhardt committed -
The refresh logic for both "normal" and shallow grafts are currently part of the repository code and implemented twice. Unify them into the grafts code by introducing two new functions to create grafts from a file and to refresh a grafts structure.
Patrick Steinhardt committed -
The shallow roots are in fact another user of the grafting mechanism, and in essence they do use the same file format for grafted commits. Thus, instead of hand-coding the parsing logic a second time, we can just reuse the `git_grafts` structure for shallow commits, as well.
Patrick Steinhardt committed -
Parsing of grafts files is currently contained in the repository code. To make grafts-related logic more self-contained, move it into "grafts.c" instead.
Patrick Steinhardt committed -
In order to increase maintainability in the future, we should try to make structures as self-contained and opaque to its users as possible. Thus it is probably not a good idea to just typedef `git_graftmap` to `git_oidmap`, as that will make it a lot harder in the future to extend the API in the future, if this need ever arises. Refactor the code to instead declare a real structure `git_grafts`, which is completely opaque to its callers.
Patrick Steinhardt committed
-