Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Gentoo Development (http://www.linux-archive.org/gentoo-development/)
-   -   Include exact Hg revision data for repeatability from logs. (http://www.linux-archive.org/gentoo-development/417121-include-exact-hg-revision-data-repeatability-logs.html)

"Robin H. Johnson" 08-23-2010 09:23 PM

Include exact Hg revision data for repeatability from logs.
 
The existing EHG_REVISION is the target revision, usually 'tip', so it
doesn't help us reproduce a bug if the upstream tree has moved since log
creation.

Example output:
* Work directory: /var/tmp/portage/.... global id: 44cff02c8042 branch: default

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>

Index: mercurial.eclass
================================================== =================
RCS file: /var/cvsroot/gentoo-x86/eclass/mercurial.eclass,v
retrieving revision 1.12
diff -p -w -b -B -u -r1.12 mercurial.eclass
--- mercurial.eclass 2 Apr 2010 18:29:39 -0000 1.12
+++ mercurial.eclass 23 Aug 2010 21:20:41 -0000
@@ -116,12 +116,20 @@ function mercurial_fetch {
fi

# Checkout working copy:
- einfo "Creating working directory in ${WORKDIR}/${module} (revision: ${EHG_REVISION})"
+ einfo "Creating working directory in ${WORKDIR}/${module} (target revision: ${EHG_REVISION})"
hg clone
${EHG_QUIET_CMD_OPT}
--rev="${EHG_REVISION}"
"${EHG_STORE_DIR}/${EHG_PROJECT}/${module}"
"${WORKDIR}/${module}" || die "hg clone failed"
+ # An exact revision helps a lot for testing purposes, so have some output...
+ # id num branch
+ # fd6e32d61721 6276 default
+ local HG_REVDATA=($(hg identify -n -b -i "${WORKDIR}/${module}"))
+ local HG_REV_ID=${HG_REVDATA[0]}
+ local HG_REV_NUM=${HG_REVDATA[1]}
+ local HG_REV_BRANCH=${HG_REVDATA[2]}
+ einfo "Work directory: ${WORKDIR}/${module} global id: ${HG_REV_ID} branch: ${HG_REV_BRANCH}"
}

# @FUNCTION: mercurial_src_unpack

--
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee & Infrastructure Lead
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85

Krzysztof Pawlik 08-24-2010 05:39 AM

Include exact Hg revision data for repeatability from logs.
 
On 08/23/10 23:23, Robin H. Johnson wrote:
> The existing EHG_REVISION is the target revision, usually 'tip', so it
> doesn't help us reproduce a bug if the upstream tree has moved since log
> creation.
>
> Example output:
> * Work directory: /var/tmp/portage/.... global id: 44cff02c8042 branch: default
>
> Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
>
> Index: mercurial.eclass
> ================================================== =================
> RCS file: /var/cvsroot/gentoo-x86/eclass/mercurial.eclass,v
> retrieving revision 1.12
> diff -p -w -b -B -u -r1.12 mercurial.eclass
> --- mercurial.eclass 2 Apr 2010 18:29:39 -0000 1.12
> +++ mercurial.eclass 23 Aug 2010 21:20:41 -0000
> @@ -116,12 +116,20 @@ function mercurial_fetch {
> fi
>
> # Checkout working copy:
> - einfo "Creating working directory in ${WORKDIR}/${module} (revision: ${EHG_REVISION})"
> + einfo "Creating working directory in ${WORKDIR}/${module} (target revision: ${EHG_REVISION})"
> hg clone
> ${EHG_QUIET_CMD_OPT}
> --rev="${EHG_REVISION}"
> "${EHG_STORE_DIR}/${EHG_PROJECT}/${module}"
> "${WORKDIR}/${module}" || die "hg clone failed"
> + # An exact revision helps a lot for testing purposes, so have some output...
> + # id num branch
> + # fd6e32d61721 6276 default
> + local HG_REVDATA=($(hg identify -n -b -i "${WORKDIR}/${module}"))
> + local HG_REV_ID=${HG_REVDATA[0]}
> + local HG_REV_NUM=${HG_REVDATA[1]}
> + local HG_REV_BRANCH=${HG_REVDATA[2]}
> + einfo "Work directory: ${WORKDIR}/${module} global id: ${HG_REV_ID} branch: ${HG_REV_BRANCH}"
> }
>
> # @FUNCTION: mercurial_src_unpack
>

+1 Robin :) Ship it!

--
Krzysztof Pawlik <nelchael at gentoo.org> key id: 0xF6A80E46
desktop-misc, java, apache, ppc, vim, kernel, python...

Dirkjan Ochtman 08-24-2010 07:18 AM

Include exact Hg revision data for repeatability from logs.
 
On Mon, Aug 23, 2010 at 23:23, Robin H. Johnson <robbat2@gentoo.org> wrote:
> Index: mercurial.eclass
> ================================================== =================
> RCS file: /var/cvsroot/gentoo-x86/eclass/mercurial.eclass,v
> retrieving revision 1.12
> diff -p -w -b -B -u -r1.12 mercurial.eclass
> --- mercurial.eclass * *2 Apr 2010 18:29:39 -0000 * * * 1.12
> +++ mercurial.eclass * *23 Aug 2010 21:20:41 -0000
> @@ -116,12 +116,20 @@ function mercurial_fetch {
> * * * *fi
>
> * * * *# Checkout working copy:
> - * * * einfo "Creating working directory in ${WORKDIR}/${module} (revision: ${EHG_REVISION})"
> + * * * einfo "Creating working directory in ${WORKDIR}/${module} (target revision: ${EHG_REVISION})"
> * * * *hg clone
> * * * * * * * *${EHG_QUIET_CMD_OPT}
> * * * * * * * *--rev="${EHG_REVISION}"
> * * * * * * * *"${EHG_STORE_DIR}/${EHG_PROJECT}/${module}"
> * * * * * * * *"${WORKDIR}/${module}" || die "hg clone failed"
> + * * * # An exact revision helps a lot for testing purposes, so have some output...
> + * * * # id * * * * * num *branch
> + * * * # fd6e32d61721 6276 default
> + * * * local HG_REVDATA=($(hg identify -n -b -i "${WORKDIR}/${module}"))
> + * * * local HG_REV_ID=${HG_REVDATA[0]}
> + * * * local HG_REV_NUM=${HG_REVDATA[1]}
> + * * * local HG_REV_BRANCH=${HG_REVDATA[2]}
> + * * * einfo "Work directory: ${WORKDIR}/${module} global id: ${HG_REV_ID} branch: ${HG_REV_BRANCH}"
> *}

I'd leave out the HG_REV_NUM, it doesn't mean much anyway (since it is
local to a repository, it can easily change).

Cheers,

Dirkjan

"Robin H. Johnson" 08-24-2010 04:53 PM

Include exact Hg revision data for repeatability from logs.
 
On Tue, Aug 24, 2010 at 09:18:02AM +0200, Dirkjan Ochtman wrote:
> I'd leave out the HG_REV_NUM, it doesn't mean much anyway (since it is
> local to a repository, it can easily change).
Ok, dropped that and committed the rest.

--
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee & Infrastructure Lead
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85


All times are GMT. The time now is 12:52 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.