Forum Home
Press F1
 
Thread ID: 81119 2007-07-17 07:42:00 Subversion 'automatic version file' Erayd (23) Press F1
Post ID Timestamp Content User
569634 2007-07-17 07:42:00 I am trying to generate a 'version' file in the root of my repository, which contains only the current revision of my repository - nothing else. I would like this file to auto-update each time I commit, but don't have the first clue where to start. Any ideas?

Cheers,
Bletch
Erayd (23)
569635 2007-07-17 11:33:00 You can install a series of hooks in the backend but this is a fairly difficult thing to do. You can't really identify the number for sure until after it has been committed and after that you can't add a file to an existing commit. If you're using a build system such as make then you could build a script in to your packaging tasks which generate such a file.

What was the specific reason?
TGoddard (7263)
569636 2007-07-17 11:54:00 You can install a series of hooks in the backend...I already have hooks in my backend ;). I use them for things like auto-building tarballs and making sure the live version of ChatF1 on thingy's server gets updated immediately after every commit.

You can't really identify the number for sure until after it has been committed...I am aware of this.

...and after that you can't add a file to an existing commit.Adding a file after commit is precisely what I want to do, but it requires tampering with the internal structure of my repository, and I don't currently have the knowledge to do so.

If you're using a build system such as make then you could build a script in to your packaging tasks which generate such a file.Unfortunately I'm not using make - ChatF1 is written in PHP & Javascript, both of which are interpreted languages and therefore don't need building.

What was the specific reason?Currently ChatF1 gets its version number from the local subversion metadata, however this causes any release installed from the tarball to break, as the tarball doesn't contain any of the subversion stuff. Because of this, I just want to store the version in a check-outable file (so that it will auto-build with the tarball).

Currently I am creating the file in my post-commit hook and building it into the tarball, but this means that the file must be manually created for all subversion checkouts.
Erayd (23)
569637 2007-07-18 23:46:00 Bump. Erayd (23)
569638 2007-07-19 00:02:00 Bletch what the heck is this subversion stuff about?

I have seen it on the web yet never got my head around what it is and how do you use it.
netchicken (4843)
569639 2007-07-19 01:26:00 It's a system for managing source code in software development. You "check out" the code, make changes then check it back in. The same repository can be shared by multiple developers and it reduces the risk of one developer overwriting another's changes. It also provides the abilty to go "back in time" and recover deleted or overwritten files, as it keeps a complete history. Nermal (7077)
569640 2007-07-19 05:43:00 This (http://subversion.tigris.org/) is the main subversion site - it explains things reasonably well. Subversion is similar to CVS, but a lot better in my opinion. Nermal explained things pretty well, although it offers a lot more than just what he described.

All the source for ChatF1 is kept in a subversion repository on a dreamhost server in the states.
Erayd (23)
569641 2007-07-19 07:27:00 Subversion? like this? (www.theforbiddenknowledge.com/hardtruth/america_subversion_index.htm) Graham L (2)
569642 2007-07-19 11:05:00 LOL :D

Not quite what I had in mind... :rolleyes:
Erayd (23)
569643 2007-07-20 01:29:00 Nermal explained things pretty well, although it offers a lot more than just what he described.

It wasn't my intention to write a novel :)
Nermal (7077)
1 2