sapling/tests/test-rebase-flags.t
Phil Cohen b177b338b7 rebase: tactical fix for rebase dropping flags
Summary:
The root issue is described in the new ``workingflags()`` function -- ``workingfilectx.flags()`` ought to read from the working copy, but instead reads from the working copy's p1.

Rather than force a big rewrite to adapt all the old code (which might be a waste if we end up rewriting the context classes), let's add a new function with the behavior we want, and callers can detect for it and call it.

simplemerge is the only callsite that needs this behavior, AFAICT.

Previous attempt: D6694292

Reviewed By: singhsrb

Differential Revision: D7083239

fbshipit-source-id: 6f30b877958d40106203e088fe724ab491b541b9
2018-04-13 21:51:16 -07:00

62 lines
1.5 KiB
Perl

#require execbit
$ tellmeabout() {
> if [ -x $1 ]; then
> echo $1 is an executable file with content:
> cat $1
> else
> echo $1 is a plain file with content:
> cat $1
> fi
> }
$ cat >> $HGRCPATH << EOF
> [extensions]
> rebase=
> EOF
Test rebasing a single commit that changes flags:
$ hg init repo
$ cd repo
$ echo "A" > foo
$ hg add foo
$ chmod +x foo
$ tellmeabout foo
foo is an executable file with content:
A
$ hg com -m "base"
$ hg mv foo foo_newloc
$ hg com -m "move"
$ hg up .~1
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo "B" > foo
$ hg com -m "change"
$ hg log -G
@ changeset: 2:a7f7eece6b0c
| tag: tip
| parent: 0:c0233516197f
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: change
|
| o changeset: 1:5f41048406b0
|/ user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: move
|
o changeset: 0:c0233516197f
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: base
$ hg rebase -r 1 -d .
rebasing 1:5f41048406b0 "move"
merging foo and foo_newloc to foo_newloc
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/5f41048406b0-6cf73300-rebase.hg
$ hg up tip
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ tellmeabout foo_newloc
foo_newloc is an executable file with content:
B