Mercurial > hg
annotate tests/test-empty-dir.t @ 15663:9036c7d106bf stable
largefiles: handle merges between normal files and largefiles (issue3084)
The largefiles extension prevents users from adding a normal file
named 'foo' if there is already a largefile with the same name.
However, there was a loop-hole: when merging, it was possible to bring
in a normal file named 'foo' while also having a '.hglf/foo' file.
This patch fixes this by extending the manifest merge to deal with
these kinds of conflicts. If there is a normal file 'foo' in the
working copy, and the other parent brings in a '.hglf/foo' file, then
the user will be prompted to keep the normal file or the largefile.
Likewise for the symmetric case where a normal file is brought in via
the second parent. The prompt looks like this:
$ hg merge
foo has been turned into a largefile
use (l)argefile or keep as (n)ormal file?
After the merge, either the '.hglf/foo' file or the 'foo' file will
have been deleted. This would cause status to return output like:
$ hg status
M foo
R foo
To fix this, the lfiles_repo.status method is changed so that a
removed normal file isn't shown if there is largefile with the same
name, and vice versa for largefiles.
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Fri, 09 Dec 2011 17:35:00 +0100 |
parents | 3b165c127690 |
children |
rev | line source |
---|---|
12158
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
1 $ hg init |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
2 |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
3 $ echo 123 > a |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
4 $ hg add a |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
5 $ hg commit -m "first" a |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
6 |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
7 $ mkdir sub |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
8 $ echo 321 > sub/b |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
9 $ hg add sub/b |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
10 $ hg commit -m "second" sub/b |
578 | 11 |
12158
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
12 $ cat sub/b |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
13 321 |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
14 |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
15 $ hg co 0 |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
16 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
578 | 17 |
12158
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
18 $ cat sub/b 2>/dev/null || echo "sub/b not present" |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
19 sub/b not present |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
20 |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
21 $ test -d sub || echo "sub not present" |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
22 sub not present |
019cd2826d21
tests: unify test-empty-dir
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
23 |