mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
segmented_changelog: move head not assigned error
Summary: Check that head has a dag id assignment after finishing the process. This was done at a later point but it is better to group it with assignment process so that we have a clear source of the error. Reviewed By: quark-zju Differential Revision: D27143482 fbshipit-source-id: 2a94cee70142967b4f8d57df43dfcc339a0b4f2e
This commit is contained in:
parent
0b88d1bf67
commit
834e35d278
@ -36,12 +36,7 @@ pub async fn build<'a>(
|
||||
) -> Result<Vertex> {
|
||||
STATS::build.add_value(1);
|
||||
|
||||
let mem_idmap = assign_ids(ctx, &start_state, head, low_vertex);
|
||||
|
||||
let head_vertex = mem_idmap
|
||||
.find_vertex(head)
|
||||
.or_else(|| start_state.assignments.find_vertex(head))
|
||||
.ok_or_else(|| format_err!("error building IdMap; failed to assign head {}", head))?;
|
||||
let (mem_idmap, head_vertex) = assign_ids(ctx, &start_state, head, low_vertex)?;
|
||||
|
||||
update_idmap(ctx, idmap, &mem_idmap).await?;
|
||||
|
||||
@ -97,7 +92,7 @@ pub fn assign_ids(
|
||||
start_state: &StartState,
|
||||
head: ChangesetId,
|
||||
low_vertex: Vertex,
|
||||
) -> MemIdMap {
|
||||
) -> Result<(MemIdMap, Vertex)> {
|
||||
enum Todo {
|
||||
Visit(ChangesetId),
|
||||
Assign(ChangesetId),
|
||||
@ -137,7 +132,11 @@ pub fn assign_ids(
|
||||
}
|
||||
}
|
||||
}
|
||||
mem_idmap
|
||||
let head_vertex = mem_idmap
|
||||
.find_vertex(head)
|
||||
.or_else(|| start_state.assignments.find_vertex(head))
|
||||
.ok_or_else(|| format_err!("error assigning ids; failed to assign head {}", head))?;
|
||||
Ok((mem_idmap, head_vertex))
|
||||
}
|
||||
|
||||
pub async fn update_idmap<'a>(
|
||||
@ -303,12 +302,7 @@ pub async fn prepare_incremental_iddag_update<'a>(
|
||||
}
|
||||
}
|
||||
|
||||
let mem_idmap = assign_ids(ctx, &start_state, head, id_map_next_id);
|
||||
|
||||
let head_vertex = mem_idmap
|
||||
.find_vertex(head)
|
||||
.or_else(|| start_state.assignments.find_vertex(head))
|
||||
.ok_or_else(|| format_err!("error building IdMap; failed to assign head {}", head))?;
|
||||
let (mem_idmap, head_vertex) = assign_ids(ctx, &start_state, head, id_map_next_id)?;
|
||||
|
||||
update_idmap(ctx, idmap, &mem_idmap).await?;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user