Mercurial > hg
annotate tests/test-diff-copy-depth.t @ 18944:a9c443b3b240
unionrepo: read-only operations on a union of two localrepos
unionrepo is just like bundlerepo without bundles.
The implementation is very similar to bundlerepo, but I don't see any obvious
way to generalize it.
Some most obvious use cases for this would be log and diff across local repos,
as a kind of preview of pulls, for instance:
$ hg -R union:repo1+repo2 heads
$ hg -R union:repo1+repo2 log -r REPO1REV -r REPO2REV
$ hg -R union:repo1+repo2 log -r '::REPO1REV-::REPO2REV'
$ hg -R union:repo1+repo2 log -r 'ancestor(REPO1REV,REPO2REV)'
$ hg -R union:repo1+repo2 diff -r REPO1REV -r REPO2REV
This is going to be used in RhodeCode, and Bitbucket already uses something
similar. Having a core implementation would be beneficial.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Fri, 18 Jan 2013 15:54:09 +0100 |
parents | bca69641de61 |
children |
rev | line source |
---|---|
12150
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
1 $ for i in aaa zzz; do |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
2 > hg init t |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
3 > cd t |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
4 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
5 > echo |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
6 > echo "-- With $i" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
7 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
8 > touch file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
9 > hg add file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
10 > hg ci -m "Add" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
11 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
12 > hg cp file $i |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
13 > hg ci -m "a -> $i" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
14 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
15 > hg cp $i other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
16 > echo "different" >> $i |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
17 > hg ci -m "$i -> other-file" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
18 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
19 > hg cp other-file somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
20 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
21 > echo "Status": |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
22 > hg st -C |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
23 > echo |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
24 > echo "Diff:" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
25 > hg diff -g |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
26 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
27 > cd .. |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
28 > rm -rf t |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
29 > done |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
30 |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
31 -- With aaa |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
32 Status: |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
33 A somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
34 other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
35 |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
36 Diff: |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
37 diff --git a/other-file b/somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
38 copy from other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
39 copy to somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
40 |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
41 -- With zzz |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
42 Status: |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
43 A somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
44 other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
45 |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
46 Diff: |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
47 diff --git a/other-file b/somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
48 copy from other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
49 copy to somename |
6424 | 50 |
51 |