Mispelled Uncommitted with one 't'. This patch corrects that.
On Fri, Apr 02, 2010 at 10:36:53AM +0200, Daniel Näslund wrote:
> On Tue, Mar 30, 2010 at 11:04:13PM +0200, Stefan Sperling wrote:
> > On Tue, Mar 30, 2010 at 10:14:42PM +0200, Daniel Näslund wrote:
> > > Ping! This patch has not been reviewed!
> > >
> > > On Sun, Mar 14, 2010 at 09:38:15PM +0100, Daniel Näslund wrote:
> > > > Hi!
> > > >
> > > > The 1.6 svnversion message was "'path' not versioned, and not exported".
> > > > But on trunk more than one message has been changed. My first thought
> > > > was that we should be backward compat in our output but if changes of
> > > > those messages are ok I'm supplying one.
> > > >
> > > > In case we will use new messages, the help text must be updated. It
> > > > talks of 'exported' but those are not used in the new messages.
> > > >
> > > > [[[
> > > > After the changes in r922176, versioned but not yet committed files were
> > > > not properly detected. Fixed now!
> > > >
> > > > * subversion/svnversion/main.c
> > > > (main): Check for invalid rev nr for files and dirs.
> > > >
> > > > * subversion/tests/cmdline/svnversion_tests.py
> > > > (structural_changes): New.
> > > > (tests_list): Add new test.
> > > > ]]]
> > >
> > > > Index: subversion/svnversion/main.c
> > > > ===================================================================
> > > > --- subversion/svnversion/main.c (revision 922931)
> > > > +++ subversion/svnversion/main.c (arbetskopia)
> > > > @@ -290,6 +290,17 @@
> > > > return EXIT_FAILURE;
> > > > }
> > > >
> > > > + if (res->min_rev == -1)
> >
> > s/-1/SVN_INVALID_REVNUM/
>
> Fixed!
>
> > > > + {
> > > > + /* Local uncommited modifications, no revision info was found. */
> > > > + SVN_INT_ERR(svn_cmdline_printf(pool, _("Local uncommitted "
> > > > + "modifications, no
> > > > revision "
> > > > + "information found%s"),
> > > > + no_newline ? "" : "\n"));
> >
> > "No revision information found" sounds a bit like something went
> > wrong, as in, Subversion was looking for information that was
> > expected to be present but it didn't find the information.
> > What about "Uncommitted local addition, copy, or move%s" instead?
>
> I agree with you (user messages is my weak spot). The only cases when we
> can have no revision number but the path is under version control is for
> locally added, copied or moved paths. So we tell the user about it.
>
> Can I have your +1 for commiting?
Index: subversion/tests/cmdline/svnversion_tests.py
===================================================================
--- subversion/tests/cmdline/svnversion_tests.py (revision 930183)
+++ subversion/tests/cmdline/svnversion_tests.py (working copy)
@@ -236,7 +236,36 @@ def svnversion_with_excluded_subtrees(sbox):
svntest.actions.run_and_verify_svnversion("working copy with excluded file",
D_path, repo_url + '/A/D',
[ "1P\n" ], [])
+def structural_changes(sbox):
+ "test 'svnversion' with structural changes"
+ sbox.build()
+ wc_dir = sbox.wc_dir
+ repo_url = sbox.repo_url
+ iota_path = os.path.join(wc_dir, 'iota')
+ iota_copy_path = os.path.join(wc_dir, 'iota_copy')
+
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'cp', iota_path, iota_copy_path)
+
+ svntest.actions.run_and_verify_svnversion("Copied file",
+ iota_copy_path, repo_url +
+ '/iota_copy',
+ [ "Local uncommitted "
+ "modifications, no revision "
+ "information found\n" ], [])
+ C_path = os.path.join(wc_dir, 'A', 'C')
+ C_copy_path = os.path.join(wc_dir, 'C_copy')
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'cp', C_path, C_copy_path)
+
+ svntest.actions.run_and_verify_svnversion("Copied dir",
+ C_copy_path, repo_url +
+ '/C_copy',
+ [ "Local uncommitted "
+ "modifications, no revision "
+ "information found\n" ], [])
+
########################################################################
# Run the tests
@@ -246,6 +275,7 @@ test_list = [ None,
svnversion_test,
ignore_externals,
svnversion_with_excluded_subtrees,
+ structural_changes,
]
if __name__ == '__main__':
Index: subversion/svnversion/main.c
===================================================================
--- subversion/svnversion/main.c (revision 930183)
+++ subversion/svnversion/main.c (working copy)
@@ -290,6 +290,16 @@ main(int argc, const char *argv[])
return EXIT_FAILURE;
}
+ if (res->min_rev == SVN_INVALID_REVNUM)
+ {
+ /* Local uncommited modifications, no revision info was found. */
+ SVN_INT_ERR(svn_cmdline_printf(pool, _("Uncommitted local addition "
+ "copy, or move%s"),
+ no_newline ? "" : "\n"));
+ svn_pool_destroy(pool);
+ return EXIT_SUCCESS;
+ }
+
/* Build compact '123[:456]M?S?' string. */
SVN_INT_ERR(svn_cmdline_printf(pool, "%ld", res->min_rev));
if (res->min_rev != res->max_rev)