问题
Is it possible, via TortoiseSVN, to know the SVN rev number you are about to get prior to a commit so that I can put that rev# into the source code comment section?
Perhaps there is a special keyname/variable that I can put into my file that TortoiseSVN will automatically replace with the rev# it's about to commit to?
The motivation behind this is that I can take the latest build and see what SVN rev's it was comprised of by just looking at the source code. It also gives management warm fuzzies.
回答1:
Subversion does support keyword expansion, but you may want to read here before choosing to implementing it.
There are a number of reasons why it's generally a good idea to avoid modifying your committed files with content that is already in SVN. The second link above provides more detail on why this can be a bad idea. But basically, diffs and patches can become problematic.
You also don't need to duplicate the information that Subversion captures because this can be easily obtained via the log command.
回答2:
SVN Special keywords - specifically: "$Revision$"
回答3:
If you're using some sort of build tool to package your code, like Ant, you could include an SVN property query in the build process.
Since I only have experience doing this in Ant, it goes like this:
<svn svnkit="true" javahl="false">
<status path="." lastChangedRevisionProperty="svn.lastRev"/>
</svn>
Once the svn.lastRev property is set, you can inject it into your code comments - maybe via token replacement. I'm not sure if this is exactly what you're looking for. I agree though, it's nice to look at your code and know what SVN rev. it came from.
来源:https://stackoverflow.com/questions/2328724/how-can-i-store-the-new-svn-revision-number-in-my-source-code-after-i-commit-t