summaryrefslogtreecommitdiff
path: root/doc/developer
diff options
context:
space:
mode:
Diffstat (limited to 'doc/developer')
-rw-r--r--doc/developer/scripting.rst5
-rw-r--r--doc/developer/topotests.rst1
-rw-r--r--doc/developer/workflow.rst36
3 files changed, 40 insertions, 2 deletions
diff --git a/doc/developer/scripting.rst b/doc/developer/scripting.rst
index 7a43314490..f51130b1e3 100644
--- a/doc/developer/scripting.rst
+++ b/doc/developer/scripting.rst
@@ -523,6 +523,7 @@ object which contains methods corresponding to each of the ``zlog`` levels:
log.error("error")
log.notice("notice")
log.debug("debug")
+ log.trace("trace")
The log messages will show up in the daemon's log output.
@@ -579,14 +580,14 @@ accomplished with scripting.
RM_FAILURE, RM_NOMATCH, RM_MATCH, RM_MATCH_AND_CHANGE)
log.info("Evaluating route " .. prefix.network .. " from peer " .. peer.remote_id.string)
-
+
function on_match (prefix, attributes)
log.info("Match")
return {
attributes = RM_MATCH
}
end
-
+
function on_nomatch (prefix, attributes)
log.info("No match")
return {
diff --git a/doc/developer/topotests.rst b/doc/developer/topotests.rst
index 52c0361a02..72de7b3bc9 100644
--- a/doc/developer/topotests.rst
+++ b/doc/developer/topotests.rst
@@ -33,6 +33,7 @@ Installing Topotest Requirements
net-tools \
python3-pip \
iputils-ping \
+ iptables \
tshark \
valgrind
python3 -m pip install wheel
diff --git a/doc/developer/workflow.rst b/doc/developer/workflow.rst
index a6bdec1e5b..50bcb2976e 100644
--- a/doc/developer/workflow.rst
+++ b/doc/developer/workflow.rst
@@ -531,6 +531,42 @@ After Submitting Your Changes
community members.
- Your submission is done once it is merged to the master branch.
+Reverting the changes
+=====================
+
+When you revert a regular commit in Git, the process is straightforward - it
+undoes the changes introduced by that commit. However, reverting a merge commit
+is more complex. While it undoes the data changes brought in by the merge, it
+does not alter the repository's history or the merge's effect on it.
+
+Reverting a Merge Commit
+------------------------
+
+When you revert a merge commit, the following occurs:
+
+* The changes made by the merge are undone;
+* The merge itself remains in the history: it continues to be recognized as the point where two branches were joined;
+* Future merges will still treat this as the last shared state, regardless of the revert.
+
+Thus, a "revert" in Git undoes data changes, but it does not serve as a true "undo"
+for the historical effects of a commit.
+
+Reverting a Merge and Bisectability
+-----------------------------------
+
+Consider the implications of reverting a merge and then reverting that revert.
+This scenario complicates the debugging process, especially when using tools like
+git bisect. A reverted merge effectively consolidates all changes from the original
+merge into a single commit, but in reverse. This creates a challenge for debugging,
+as you lose the granularity of individual commits, making it difficult to identify
+the specific change causing an issue.
+
+Considerations
+--------------
+
+When reverting the changes, e.g. a full Pull Request, we SHOULD revert every commit
+individually, and not use git revert on merge commits.
+
Programming Languages, Tools and Libraries
==========================================