Mercurial > public > mercurial-scm > hg
annotate tests/test-ui-color.py @ 35168:b175e54c1103 stable
largefiles: pay attention to dropped standin files when updating largefiles
Previously, the largefile for a dropped standin would be deleted here, and then
restored from the cache. This had the effect of clobbering uncommitted changes
if a revert caused the file to be forgotten, which is not what happens with a
normal file. Now the removal and update is skipped for dropped largefiles, and
the corresponding standin is deleted from disk.
This was noticed when working on issue5738 because the forgotten standin files
were left behind, and that changes the behavior of the next rename to that
directory. My first attempt was to cleanup the standins before calling this.
That failed, because this function deletes the largefile if the corresponding
standin is missing.
This function is called by the revert command, merge (and therefore update), and
patch, via the scmutil.marktouched() override. So it should be pretty narrow in
scope.
I didn't mark issue5738 as fixed because the move related issues can still
happen if the main tree and the .hglf subtree get out of sync somehow. I don't
see an easy fix for that, but that should be an edge case. If whoever queues
this thinks it is good enough to close out the bug and can cram it into the
summary, go for it.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 12 Nov 2017 23:45:14 -0500 |
parents | b4cb86ab4c71 |
children | 236596a67a54 |
rev | line source |
---|---|
28915
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
1 from __future__ import absolute_import, print_function |
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
2 |
19322
ff1586a3adc5
cleanup: remove unused imports
Simon Heimberg <simohe@besonet.ch>
parents:
17956
diff
changeset
|
3 import os |
28915
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
4 from mercurial import ( |
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
5 dispatch, |
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
6 ui as uimod, |
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
7 ) |
11732
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
8 |
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
9 # ensure errors aren't buffered |
31095
b4cb86ab4c71
color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30559
diff
changeset
|
10 testui = uimod.ui() |
11732
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
11 testui.pushbuffer() |
17956
a08775ec89f2
i18n: wrap false positives for translation detection
Matt Mackall <mpm@selenic.com>
parents:
14614
diff
changeset
|
12 testui.write(('buffered\n')) |
a08775ec89f2
i18n: wrap false positives for translation detection
Matt Mackall <mpm@selenic.com>
parents:
14614
diff
changeset
|
13 testui.warn(('warning\n')) |
11732
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
14 testui.write_err('error\n') |
28682
2e5be704bc96
py3: make test-ui-color use print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents:
19322
diff
changeset
|
15 print(repr(testui.popbuffer())) |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
16 |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
17 # test dispatch.dispatch with the same ui object |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
18 hgrc = open(os.environ["HGRCPATH"], 'w') |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
19 hgrc.write('[extensions]\n') |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
20 hgrc.write('color=\n') |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
21 hgrc.close() |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
22 |
30559
d83ca854fa21
ui: factor out ui.load() to create a ui without loading configs (API)
Yuya Nishihara <yuya@tcha.org>
parents:
28915
diff
changeset
|
23 ui_ = uimod.ui.load() |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
24 ui_.setconfig('ui', 'formatted', 'True') |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
25 |
14614
afccc64eea73
ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents:
14516
diff
changeset
|
26 # we're not interested in the output, so write that to devnull |
afccc64eea73
ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents:
14516
diff
changeset
|
27 ui_.fout = open(os.devnull, 'w') |
afccc64eea73
ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents:
14516
diff
changeset
|
28 |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
29 # call some arbitrary command just so we go through |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
30 # color's wrapped _runcommand twice. |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
31 def runcmd(): |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
32 dispatch.dispatch(dispatch.request(['version', '-q'], ui_)) |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
33 |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
34 runcmd() |
31095
b4cb86ab4c71
color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30559
diff
changeset
|
35 print("colored? %s" % (ui_._colormode is not None)) |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
36 runcmd() |
31095
b4cb86ab4c71
color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30559
diff
changeset
|
37 print("colored? %s" % (ui_._colormode is not None)) |
b4cb86ab4c71
color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30559
diff
changeset
|
38 |