# HG changeset patch # User Laurent Charignon # Date 1430168569 25200 # Node ID e1ec3d075c677c80b575cfae1bb31c4f820c35f7 # Parent d90e50c6e406aeaeb19f78d8b5b8dc95583d4df2 record: fix adding new file with record from within a subdir (issue4626) In my latest change on record (edit newly added file), I forgot the repo.wjoin() so that record was not computing the paths properly to delete the backups and was crashing. diff -r d90e50c6e406 -r e1ec3d075c67 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Mon Apr 27 16:24:43 2015 -0500 +++ b/mercurial/cmdutil.py Mon Apr 27 14:02:49 2015 -0700 @@ -161,7 +161,7 @@ dopatch = fp.tell() fp.seek(0) - [os.unlink(c) for c in newlyaddedandmodifiedfiles] + [os.unlink(repo.wjoin(c)) for c in newlyaddedandmodifiedfiles] # 3a. apply filtered patch to clean repo (clean) if backups: # Equivalent to hg.revert diff -r d90e50c6e406 -r e1ec3d075c67 tests/test-commit-interactive.t --- a/tests/test-commit-interactive.t Mon Apr 27 16:24:43 2015 -0500 +++ b/tests/test-commit-interactive.t Mon Apr 27 14:02:49 2015 -0700 @@ -1463,4 +1463,37 @@ This is the first line This is the second line This is the third line + +Add new file from within a subdirectory + $ hg update -C . + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ mkdir folder + $ cd folder + $ echo "foo" > bar + $ hg add bar + $ hg commit -i -d '23 0' -mnewfilesubdir < y + > y + > EOF + diff --git a/folder/bar b/folder/bar + new file mode 100644 + examine changes to 'folder/bar'? [Ynesfdaq?] y + + @@ -0,0 +1,1 @@ + +foo + record this change to 'folder/bar'? [Ynesfdaq?] y + + $ hg tip -p + changeset: 32:fb46c2a66466 + tag: tip + user: test + date: Thu Jan 01 00:00:23 1970 +0000 + summary: newfilesubdir + + diff -r 34c65441ddfb -r fb46c2a66466 folder/bar + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/folder/bar Thu Jan 01 00:00:23 1970 +0000 + @@ -0,0 +1,1 @@ + +foo + $ cd ..