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

Re: [Xen-devel] Changeset / commit id not incorporated in build after switch to git



Tuesday, February 26, 2013, 11:20:07 AM, you wrote:

> On Mon, 2013-02-25 at 23:00 +0000, Sander Eikelenboom wrote:
>> Hello Sander,

> Talking to yourself is a sign of something or other I think ;-)

primarily hitting the send button a bit before my thoughts actually ended :-p 
(at least i hope)


>> Monday, February 25, 2013, 11:28:53 PM, you wrote:
>> 
>> > Date: Mon, 25 Feb 2013 23:28:53 +0100
>> > From: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
>> > Organization: Eikelenboom IT services
>> > X-Priority: 3 (Normal)
>> > Message-ID: <1208255021.20130225232853@xxxxxxxxxxxxxx>
>> > To: xen-devel <xen-devel@xxxxxxxxxxxxx>
>> > Subject: Changeset / commit id not incorporated in build after switch to 
>> > git
>> > MIME-Version: 1.0
>> > Content-Type: text/plain; charset=us-ascii
>> > Content-Transfer-Encoding: 7bit
>> 
>> > Hi All,
>> 
>> > After the switching from mercurial to git, the changeset isn't 
>> > incorporated anymore in the build.
>> > This makes error reports possibly a bit less verbose (xl dmesg, serial 
>> > logs and xl info now omit the changeset (or commit) info)
>> 
>> > Git doesn't have the concept of changesets afaik and mercurial is, while 
>> > deprecated, still used as mirror.
>> 
>> > So what would be wise:
>> >    - just replace the changeset with the git commit sha-1 hash (always)
>> >    - use changeset when a mercurial tree is detected or the last git 
>> > commit sha-1 (and date ?) when a git tree is detected
>> >    - make a separate "commit" entry besides the changeset and leave one 
>> > undefined
>> 
>> > xen/Makefile currently has:
>> 
>> > # compile.h contains dynamic build info. Rebuilt on every 'make' 
>> > invocation.
>> > include/xen/compile.h: include/xen/compile.h.in .banner
>> >         @sed -e 's/@@date@@/$(shell LC_ALL=C date)/g' \
>> >             -e 's/@@time@@/$(shell LC_ALL=C date +%T)/g' \
>> >             -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
>> >             -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
>> >             -e 's/@@hostname@@/$(shell hostname)/g' \
>> >             -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | 
>> > head -1)!g' \
>> >             -e 's/@@version@@/$(XEN_VERSION)/g' \
>> >             -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
>> >             -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
>> >             -e 's!@@changeset@@!$(shell ((hg parents --template 
>> > "{date|date} {rev}:{node|short}" >/dev/null && hg parents --template 
>> > "{date|date} {rev}:{node|short}") || echo "unavailable") 2>/dev/null)!g' \
>> >             < include/xen/compile.h.in > $@.new
>> >         @grep \" .banner >> $@.new
>> >         @grep -v \" .banner
>> >         @mv -f $@.new $@
>> 
>> > --
>> > Sander
>> 
>> 
>> 
>> Perhaps use about the same as linux has in scripts/setlocalversion ?

> This is what I was going to suggest. Actually, I had it in mind we
> already did something like!

> Anyway, I think including whatever information the VCS we are building
> from supplied is the right answer and the way Linux does it seems useful
> and appropriate (e.g. using the tag name, appending -dirty etc).

> If we can also extend that to do something sensible in the tarball case
> then even better!

Not much info to get form a extracted tarball i'm afraid ?
Or one should include some extra versioning in the tarball itself and in that 
case you don't know if its "dirty" or not, just a "based on tarball with 
changeset/commit"

Since in that case it will describe something more/else than a mecurial 
changeset,
question is should the name "changeset" also be replaced by some more general 
naming ?



> 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®.