rendered paste body
$ hg init hg-parent
$ cd hg-parent
$ mkdir dir
$ cd dir
$ cat <<EOF >a.c
> #include <stdio.h>
> int main() {printf("hello world");}
> EOF
$ hg add a.c
$ hg commit -m "Added a.c"
$ cd ../..
$ hg clone hg-parent hg-child
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd hg-child/dir
$ cc a.c
$ cd ../../hg-parent
$ hg rename dir newdir
copying dir/a.c to newdir/a.c
removing dir/a.c
$ hg commit -m "Renamed dir->newdir"
$ cd ../hg-child
$ hg pull -u
pulling from /home/stevel/hg-parent
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
not in dirstate: dir/a.out!
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ cd newdir
$ cc a.c
$ hg st
M newdir/a.out