##// END OF EJS Templates
linelog: add a Python implementation of the linelog datastructure...
linelog: add a Python implementation of the linelog datastructure This datastructure was originally developed by Jun Wu at Facebook, inspired by SCCS weaves. It's useful as a cache for blame information, but also is the magic that makes `hg absorb` easy to implement. In service of importing the code to Mercurial, I wanted to actually /understand/ it, and once I did I decided to take a run at implementing it. The help/internals/linelog.txt document is the README from Jun Wu's implementaiton. It all applies to our linelog implementation. Differential Revision: https://phab.mercurial-scm.org/D3990

File last commit:

r38268:d0abd794 @34 default
r38819:752d858a default
Show More
test-merge6.t
73 lines | 1.9 KiB | text/troff | Tads3Lexer
Pradeepkumar Gayam
tests: unify test-merge6
r11979 $ cat <<EOF > merge
> import sys, os
Augie Fackler
tests: clean up many print statements to be print functions instead...
r33687 > print("merging for", os.path.basename(sys.argv[1]))
Pradeepkumar Gayam
tests: unify test-merge6
r11979 > EOF
Augie Fackler
tests: clean up even more direct `python` calls with $PYTHON...
r33286 $ HGMERGE="$PYTHON ../merge"; export HGMERGE
Pradeepkumar Gayam
tests: unify test-merge6
r11979
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init A1
Pradeepkumar Gayam
tests: unify test-merge6
r11979 $ cd A1
$ echo This is file foo1 > foo
$ echo This is file bar1 > bar
$ hg add foo bar
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit text"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ..
$ hg clone A1 B1
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd A1
$ rm bar
$ hg remove bar
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ../B1
$ echo This is file foo22 > foo
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ..
$ hg clone A1 A2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg clone B1 B2
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd A1
$ hg pull ../B1
pulling from ../B1
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets b90e70beeb58
Boris Feld
phases: use "published" in the phase movement message...
r38268 1 local changesets published
Pradeepkumar Gayam
tests: unify test-merge6
r11979 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979 bar should remain deleted.
$ hg manifest --debug
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
$ cd ../B2
$ hg pull ../A2
pulling from ../A2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets e1adc944e717
Pradeepkumar Gayam
tests: unify test-merge6
r11979 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979 bar should remain deleted.
$ hg manifest --debug
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..