##// END OF EJS Templates
filemerge: make last line of prompts <40 english chars (issue6158)...
filemerge: make last line of prompts <40 english chars (issue6158) I've chosen <40 as the target so that other languages that may have a 2x blowup in character count can still have a chance to fit into an 80 column screen. Previously, we would show a prompt like: ``` keep (l)ocal [dest], take (o)ther [source], or leave (u)nresolved for some/potentially/really/long/path? ``` On at least some systems, if readline was in use then the last line of the prompt would be wrapped strangely if it couldn't fit entirely on one line. This strange wrapping may be just a carriage return without a line feed, overwriting the beginning of the line; example (100 columns wide, 65 character filename, and yes there's 10 spaces on the end, I assume this is to handle the user inputting longest word we provide as an option, "unresolved"): ``` ng/dir/name/that/does/not/work/well/with/readline/file.txt? ave (u)nresolved for some/lon ``` In some cases it may partially wrap onto the next line, but still be missing earlier parts in the line, such as below (60 columns wide, 65 character filename): ``` rev], or leave (u)nresolved for some/long/dir/name/that/do s/not/work/well/with/readline/file.txt? ``` With this fix, this looks like this on a 60 column screen: ``` tool vim_with_markers (for pattern some/long/dir/name/that/d oes/not/work/well/with/readline/file.txt) can't handle binar y tool meld can't handle binary tool vim_with_markers can't handle binary tool internal:merge3 can't handle binary tool merge can't handle binary no tool found to merge some/long/dir/name/that/does/not/work /well/with/readline/file.txt file 'some/long/dir/name/that/does/not/work/well/with/readli ne/file.txt' needs to be resolved. You can keep (l)ocal [working copy], take (o)ther [merge rev ], or leave (u)nresolved. What do you want to do? ``` Differential Revision: https://phab.mercurial-scm.org/D6562

File last commit:

r42765:4764e843 default
r42765:4764e843 default
Show More
test-merge-remove.t
116 lines | 2.3 KiB | text/troff | Tads3Lexer
/ tests / test-merge-remove.t
Adrian Buehlmann
tests: unify test-merge-remove
r12260 $ hg init
$ echo foo > foo
$ echo bar > bar
$ hg ci -qAm 'add foo bar'
$ echo foo2 >> foo
$ echo bleh > bar
$ hg ci -m 'change foo bar'
$ hg up -qC 0
$ hg mv foo foo1
$ echo foo1 > foo1
$ hg cat foo >> foo1
$ hg ci -m 'mv foo foo1'
created new head
$ hg merge
merging foo1 and foo to foo1
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugstate --no-dates
Mads Kiilerich
debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'...
r23840 m 0 -2 unset bar
m 0 -2 unset foo1
Adrian Buehlmann
tests: unify test-merge-remove
r12260 copy: foo -> foo1
$ hg st -q
M bar
M foo1
Removing foo1 and bar:
$ cp foo1 F
$ cp bar B
$ hg rm -f foo1 bar
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugstate --no-dates
Mads Kiilerich
debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'...
r23840 r 0 -1 set bar
r 0 -1 set foo1
Adrian Buehlmann
tests: unify test-merge-remove
r12260 copy: foo -> foo1
$ hg st -qC
R bar
R foo1
Re-adding foo1 and bar:
$ cp F foo1
$ cp B bar
$ hg add -v foo1 bar
adding bar
adding foo1
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugstate --no-dates
Mads Kiilerich
debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'...
r23840 n 0 -2 unset bar
n 0 -2 unset foo1
Adrian Buehlmann
tests: unify test-merge-remove
r12260 copy: foo -> foo1
$ hg st -qC
M bar
M foo1
foo
Reverting foo1 and bar:
$ hg revert -vr . foo1 bar
saving current version of bar as bar.orig
Sushil khanchi
revert: fix the inconsistency of status msgs in --interactive mode...
r39442 saving current version of foo1 as foo1.orig
Adrian Buehlmann
tests: unify test-merge-remove
r12260 reverting bar
reverting foo1
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugstate --no-dates
Mads Kiilerich
debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'...
r23840 n 0 -2 unset bar
n 0 -2 unset foo1
Adrian Buehlmann
tests: unify test-merge-remove
r12260 copy: foo -> foo1
$ hg st -qC
M bar
M foo1
foo
$ hg diff
Mads Kiilerich
merge: don't overwrite file untracked after remove, abort with 'untracked files'...
r20415 Merge should not overwrite local file that is untracked after remove
$ rm *
$ hg up -qC
$ hg rm bar
$ hg ci -m 'remove bar'
$ echo 'memories of buried pirate treasure' > bar
$ hg merge
bar: untracked file differs
abort: untracked files in working directory differ from files in requested revision
[255]
$ cat bar
memories of buried pirate treasure
Those who use force will lose
$ hg merge -f
Pulkit Goyal
filemerge: fix the wrong placements of messages in prompt...
r39321 file 'bar' was deleted in local [working copy] but was modified in other [merge rev].
Kyle Lippincott
filemerge: make last line of prompts <40 english chars (issue6158)...
r42765 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
What do you want to do? u
Mads Kiilerich
merge: don't overwrite file untracked after remove, abort with 'untracked files'...
r20415 merging foo1 and foo to foo1
Siddharth Agarwal
filemerge: default change/delete conflicts to 'leave unresolved' (BC)...
r27599 0 files updated, 1 files merged, 0 files removed, 1 files unresolved
Pulkit Goyal
merge: add `--abort` flag which can abort the merge...
r35722 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
Siddharth Agarwal
filemerge: default change/delete conflicts to 'leave unresolved' (BC)...
r27599 [1]
Mads Kiilerich
merge: don't overwrite file untracked after remove, abort with 'untracked files'...
r20415 $ cat bar
bleh
$ hg st
M bar
M foo1