Doug Klima wrote:
Doug Klima wrote:
Doug Klima wrote:
Bo Ørsted Andresen wrote:
For quite a while the KDE herd has had a modified version of
subversion.eclass in the kde overlay. During that time we have
added the following features to the eclass which we would like to
put back in gentoo-x86 soon. Since the changes are fairly extensive
we decided to send it to this list for review first.
1) ESVN_REVISION (before this people had to use ESVN_OPTIONS for
this purpose).
2) ESVN_OFFLINE which disables svn up.
3) ESVN_UP_FREQ which uses GNU find to determine if the specified
number of hours has passed and only do svn up if it has. This is
currently used in the kde4svn-meta eclass for split kde ebuilds
that use the same checkout of each module.
4) ESCM_LOGDIR for logging which revisions packages get installed
with. See [1]. Users need to explicitly enable this feature to use it.
Other than this the eclass has been documented for use with
eclass-manpages.
[1] http://thread.gmane.org/gmane.linux.gentoo.devel/54233
ok. Well zlin and I have been talking lately and we've hammered out
his proposed changes and mine. I'm attaching a patch for the first
set of changes I have proposed.
Attached is a patch for the following:
- use $ECLASS
- adding rsync to deps
- fixing some quoting
- remove multiple subshell calls and problematic to upper usage (bug
#s escape me right now)
- provide some more information about the working copy that will be
used in the future.
- supporting svn switch
The most important being the svn switch functionality.
Please review for commit.
And the eclass-manpages documentation broken out into it's own patch.
Please review for commit.
Here's a patch that implements the ESVN_REVISION variable. It finally
removes all the problematic to_upper usage. It builds off the previous
patches that make the official way for an ebuild to pass the revision
it wants via the ESVN_REPO_URI. It ewarn's if an ebuild tries to stick
a revision into ESVN_OPTIONS. It prints out the revision that it's
going to be pulling. This was the issue I had with zlin's original
patch since it would break for the MythTV ebuilds since we request the
revision in the ebuild.
Here's another patch in the series.
This patch will skip running svn update when it's unnecessary. Basically
if your local working copy is the same URI and same revision, it won't
run svn update which should speed up emerge times for those svn KDE
users that specify a revision they're looking to use. Also MythTV users
that re-emerge with different use flags.
--- subversion-3.eclass 2008-02-20 11:07:57.000000000 -0500
+++ subversion-4.eclass 2008-02-20 11:14:23.000000000 -0500
@@ -222,14 +222,14 @@
if [ "${ESVN_WC_URL}" != "$(subversion__get_repository_uri "${repo_uri}")" ]; then
einfo "subversion switch start -->"
- einfo " old repository: ${ESVN_WC_URL}"
+ einfo " old repository: [EMAIL PROTECTED]"
einfo " new repository: ${repo_uri}${revision:[EMAIL PROTECTED]"
debug-print "${FUNCNAME}: ${ESVN_SWITCH_CMD} ${options}"
cd "${wc_path}" || die "${ESVN}: can't chdir to ${wc_path}"
${ESVN_SWITCH_CMD} ${options} ${repo_uri} || die "${ESVN}: can't switch to ${repo_uri}."
- else
+ elif [ "${ESVN_WC_REVISION}" -ne "${revision}" ]; then
# update working copy
einfo "subversion update start -->"
einfo " repository: ${repo_uri}${revision:[EMAIL PROTECTED]"
@@ -238,6 +238,8 @@
cd "${wc_path}" || die "${ESVN}: can't chdir to ${wc_path}"
${ESVN_UPDATE_CMD} ${options} || die "${ESVN}: can't update from ${repo_uri}."
+ else
+ einfo "subversion update skipped. local copy is at requested revision"
fi
fi