# HG changeset patch # User Alexis S. L. Carvalho # Date 1184674109 10800 # Node ID be5dc5e3ab2dbb547ea558f65b99d830ee9a72ef # Parent 931f901ab811361aaf0b8b7dd84937a849e31841 hg parents: don't pass an OS-specific path to repo.filectx The only reason to use the matcher code instead of calling util.canonpath directly is to be able to use "path:canonical/path/to/file" patterns. diff -r 931f901ab811 -r be5dc5e3ab2d mercurial/commands.py --- a/mercurial/commands.py Sun Jul 15 14:43:38 2007 -0500 +++ b/mercurial/commands.py Tue Jul 17 09:08:29 2007 -0300 @@ -1978,7 +1978,10 @@ """ rev = opts.get('rev') if file_: - ctx = repo.filectx(file_, changeid=rev) + files, match, anypats = cmdutil.matchpats(repo, (file_,), opts) + if anypats or len(files) != 1: + raise util.Abort(_('can only specify an explicit file name')) + ctx = repo.filectx(files[0], changeid=rev) elif rev: ctx = repo.changectx(rev) else: diff -r 931f901ab811 -r be5dc5e3ab2d tests/test-parents --- a/tests/test-parents Sun Jul 15 14:43:38 2007 -0500 +++ b/tests/test-parents Tue Jul 17 09:08:29 2007 -0300 @@ -1,8 +1,8 @@ #!/bin/sh # test parents command -hg init a -cd a +hg init repo +cd repo echo % no working directory hg parents @@ -25,3 +25,20 @@ echo % hg parents -r 2 a hg parents -r 2 a + +echo % hg parents -r 2 ../a +hg parents -r 2 ../a + +echo '% cd dir; hg parents -r 2 ../a' +mkdir dir +cd dir +hg parents -r 2 ../a + +echo '% hg parents -r 2 path:a' +hg parents -r 2 path:a + +echo '% hg parents -r 2 glob:a' +cd .. +hg parents -r 2 glob:a + +true diff -r 931f901ab811 -r be5dc5e3ab2d tests/test-parents.out --- a/tests/test-parents.out Sun Jul 15 14:43:38 2007 -0500 +++ b/tests/test-parents.out Tue Jul 17 09:08:29 2007 -0300 @@ -26,3 +26,19 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: ab +% hg parents -r 2 ../a +abort: ../a not under root +% cd dir; hg parents -r 2 ../a +changeset: 0:b6a1406d8886 +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: ab + +% hg parents -r 2 path:a +changeset: 0:b6a1406d8886 +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: ab + +% hg parents -r 2 glob:a +abort: can only specify an explicit file name