Mercurial > hg
view tests/bundles/rename.sh @ 29181:dae38633eba8 stable
localrepo: prevent executable-bit only changes from being lost on amend
If you have just executable-bit change and amend it twice it will vanish:
* After the first amend the commit will have the proper executable bit set
in manifest but it won't have the the file on the list of files in
changelog.
* The second amend will read the wrong list of files from changelog and it
will copy the manifest entry from parent for this file.
* Voila! The change is lost.
This change repairs the bug in localrepo causing this and adds a test for it.
author | Mateusz Kwapich <mitrandir@fb.com> |
---|---|
date | Thu, 19 May 2016 14:35:22 -0700 |
parents | ebf6d38c9063 |
children |
line wrap: on
line source
#!/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 ..