Noorul Islam K M <noo...@collab.net> writes: > Julian Foad <julian.f...@wandisco.com> writes: > >> On Thu, 2010-12-02, Noorul Islam K M wrote: >> >>> Noorul Islam K M <noo...@collab.net> writes: >>> >>> > When I was trying to come up with a patch for issue 3713, I observed the >>> > following. >>> > >>> > For example I have two files 1.txt and 2.txt in a repository located at >>> > file:///tmp/testrepo >>> > >>> > svn cat behaves differently for local paths and URLs. See the >>> > illustration below. >>> > >>> > noo...@noorul:/tmp/wc/testrepo$ svn cat 1.txt 2.txt >>> > 1 >>> > 2 >>> > >>> > A) Local non-existent target followed by existing target >>> > >>> > noo...@noorul:/tmp/wc/testrepo$ svn cat 3.txt 1.txt >>> > svn: warning: '/tmp/wc/testrepo/3.txt' is not under version control >>> > 1 >>> > >>> > B) Non-existent URL followed by existing URL >>> > >>> > noo...@noorul:/tmp/wc/testrepo$ svn cat ^/3.txt ^/1.txt >>> > >>> > svn: File not found: revision 1, path '/3.txt' >>> > >>> > >>> > In case A, even though the first target was non-existent it performs cat >>> > operation on the second target but in the case of B, svn errors out at >>> > the first failure itself. >>> > >>> > I am not sure about behavior of other svn commands which accepts >>> > multiple targets. When I discussed this Julian in IRC, he said a >>> > discussion is needed to come up with standardized behavior across svn >>> > commands. Any thoughts? >>> > >>> >>> Any updates? >> >> Hi Noorul. >> >> A good way to start a discussion of this sort is to: >> >> list the possible solutions; >> find out and describe how the other subcommands behave; > > I checked 'svn info' and it behaves the same way for both wc and URL. > >> say what you think is good and bad about each possible solution; >> say which solution you think we should choose. >> >> That will make it much easier for readers to respond. > > I figured out that for non-existent URL path, svn_client_cat2 returns > SVN_ERR_FS_NOT_FOUND which needs to be caught by svn_cl__try. Therefore > I passed this code as one the arguments. > > Attached is the patch. All tests pass with this patch. > > Log > > [[[ > Make 'svn cat' not to error out when one of the URL targets do not > exist. > > * subversion/svn/cat-cmd.c > (svn_cl__cat): Pass SVN_ERR_FS_NOT_FOUND to svn_cl__try in order to > catch the error, print warning and proceed with other targets. > > Patch by: Noorul Islam K M <noorul{_AT_}collab.net> > ]]] > > Thanks and Regards > Noorul > > Index: subversion/svn/cat-cmd.c > =================================================================== > --- subversion/svn/cat-cmd.c (revision 1053010) > +++ subversion/svn/cat-cmd.c (working copy) > @@ -78,6 +78,7 @@ > SVN_ERR_UNVERSIONED_RESOURCE, > SVN_ERR_ENTRY_NOT_FOUND, > SVN_ERR_CLIENT_IS_DIRECTORY, > + SVN_ERR_FS_NOT_FOUND, > SVN_NO_ERROR)); > } > svn_pool_destroy(subpool);
Initially this thread was monitored by Julian and now I found out that he is busy. It will be great if someone else can take a look at this one. Thanks and Regards Noorul