[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] move 'svnversion' functionnality in libsvn_wc v3

From: Fabien COELHO <fabien_at_coelho.net>
Date: 2005-11-27 10:22:07 CET

Dear developers,

APPLYING THIS PATCH REQUIRES A PRIOR COPY :

sh> svn cp subversion/svnversion/main.c \
            subversion/libsvn_client/revision_status.c
sh> patch -P0 -i svnversion_wc.patch

This patch moves the 'svnversion' functionnality to libsvn_wc so that
it could be used by other clients such as 'svn'.

This new submission addresses the first set of comments by Julian Foad:
  - no more 'exported' field in result structure.
  - exception used instead to report the 'exported' case.
  - 'touched' field changed back to 'modified'.
  - result structure moved as first argument.
  - string translated to utf8 at API boundary.
  - comments provided on all function parameters.
  - I let the cancelation feature in although they are not used by svnversion.
    It seems reasonnable that the working copy walking may be canceled?
  - no_ignore and config are removed as they are not used (yet?).
    no_ignore being TRUE does not make sense if no details about
    what is found is reported. As for config, I have no opinion,
    it is easy to put it back so that it may be forwarded downwards.
  - program argument array indices are managed correctly (well hopefully).

I'm waiting for the second set of Julian's comments;-)

[[[

  - move 'svnversion' functionnality as a function in libsvn_wc,
    so that it can be used by other client applications,
    eg possibly 'svn' later.
  - there has been a little rewrite of the function so that is just
    uses in libsvn_wc, although the initial implementation was
    based on libsvn_client.
  - 'svnversion' calls the new function, and does not use 'libsvn_client'
    anymore, so the dependency is removed from 'build.conf'.

* subversion/include/svn_wc.h
    (svn_wc_revision_status_t): New structure.
    (svn_wc_revision_status): New function.

* subversion/libsvn_wc/revision_status.c
    New file, implementing svn_wc_revision_status().

* subversion/svnversion/main.c
    (status_baton, analyze_status): Remove.
    (version): Don't require "svn_client".
    (main): Call svn_wc_revision_status() instead of doing the job.

* build.conf
    Remove svn_client from the dependencies of svnversion.

]]]

-- 
Fabien


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Sun Nov 27 10:23:21 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.