#pragma section-numbers 2 <> = Improved Exchange report plan = '''Status: Project''' '''Main proponents: [[Pierre-YvesDavid]], PulkitGoyal, SushilKanchi''' A way to keep track of what is happening during push/pull. == Goal == A way to help users keeping track of what happened after push/pull (and maybe any operation). Especially for changesets [[CEDPrecheckPlan#Ownership|owned by the users]] == Details == === The Problem === The current pull output is fairly basic and not logged. So it is easy to miss important information during a pull. In addition one cannot track back what happened after the fact. To make things worse `hg incoming` has never been ported to include the new informations about phases and obsolescence. === Logging report === The idea is to Keep track of the Nth last transaction (with a focus on push/pull). The data would be accessible through something like `hg journal` or equivalent. Having instruction on how to "undo" some of the operation could help the users. The Journal seems like a good place to do so. === Improved report === Currently a pull will output the following information: * number of changeset pulled, * number of file affected, * head changes, * number of local draft getting published, * number of new obsolescence markers, * number of changeset obsoleted, * number of new unstable changeset (of each types) * the range of new changeset These data are useful to get an overall sense of what happened, but not to actually understand the details. We need the option of something better with: * more details about the new changesets, * more details about the new heads (and merged/head), * more details about named branches changes, * more details about obsoleted changesets, and their successors/prune, * more details about the instability introduced and resolved. Having all this information all the time would be a lot of data. So having it available through the journal seems like a better option. Changing the default `hg pull/push` output should not be out of the question, we could have configuration for control the default verbosity level by category. In addition, we could leverage the [[CEDPrecheckPlan#Ownership|Ownership]] idea to display more information about the changeset relevant to the users. === Confirmation prompt === Another interesting application of this would be to add a `--confirm` to `hg pull/push`. The command would display some details about the transaction and let the user reject it. To work well, the user will need a way to "zoom in" to get more details about the area he is interested in. We could have configuration to automatically ask for confirmation when changeset relevant to the user are affected. Another option, is to inhibit the "hidding" of the owned obsolete changeset until the user validate them. This could be cumbersome for the user, so I would rather have a good journal and an easy way to bring things back. === Roadmap === * adding basic phases information to `hg pull output` (./) * adding ranges of pulled changeset to output (./) * adding obsolescence related information to outpu (./) * start logging data about transaction {X} * display basic information about logged transaction {X} * Give access to details in each possible area {X} * changesets, {X} * branches, {X} * phases, {X} * obsolescence, {X} * prune, {X} * unstability changes {X} * introduce a `--confirm` option {X} * push {X} * pull {X} * fix inc/out {X} * hg incoming {X} * hg outgoing {X} * introduce the Ownership specific bits: * extra details in report, * confirm when affected == See Also == * [[CEDPrecheckPlan#Ownership|Ownership plan]] * ChangesetEvolutionDevel * ChangesetEvolution ---- CategoryDeveloper CategoryNewFeatures CategoryEvolution