view tests/test-eol-patch.out @ 11988:8380ed691df8

util: add an interpolate() function to for replacing multiple values util.interpolate can be used to replace multiple items in a string all at once (and optionally apply a function to the replacement), without worrying about recursing: >>> import util >>> s = '$foo, $spam' >>> util.interpolate(r'\$', { 'foo': 'bar', 'spam': 'eggs' }, s) 'bar, eggs' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s) 'spam, foo' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s, lambda s: s.upper()) 'SPAM, FOO' The patch also changes filemerge.py to use this new function.
author Steve Losh <steve@stevelosh.com>
date Wed, 18 Aug 2010 18:18:26 -0400
parents 0bb67503ad4b
children
line wrap: on
line source


# ==== 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