"D.J. Heap" <djheap@gmail.com> writes:
> > This issue, IMO, is a total bug in VS2005 but MS is saying it is 'by
> > design'. They have broken wildcard quoting in setargv.obj:
> >
> > http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=1c569ad8-7329-4d95-8588-ad6ed08fe988
>
>
> So, due to MS' change in wildcard handling, a few tests fail when
> Subversion is built with VS2005. This patch changes the tests that
> use wildcards in property values to use the -F option rather than pass
> the wildcard directly on the commandline (because VS2005 will always
> expand it).
>
> I don't see a need to do anything more (such as expand wildcards
> ourselves on Win32 or change the property-present-character from * to
> something else) because it only affects passing * or ? in as a
> property value and is easy to workaround using the -F option...
>
> If there are no objections, I'll commit it in a day or two.
+1, and you should bill MS for your time.
Comments below:
> Log message:
>
> Fix tests on Win32 when building with VS2005.
>
> * subversion/tests/svn/revert_tests.py
> (revert_replacement_with_props): Changed propset to use -F option.
>
> * subversion/tests/svn/copy_tests.py
> (copy_replace_with_props): Ditto.
>
> * subversion/tests/svn/stat_tests.py:
> (status_for_unignored_file): Ditto.
>
>
> DJ
>
> Index: subversion/tests/svn/revert_tests.py
> ===================================================================
> --- subversion/tests/svn/revert_tests.py (revision 17597)
> +++ subversion/tests/svn/revert_tests.py (working copy)
> @@ -44,10 +44,14 @@
> wc_dir = sbox.wc_dir
>
> # Set props on file which is copy-source later on
> + prop_path = os.path.join(wc_dir, 'proptmp')
> + svntest.main.file_append (prop_path, '*')
> pi_path = os.path.join(wc_dir, 'A', 'D', 'G', 'pi')
> rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
> svntest.actions.run_and_verify_svn("", None, [],
> - 'ps', 'phony-prop', '*', pi_path)
> + 'ps', 'phony-prop', '-F', prop_path,
> + pi_path)
> + os.remove(prop_path)
> svntest.actions.run_and_verify_svn("", None, [],
> 'ps', 'svn:eol-style', 'LF', rho_path)
>
> Index: subversion/tests/svn/copy_tests.py
> ===================================================================
> --- subversion/tests/svn/copy_tests.py (revision 17597)
> +++ subversion/tests/svn/copy_tests.py (working copy)
> @@ -103,10 +103,14 @@
> wc_dir = sbox.wc_dir
>
> # Set props on file which is copy-source later on
> + prop_path = os.path.join(wc_dir, 'proptmp')
> + svntest.main.file_append (prop_path, '*')
> pi_path = os.path.join(wc_dir, 'A', 'D', 'G', 'pi')
> rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
> svntest.actions.run_and_verify_svn("", None, [],
> - 'ps', 'phony-prop', '*', pi_path)
> + 'ps', 'phony-prop', '-F',
> + prop_path, pi_path)
> + os.remove(prop_path)
> svntest.actions.run_and_verify_svn("", None, [],
> 'ps', 'svn:eol-style', 'LF', rho_path)
>
> Index: subversion/tests/svn/stat_tests.py
> ===================================================================
> --- subversion/tests/svn/stat_tests.py (revision 17597)
> +++ subversion/tests/svn/stat_tests.py (working copy)
> @@ -316,9 +316,11 @@
>
> os.chdir(wc_dir)
> try:
> + svntest.main.file_append ('proptmp', 'new*')
> svntest.main.file_append('newfile', 'this is a new file')
> os.makedirs('newdir')
> - svntest.main.run_svn(None, 'propset', 'svn:ignore', 'new*', '.')
> + svntest.main.run_svn(None, 'propset', 'svn:ignore', '-F', 'proptmp', '.')
> + os.remove('proptmp')
>
> # status on the directory with --no-ignore
> svntest.actions.run_and_verify_svn(None,
You might want to add comments in the test code explaining why we use
-F instead of passing "*" directly with -m. That way it's less likely
to rebreak in the future.
-Karl
--
www.collab.net <> CollabNet | Distributed Development On Demand
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Dec 3 02:54:16 2005