[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] Use {git, hg, svn} commit id if available for xen_changeset



On Wed, 2013-05-08 at 12:59 +0100, Andrew Cooper wrote:
> On 08/05/13 12:26, Ian Campbell wrote:
> > On Wed, 2013-05-08 at 12:17 +0100, Andrew Cooper wrote:
> >> On 08/05/13 12:05, Ian Campbell wrote:
> >>> On Wed, 2013-05-08 at 06:42 +0100, Marek Marczykowski wrote:
> >>>> As Xen uses git as primary repository, get git commit id for
> >>>> xen_changeset info.
> >>> I applied this to an hg repo and:
> >>> $ chmod +x xen/tools/scmversion 
> >>> $ rm xen/include/xen/compile.h
> >>> $ make -C xen include/xen/compile.h
> >>> make: Entering directory `/local/scratch/ianc/devel/xen-unstable.hg/xen'
> >>>  __  __            _  _    _____                    _        _     _      
> >>>  \ \/ /___ _ __   | || |  |___ /    _   _ _ __  ___| |_ __ _| |__ | | ___ 
> >>>   \  // _ \ '_ \  | || |_   |_ \ __| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
> >>>   /  \  __/ | | | |__   _| ___) |__| |_| | | | \__ \ || (_| | |_) | |  __/
> >>>  /_/\_\___|_| |_|    |_|(_)____/    \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
> >>>                                                                           
> >>> make: Leaving directory `/local/scratch/ianc/devel/xen-unstable.hg/xen'
> >>> $ grep CHANGESET xen/include/xen/compile.h
> >>> #define XEN_CHANGESET             " 2>/dev/null | tr -d n)"
> >>>
> >>> Same seems to happen for a git repo too so its not VCS specific.
> >>>
> >>> It also happens if I do an actual build rather than forcing things as
> >>> above.
> >>>
> >>> Running scmversion by hand appears to produce good output.
> >>>
> >>> Indentation in svmversion seems a bit off though, e.g. 
> >>> +        printf '%s %s%s' "$date" git: $head
> >>> +
> >>> +               # Is this git on svn?
> >>> +               if git config --get svn-remote.svn.url >/dev/null; then
> >>> +                       printf -- 'svn:%s' "`git svn find-rev $head`"
> >>> +               fi
> >>>
> >>> Seems to be tab vs space related, the printf is space indented and the
> >>> rest is tab indented.
> >>>
> >>> Ian.
> >> Can I please re-request a merge of this change (which in itself is good
> >> and fine) with
> >>
> >> http://lists.xen.org/archives/html/xen-devel/2012-07/msg01886.html
> > I see that Ian J had a comment, was that addressed?
> 
> It was addressed in so far as I stated that it didn't get executed
> multiple times.  The archives seem to have broken the thread of
> conversation, which had an extra back-and-forth on it.

I see it now, the archives break threads over month boundaries :-(

> >
> >> The reason is that the changeset information is *still broken* for an
> >> out-of-scm builds such as RPMs and DEBs.
> >>
> >> I will happily rebase the above path on top of this one, if it is accepted.
> > This patch includes handling of a ".scmversion" file in the tarball.
> > I've no idea how to make git archive generate that but perhaps it would
> > be possible for it to be created as part of our tarball generation
> > process (Ian J CCd) and/or by RPM/DEB packaging.
> >
> > I did think git archive automatically added a .gitarchive file to the
> > output, but my version doesn't seem to do that.
> >
> > If you want to address Ian's concern and rebase that may still be
> > worthwhile.
> >
> > Ian.
> >
> 
> A sample .hg_archival.txt is:
> 
> repo: 6ed20573be52baab95207f52a8d28084f3a1967c
> node: 3a180a46d747dddf77e9bc987f216aaeb84adea7
> branch: default
> latesttag: v2.3.0
> latesttagdistance: 45
> 
> Which is sadly not enough to recreate the <rev>:<shorthash> changeset
> string for HG.
> 
> 
> For the background of this patch, XenServer uses a patchqueue. I have
> specifically listed the base and pq versions separately, as the
> changeset information for an `hg archive` of a base repo with a pushed
> queue is functionally useless after either of the base or patch queue
> gets changed.

With Marek's patch you could write .scmversion into the build tree at
whichever point you would normally override the XEN_CHANGESET variable.

Not that I object to also being able to override the variable.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.