[PATCH v5 4/8] evolve: add support for parsing metacommits

2019-02-14 Thread sxenos
From: Stefan Xenos This patch adds the get_metacommit_content method, which can classify commits as either metacommits or normal commits, determine whether they are abandoned, and extract the content commit's object id from the metacommit. Signed-off-by: Stefan Xenos --- Makefile|

[PATCH v5 7/8] evolve: implement the git change command

2019-02-14 Thread sxenos
From: Stefan Xenos Implement the git change update command, which are sufficient for constructing change graphs. For example, to create a new change (a stable name) that refers to HEAD: git change update -c HEAD To record a rebase or amend in the change graph: git change update -c -r To re

[PATCH v5 1/8] technical doc: add a design doc for the evolve command

2019-02-14 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/evolve.txt | 1051 1 file changed, 1051 i

[PATCH v5 3/8] ref-filter: add the metas namespace to ref-filter

2019-02-14 Thread sxenos
From: Stefan Xenos The metas namespace will contain refs for changes in progress. Add support for searching this namespace. Signed-off-by: Stefan Xenos --- ref-filter.c | 8 ++-- ref-filter.h | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ref-filter.c b/ref-filte

[PATCH v5 8/8] evolve: add the git change list command

2019-02-14 Thread sxenos
From: Stefan Xenos This command lists the ongoing changes from the refs/metas namespace. Signed-off-by: Stefan Xenos --- builtin/change.c | 51 1 file changed, 51 insertions(+) diff --git a/builtin/change.c b/builtin/change.c index 807d148805..

[PATCH v5 2/8] sha1-array: implement oid_array_readonly_contains

2019-02-14 Thread sxenos
From: Stefan Xenos Implement a "readonly_contains" function for oid_array that won't sort the array if it is unsorted. This can be used to test containment in the rare situations where the array order matters. The function has intentionally been given a name that is more cumbersome than the "loo

[PATCH v5 6/8] evolve: add support for writing metacommits

2019-02-14 Thread sxenos
From: Stefan Xenos metacommit.c supports the creation of metacommits and adds the API needed to create and update changes. Create the "modify_change" function that can be called from modification commands like "rebase" and "git amend" to record obsolescences in the change graph. Create the "rec

[PATCH v5 5/8] evolve: add the change-table structure

2019-02-14 Thread sxenos
From: Stefan Xenos A change table stores a list of changes, and supports efficient lookup from a commit hash to the list of changes that reference that commit directly. It can be used to look up content commits or metacommits at the head of a change, but does not support lookup of commits refere

[PATCH v4 3/8] ref-filter: add the metas namespace to ref-filter

2019-01-31 Thread sxenos
From: Stefan Xenos The metas namespace will contain refs for changes in progress. Add support for searching this namespace. Signed-off-by: Stefan Xenos --- ref-filter.c | 8 ++-- ref-filter.h | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ref-filter.c b/ref-filte

[PATCH v4 7/8] evolve: implement the git change command

2019-01-31 Thread sxenos
From: Stefan Xenos Implement the git change update command, which are sufficient for constructing change graphs. For example, to create a new change (a stable name) that refers to HEAD: git change update -c HEAD To record a rebase or amend in the change graph: git change update -c -r To re

[PATCH v4 8/8] evolve: add the git change list command

2019-01-31 Thread sxenos
From: Stefan Xenos This command lists the ongoing changes from the refs/metas namespace. Signed-off-by: Stefan Xenos --- builtin/change.c | 51 1 file changed, 51 insertions(+) diff --git a/builtin/change.c b/builtin/change.c index 06cbb50679..

[PATCH v4 6/8] evolve: add support for writing metacommits

2019-01-31 Thread sxenos
From: Stefan Xenos metacommit.c supports the creation of metacommits and adds the API needed to create and update changes. Create the "modify_change" function that can be called from modification commands like "rebase" and "git amend" to record obsolescences in the change graph. Create the "rec

[PATCH v4 5/8] evolve: add the change-table structure

2019-01-31 Thread sxenos
From: Stefan Xenos A change table stores a list of changes, and supports efficient lookup from a commit hash to the list of changes that reference that commit directly. It can be used to look up content commits or metacommits at the head of a change, but does not support lookup of commits refere

[PATCH v4 4/8] evolve: add support for parsing metacommits

2019-01-31 Thread sxenos
From: Stefan Xenos This patch adds the get_metacommit_content method, which can classify commits as either metacommits or normal commits, determine whether they are abandoned, and extract the content commit's object id from the metacommit. Signed-off-by: Stefan Xenos --- Makefile|

[PATCH v4 1/8] technical doc: add a design doc for the evolve command

2019-01-31 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/evolve.txt | 1034 1 file changed, 1034 i

[PATCH v4 2/8] sha1-array: implement oid_array_readonly_contains

2019-01-31 Thread sxenos
From: Stefan Xenos Implement a "readonly_contains" function for oid_array that won't sort the array if it is unsorted. This can be used to test containment in the rare situations where the array order matters. The function has intentionally been given a name that is more cumbersome than the "loo

[PATCH v3 6/8] evolve: Add support for writing metacommits

2019-01-27 Thread sxenos
From: Stefan Xenos metacommit.c supports the creation of metacommits and adds the API needed to create and update changes. Create the "modify_change" function that can be called from modification commands like "rebase" and "git amend" to record obsolescences in the change graph. Create the "rec

[PATCH v3 5/8] evolve: Add the change-table structure

2019-01-27 Thread sxenos
From: Stefan Xenos A change table stores a list of changes, and supports efficient lookup from a commit hash to the list of changes that reference that commit directly. It can be used to look up content commits or metacommits at the head of a change, but does not support lookup of commits refere

[PATCH v3 8/8] evolve: Add the git change list command

2019-01-27 Thread sxenos
From: Stefan Xenos This command lists the ongoing changes from the refs/metas namespace. Signed-off-by: Stefan Xenos --- builtin/change.c | 53 1 file changed, 53 insertions(+) diff --git a/builtin/change.c b/builtin/change.c index ff7eb3b113..

[PATCH v3 7/8] evolve: Implement the git change command

2019-01-27 Thread sxenos
From: Stefan Xenos Implement the git change update command, which are sufficient for constructing change graphs. For example, to create a new change (a stable name) that refers to HEAD: git change update -c HEAD To record a rebase or amend in the change graph: git change update -c -r To re

[PATCH v3 2/8] sha1-array: Implement oid_array_readonly_contains

2019-01-27 Thread sxenos
From: Stefan Xenos Implement a "readonly_contains" function for oid_array that won't sort the array if it is unsorted. This can be used to test containment in the rare situations where the array order matters. The function has intentionally been given a name that is more cumbersome than the "loo

[PATCH v3 3/8] ref-filter: Add the metas namespace to ref-filter

2019-01-27 Thread sxenos
From: Stefan Xenos The metas namespace will contain refs for changes in progress. Add support for searching this namespace. Signed-off-by: Stefan Xenos --- ref-filter.c | 8 ++-- ref-filter.h | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ref-filter.c b/ref-filte

[PATCH v3 1/8] technical doc: add a design doc for the evolve command

2019-01-27 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/evolve.txt | 1034 1 file changed, 1034 i

[PATCH v3 4/8] evolve: Add support for parsing metacommits

2019-01-27 Thread sxenos
From: Stefan Xenos This patch adds the get_metacommit_content method, which can classify commits as either metacommits or normal commits, determine whether they are abandoned, and extract the content commit's object id from the metacommit. Signed-off-by: Stefan Xenos --- Makefile|

[PATCH v2 5/8] evolve: Add the change-table structure

2019-01-27 Thread sxenos
From: Stefan Xenos A change table stores a list of changes, and supports efficient lookup from a commit hash to the list of changes that reference that commit directly. It can be used to look up content commits or metacommits at the head of a change, but does not support lookup of commits refere

[PATCH v2 7/8] evolve: Implement the git change command

2019-01-27 Thread sxenos
From: Stefan Xenos Implement the git change update command, which are sufficient for constructing change graphs. For example, to create a new change (a stable name) that refers to HEAD: git change update -c HEAD To record a rebase or amend in the change graph: git change update -c -r To re

[PATCH v2 2/8] sha1-array: Implement oid_array_readonly_contains

2019-01-27 Thread sxenos
From: Stefan Xenos Implement a "readonly_contains" function for oid_array that won't sort the array if it is unsorted. This can be used to test containment in the rare situations where the array order matters. The function has intentionally been given a name that is more cumbersome than the "loo

[PATCH v2 1/8] technical doc: add a design doc for the evolve command

2019-01-27 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/evolve.txt | 1034 1 file changed, 1034 i

[PATCH v2 8/8] evolve: Add the git change list command

2019-01-27 Thread sxenos
From: Stefan Xenos This command lists the ongoing changes from the refs/metas namespace. Signed-off-by: Stefan Xenos --- builtin/change.c | 53 1 file changed, 53 insertions(+) diff --git a/builtin/change.c b/builtin/change.c index ff7eb3b113..

[PATCH v2 6/8] evolve: Add support for writing metacommits

2019-01-27 Thread sxenos
From: Stefan Xenos metacommit.c supports the creation of metacommits and adds the API needed to create and update changes. Create the "modify_change" function that can be called from modification commands like "rebase" and "git amend" to record obsolescences in the change graph. Create the "rec

[PATCH v2 3/8] ref-filter: Add the metas namespace to ref-filter

2019-01-27 Thread sxenos
From: Stefan Xenos The metas namespace will contain refs for changes in progress. Add support for searching this namespace. Signed-off-by: Stefan Xenos --- ref-filter.c | 8 ++-- ref-filter.h | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ref-filter.c b/ref-filte

[PATCH v2 4/8] evolve: Add support for parsing metacommits

2019-01-27 Thread sxenos
From: Stefan Xenos This patch adds the get_metacommit_content method, which can classify commits as either metacommits or normal commits, determine whether they are abandoned, and extract the content commit's object id from the metacommit. Signed-off-by: Stefan Xenos --- Makefile|

[PATCH 8/8] evolve: Add the git change list command

2019-01-21 Thread sxenos
From: Stefan Xenos This command lists the ongoing changes from the refs/metas namespace. --- builtin/change.c | 53 1 file changed, 53 insertions(+) diff --git a/builtin/change.c b/builtin/change.c index ff7eb3b113..b63fe98665 100644 --- a/builti

[PATCH 2/8] evolve: Implement oid_array_contains_nondestructive

2019-01-21 Thread sxenos
From: Stefan Xenos Implement a "contains_nondestructive" function for oid_array that won't sort the array if it is unsorted. This can be used to test containment in the rare situations where the array order matters. The function has intentionally been given a name that is more cumbersome than th

[PATCH 7/8] evolve: Implement the git change update command

2019-01-21 Thread sxenos
From: Stefan Xenos Implement the git change update command, which are sufficient for constructing change graphs. For example, to create a new change (a stable name) that refers to HEAD: git change update -c HEAD To record a rebase or amend in the change graph: git change update -c -r To re

[PATCH 3/8] evlove: Add the metas namespace to ref-filter

2019-01-21 Thread sxenos
From: Stefan Xenos The metas namespace will contain refs for changes in progress. Add support for searching this namespace. --- ref-filter.c | 8 ++-- ref-filter.h | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ref-filter.c b/ref-filter.c index 422a9c9ae3..4d7bd068

[PATCH 6/8] evolve: Add support for writing metacommits

2019-01-21 Thread sxenos
From: Stefan Xenos metacommit.c supports the creation of metacommits and adds the API needed to create and update changes. Create the "modify_change" function that can be called from modification commands like "rebase" and "git amend" to record obsolescences in the change graph. Create the "rec

[PATCH 5/8] evolve: Add the change-table structure

2019-01-21 Thread sxenos
From: Stefan Xenos A change table stores a list of changes, and supports efficient lookup from a commit hash to the list of changes that reference that commit directly. It can be used to look up content commits or metacommits at the head of a change, but does not support lookup of commits refere

[PATCH 4/8] evolve: Add support for parsing metacommits

2019-01-21 Thread sxenos
From: Stefan Xenos This patch adds the get_metacommit_content method, which can classify commits as either metacommits or normal commits, determine whether they are abandoned, and extract the content commit's object id from the metacommit. --- Makefile| 1 + metacommit-parser.c | 87

[PATCH 1/8] technical doc: add a design doc for the evolve command

2019-01-21 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/evolve.txt | 1034 1 file changed, 1034 i

[PATCH v3] technical doc: add a design doc for the evolve command

2018-12-18 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/evolve.txt | 1034 1 file changed, 1034 i

[RFC PATCH v3] technical doc: add a design doc for the evolve command

2018-11-30 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/evolve.txt | 1000 1 file changed, 1000 i

[RFC PATCH v2] technical doc: add a design doc for the evolve command

2018-11-18 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/change-graph.txt | 928 +++ 1 file changed, 928 in

[RFC PATCH v2] technical doc: add a design doc for the evolve command

2018-11-18 Thread sxenos
From: Stefan Xenos This document describes what a change graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/change-graph.txt | 928 +++ 1 file changed, 928 in

[PATCH] technical doc: add a design doc for the evolve command

2018-11-14 Thread sxenos
From: Stefan Xenos This document describes what an obsolescence graph for git would look like, the behavior of the evolve command, and the changes planned for other commands. Signed-off-by: Stefan Xenos --- Documentation/technical/evolve.txt | 885 + 1 file changed,