debugbuilddag: build a changelog dag from a concise description
Useful in tests to quickly build a complex DAG in an empty repo.
Handles local tags and named branches.
Options to, at each rev,
- create a new file,
- overwrite the same file,
- append to the same file,
- write to a specific line in a mergeable file.
Can run shell commands during DAG buildup.
# ==== setup LF repository ====
% hg init
adding .hgeol
adding native.txt
adding unix.txt
adding win.txt
% hg clone repo repo-LF
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
% printrepr.py native.txt
first
second
third
% printrepr.py unix.txt
first
second
third
% printrepr.py win.txt
first\r
second\r
third\r
% hg diff
diff --git a/native.txt b/native.txt
--- a/native.txt
+++ b/native.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/unix.txt b/unix.txt
--- a/unix.txt
+++ b/unix.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/win.txt b/win.txt
--- a/win.txt
+++ b/win.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
% hg revert
reverting native.txt
reverting unix.txt
reverting win.txt
% hg import
applying p
% printrepr.py native.txt
first
third
% printrepr.py unix.txt
first
third
% printrepr.py win.txt
first\r
third\r
% hg diff -c tip
diff --git a/native.txt b/native.txt
--- a/native.txt
+++ b/native.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/unix.txt b/unix.txt
--- a/unix.txt
+++ b/unix.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/win.txt b/win.txt
--- a/win.txt
+++ b/win.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
% hg clone repo repo-CRLF
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
% printrepr.py native.txt
first\r
second\r
third\r
% printrepr.py unix.txt
first
second
third
% printrepr.py win.txt
first\r
second\r
third\r
% hg diff
diff --git a/native.txt b/native.txt
--- a/native.txt
+++ b/native.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/unix.txt b/unix.txt
--- a/unix.txt
+++ b/unix.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/win.txt b/win.txt
--- a/win.txt
+++ b/win.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
% hg revert
reverting native.txt
reverting unix.txt
reverting win.txt
% hg import
applying p
% printrepr.py native.txt
first\r
third\r
% printrepr.py unix.txt
first
third
% printrepr.py win.txt
first\r
third\r
% hg diff -c tip
diff --git a/native.txt b/native.txt
--- a/native.txt
+++ b/native.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/unix.txt b/unix.txt
--- a/unix.txt
+++ b/unix.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/win.txt b/win.txt
--- a/win.txt
+++ b/win.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
# ==== setup CRLF repository ====
% hg init
adding .hgeol
adding native.txt
adding unix.txt
adding win.txt
% hg clone repo repo-LF
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
% printrepr.py native.txt
first
second
third
% printrepr.py unix.txt
first
second
third
% printrepr.py win.txt
first\r
second\r
third\r
% hg diff
diff --git a/native.txt b/native.txt
--- a/native.txt
+++ b/native.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
diff --git a/unix.txt b/unix.txt
--- a/unix.txt
+++ b/unix.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/win.txt b/win.txt
--- a/win.txt
+++ b/win.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
% hg revert
reverting native.txt
reverting unix.txt
reverting win.txt
% hg import
applying p
% printrepr.py native.txt
first
third
% printrepr.py unix.txt
first
third
% printrepr.py win.txt
first\r
third\r
% hg diff -c tip
diff --git a/native.txt b/native.txt
--- a/native.txt
+++ b/native.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
diff --git a/unix.txt b/unix.txt
--- a/unix.txt
+++ b/unix.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/win.txt b/win.txt
--- a/win.txt
+++ b/win.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
% hg clone repo repo-CRLF
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
% printrepr.py native.txt
first\r
second\r
third\r
% printrepr.py unix.txt
first
second
third
% printrepr.py win.txt
first\r
second\r
third\r
% hg diff
diff --git a/native.txt b/native.txt
--- a/native.txt
+++ b/native.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
diff --git a/unix.txt b/unix.txt
--- a/unix.txt
+++ b/unix.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/win.txt b/win.txt
--- a/win.txt
+++ b/win.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
% hg revert
reverting native.txt
reverting unix.txt
reverting win.txt
% hg import
applying p
% printrepr.py native.txt
first\r
third\r
% printrepr.py unix.txt
first
third
% printrepr.py win.txt
first\r
third\r
% hg diff -c tip
diff --git a/native.txt b/native.txt
--- a/native.txt
+++ b/native.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r
diff --git a/unix.txt b/unix.txt
--- a/unix.txt
+++ b/unix.txt
@@ -1,3 +1,2 @@
first
-second
third
diff --git a/win.txt b/win.txt
--- a/win.txt
+++ b/win.txt
@@ -1,3 +1,2 @@
first\r
-second\r
third\r