ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib/src
Yuya Nishihara 7a6f832e14 operation: iterate ancestors incrementally with timestamp-based heuristic
Suppose the operation log is mostly linear, this means "jj op log" iterator
won't look ahead more than one entry.

Another idea is to either add a "generation" number to operation data, or
build index of operations. Since we'll eventually add GC command, I don't
think op index would be required. I think readdir() is good enough to resolve
hex prefix against ~10k entries.

For now, walk_ancestors() is a free function. If we add Repo-like abstraction
over OpStore + OpHeadsStore, this function will probably be migrated there.
2023-06-11 11:38:03 +09:00
..
lock lib: use advisory locks on Unix targets 2023-05-07 09:52:09 -07:00
protos working_copy: get conflict id from the current tree 2023-05-31 06:28:15 -07:00
backend.rs backend: take commit to write by value and return new value 2023-05-12 15:20:44 -07:00
commit.rs lib: add Commit::is_discardable() 2023-03-05 23:50:20 +01:00
commit_builder.rs commit_builder: add accessors for most fields 2023-03-19 00:48:05 -07:00
conflicts.rs conflicts: move conversion to FileId conflict to callers 2023-06-07 13:45:16 -07:00
content_hash.rs style: do not dereference self to perform pattern-matching 2023-01-14 19:28:24 +01:00
dag_walk.rs dag_walk: add lazy topo-order iterator for chronological data 2023-06-11 11:38:03 +09:00
default_index_store.rs dag_walk: rename bfs() to dfs() because it's depth-first 2023-06-04 11:47:49 +09:00
default_revset_engine.rs index: pass only CompositeIndex to default_revset_engine::evaluate() 2023-05-29 08:15:40 +09:00
default_revset_graph_iterator.rs revset: minor fixes to documentation of graph iterator 2023-05-26 15:55:29 -07:00
diff.rs cargo: upgrade regex 1.7.3 to 1.8.1 2023-04-24 11:28:12 -07:00
file_util.rs copyright: change from "Google LLC" to "The Jujutsu Authors" 2022-11-28 06:05:45 -10:00
files.rs merge: make trivial_merge() return a reference 2023-05-31 06:28:01 -07:00
git.rs index: replace use of walk_revs() with revset API 2023-05-24 01:02:37 +09:00
git_backend.rs git_backend: on read_commit(), bulk-update extra metadata table of ancestors 2023-05-21 08:29:00 +09:00
gitignore.rs gitignore: any character can be backslash-escaped 2023-01-16 21:35:54 +01:00
hex_util.rs revset: allow resolving change id using hex digits from reverse alphabet 2023-02-13 22:49:21 -08:00
id_prefix.rs revset: add iterator of (CommitId, ChangeId) pairs, use it in id_index 2023-05-24 01:02:37 +09:00
index.rs index: move Index::as_any() to MutableIndex, obtain CompositeIndex from there 2023-05-29 08:15:40 +09:00
lib.rs merge: add a generic function for resolving trivial N-way merges 2023-05-24 22:00:38 -07:00
local_backend.rs cleanup: consistently (?) put removed conflict terms before added ones 2023-05-25 04:24:26 -07:00
lock.rs cleanup: leverage scoped thread in tests 2023-05-21 21:02:58 +09:00
matchers.rs matchers: rename Dirs to RepoPathTree as it no longer represents directory 2022-12-30 14:15:27 +09:00
merge.rs merge: make trivial_merge() return a reference 2023-05-31 06:28:01 -07:00
nightly_shims.rs build: suppress unstable_name_collisions warnings on stable 2022-02-23 23:41:55 -08:00
op_heads_store.rs dag_walk: reorder and adjust signature of neighbors_fn for consistency 2023-06-04 11:47:49 +09:00
op_store.rs cleanup: consistently (?) put removed conflict terms before added ones 2023-05-25 04:24:26 -07:00
operation.rs operation: iterate ancestors incrementally with timestamp-based heuristic 2023-06-11 11:38:03 +09:00
refs.rs cleanup: consistently (?) put removed conflict terms before added ones 2023-05-25 04:24:26 -07:00
repo.rs dag_walk: extract topo-order helper that doesn't reverse the result 2023-06-11 11:38:03 +09:00
repo_path.rs Work around a couple of false positives for recent nightly clippy 2023-04-01 18:35:38 -07:00
revset.pest revset: ignore all ascii whitespace characters 2023-03-04 00:01:54 +09:00
revset.rs feat(revset): suggest similar branch names 2023-06-05 11:11:17 -05:00
rewrite.rs dag_walk: unbox topo_order_reverse() callback 2023-06-04 11:47:49 +09:00
settings.rs feat(diff): add ui.diff-instructions option to suppress JJ-INSTRUCTIONS file 2023-06-06 22:43:14 -07:00
simple_op_heads_store.rs op_heads_store: let caller create initial operation 2023-02-28 08:08:31 -08:00
simple_op_store.rs proto_op_store: Add two minor comments 2023-04-16 22:04:27 -07:00
stacked_table.rs cleanup: avoid some unnecessary uses of Cursor 2023-05-30 21:06:24 -07:00
store.rs store: do conversion to/from backend::Conflict 2023-06-04 06:48:34 -07:00
transaction.rs cli: in jj git push, create transaction in a single place 2023-06-04 20:50:11 -07:00
tree.rs store: do conversion to/from backend::Conflict 2023-06-04 06:48:34 -07:00
tree_builder.rs tree_builder: populate base trees by recursion 2023-06-02 12:23:37 +09:00
view.rs index: delete IndexRef, use Index trait 2023-02-14 06:51:49 -08:00
working_copy.rs store: do conversion to/from backend::Conflict 2023-06-04 06:48:34 -07:00
workspace.rs index: merge index_store.rs into index.rs 2023-03-11 22:22:46 -08:00