473,804 Members | 3,349 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

subversion revision number string within an application packaged with distutils?

Is there a standard recipe for getting the subversion revision number
into my Python-based application each time I package it up with
distutils? (Not just the package name, but also a string that I will
display in my app's "About" dialog.)

Dec 8 '06 #1
3 2079
At Thursday 7/12/2006 22:49, Jim Tittsler wrote:
>Is there a standard recipe for getting the subversion revision number
into my Python-based application each time I package it up with
distutils? (Not just the package name, but also a string that I will
display in my app's "About" dialog.)
Under CVS, you use keywords like $Id$, $Author$, $Revision$ etc
inside your code, they get expanded like this:

__version__ = '$Revision: 1.8 $'[11:-2]

Subversion uses a similar mechanism but I'm not sure of the spelling.
--
Gabriel Genellina
Softlab SRL

_______________ _______________ _______________ _____
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
Dec 8 '06 #2
Jim Tittsler schrieb:
Is there a standard recipe for getting the subversion revision number
into my Python-based application each time I package it up with
distutils? (Not just the package name, but also a string that I will
display in my app's "About" dialog.)
You can't really use subversion's keyword substitution for that
(contrary to what Gabriel Genellina suggested): a $Revision$
field will only be updated to the revision in which the file
containing it changed. If you want the repository version at
the time of the packaging, you can use the svnversion tool.
On Windows, you can alternatively also use the subwcrev.exe
tool that comes with Tortoise.

If you don't want to invoke an external tool, you could also
retrieve the same information with the subversion Python
bindings.

Regards,
Martin
Dec 8 '06 #3
Jim Tittsler wrote:
Is there a standard recipe for getting the subversion revision number
into my Python-based application each time I package it up with
distutils? (Not just the package name, but also a string that I will
display in my app's "About" dialog.)
Here's how we do it in lxml:

https://codespeak.net/svn/lxml/trunk/versioninfo.py

Stefan
Dec 14 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1389
by: Eric Mathew Hopper | last post by:
I have a patch that allows pydoc to deal with Subversion (http://www.subversion.tigris.org) style version strings. Subversion does not do '$Revsion: num$' style tags. The closest it will get is '$Rev: num$'. So, I included a check for that type as well. It's a patch to this version of pydoc.py __version__ = "$Revision: 1.86.8.1 $"
1
2933
by: Arthur Chereau | last post by:
Hi, I'm trying to setup viewcvs to work with subversion 1.2.0 on Linux with Python 2.4.1. The last viewcvs (from CVS) needs subversion python bindings. I installed swig and built subversion from source with it. Everything works fine until I try to build the Python bindings. When I try "make swig-py" I get the following, Python related, error: # make swig-py
2
514
by: Mark | last post by:
In the AssemblyInfo.cs page of a ASP.NET project, there is a defaulted property of: It's my understanding that this indicates a Major Version of 1, a Minor Version of 0, and a Build and Revision that increment on their own. I could modify the minor and major number above as it made "logical sense". Three related questions:
4
1486
by: Pietro | last post by:
Thanks for the last answer, but now how can i restart the count of the Build and Revision numbers of a dll in VS.Net. Thanks Pietro
4
4899
by: johnk | last post by:
I have a table of items, with revision numbers. I need to extract the items with highest revision number. The items may be listed several times and I don't know what the highest revision number for each item is. How do I do this?
6
1381
by: Jean-François Michaud | last post by:
Hello, I'm having trouble figuring something out. I have to reproduce a PDF output and in the original document, "revision indicators" are used to show which parts of the document have changed since last version. This revision indicator simply looks like a border to the left of the page, but is always located at the same distance from the edge of the page. Ouputing a border on the containing block doesn't work because the blocks are...
2
2796
by: bingomanatee | last post by:
I am working on a project maintained in Subversion (SVN) and using Zend Eclipse. How do you have a zend project that works with subversion within the Eclipse framework? Thanks
0
1468
by: newbie73 | last post by:
OS: Vista Python 2.5.2.2 (ActiveState Software Installation) Running latest Cygwin release The error generated is pasted below - please help. - Luis ***************************************
0
6609
nathj
by: nathj | last post by:
Hi, While I know this is not strictly a Java issue I thought this would be the place to post as I know a lot of Java developers use Eclipse and most likely use SVN and Subclipse. First up here's the error message I receive: RA layer request failed svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'http://10.1.211.2/svn'
0
9705
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9576
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10567
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10323
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10074
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9138
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7613
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5515
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
3
2983
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.