mirror of
https://github.com/facebook/sapling.git
synced 2024-10-16 11:52:02 +03:00
2c65c226cf
The fix introduced in 3509b9cf8f86 was only partially successful. It is correct to turn dirstate 'm' merge records into normal/dirty ones but copy records are lost in the process. To adjust them as well, we need to look in the first parent manifest to know which files were added and preserve only related records. But the dirstate does not have access to changesets, the logic has to moved at another level, in localrepo.
31 lines
346 B
Bash
Executable File
31 lines
346 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# @ 3: 'move2'
|
|
# |
|
|
# o 2: 'move1'
|
|
# |
|
|
# | o 1: 'change'
|
|
# |/
|
|
# o 0: 'add'
|
|
|
|
hg init copies
|
|
cd copies
|
|
echo a > a
|
|
echo b > b
|
|
echo c > c
|
|
hg ci -Am add
|
|
echo a >> a
|
|
echo b >> b
|
|
echo c >> c
|
|
hg ci -m change
|
|
hg up -qC 0
|
|
hg cp a d
|
|
hg mv b e
|
|
hg mv c f
|
|
hg ci -m move1
|
|
hg mv e g
|
|
hg mv f c
|
|
hg ci -m move2
|
|
hg bundle -a ../renames.hg
|
|
cd ..
|