Mercurial > hg
view tests/test-sparse-clear.t @ 42856:3cf091843b4f
split: handle partial commit of renames when doing split or record (issue5723)
When using split or record, using either interface (text or curses), selecting
portions of the file to be committed/recorded did not work; the entire file was
treated as having been selected. This was because the logic for handling partial
application of the patches relies on knowing what files are "new with
modifications" and it doesn't treat "rename destination" as "new".
There was a complicating issue, however. We're relying on the patch header
specifying the copy from/to information, which works as long as the 'copy from'
file is there. In the case of renames, however, the 'rename from' file is *not*
there, so we need to add it back.
Differential Revision: https://phab.mercurial-scm.org/D6768
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Tue, 27 Aug 2019 11:56:19 -0700 |
parents | c9cbf4de27ba |
children | 5c2a4f37eace |
line wrap: on
line source
test sparse $ hg init myrepo $ cd myrepo $ cat >> $HGRCPATH <<EOF > [extensions] > sparse= > purge= > strip= > rebase= > EOF $ echo a > index.html $ echo x > data.py $ echo z > readme.txt $ cat > base.sparse <<EOF > [include] > *.sparse > EOF $ hg ci -Aqm 'initial' $ cat > webpage.sparse <<EOF > %include base.sparse > [include] > *.html > EOF $ hg ci -Aqm 'initial' Clear rules when there are includes $ hg debugsparse --include *.py $ ls data.py $ hg debugsparse --clear-rules $ ls base.sparse data.py index.html readme.txt webpage.sparse Clear rules when there are excludes $ hg debugsparse --exclude *.sparse $ ls data.py index.html readme.txt $ hg debugsparse --clear-rules $ ls base.sparse data.py index.html readme.txt webpage.sparse Clearing rules should not alter profiles $ hg debugsparse --enable-profile webpage.sparse $ ls base.sparse index.html webpage.sparse $ hg debugsparse --include *.py $ ls base.sparse data.py index.html webpage.sparse $ hg debugsparse --clear-rules $ ls base.sparse index.html webpage.sparse