开发者

See when a directory was branched/tagged in SVN

I'm currently working in the rel开发者_Python百科ease process in a large project.

I simply need to know if a directory was modified in the trunk after it was tagged (so we need to make a new tag and release the new version).

I can use TortoiseSVN, CLI and Subclipse.

Tried with revision graph but found nothing useful... (or at least I was unable to use it properly)

Thank you


You need to do it in two steps:

  1. Get the version which was tagged. This can be done by checking the revision of the tag creation, from the commandline use svn info and check last changed rev.
  2. Check for any changes in the source directory after that revision. From the commandline use svn log -r 470:HEAD where 470 is the revision number found in step 1.


I suppose from the root level directory, you could run

svn log path/to/directory --verbose

and should give you a list of all activity on that directory. if you've got a revision number, you could also use that to narrow it down.

http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.log.html


I simply need to know if a directory was modified in the trunk after it was tagged (so we need to make a new tag and release the new version).

This might be of interest to you: Have you thought of using a continuous build system like Jenkins. Every time someone does a commit, Jenkins will run a build.

So, how does this help you? Simple, you can use Jenkins to do tagging and marking a build that it was tagged in right in Jenkins. You can simply look at the project's webpage and see which builds were tagged. If there is a new check-in after the last tagged one, Jenkins will build it. And, you'll see it right in Jenkins. Even better, Jenkins can even automatically tag it for you.

This makes it easy for a developer to see the build, the output of the build, the changes, why those changes took place, and who made the change. If you have a defect tracking system, Jenkins can link to that, update issues that were built, and provide a link to the issue directly from Jenkins.

Jenkins can run and chart testing you do, run development software like Checkstyle and Findbugs(http://findbugs.sourceforge.net/), and even mark builds that fail to live up to your impeccable standards. It'll email the developers after each bad build, so they can take care of the issue.

Jenkins is easy to setup, and simple to administer.

It's not exactly what you asked, but Jenkins may just do the trick.


The only way to know for sure if the current trunk matches a given tag is to run something like svn diff --summarize ^/trunk/ ^/tags/foobar. This is because tags in subersion are nothing more than a naming convention for directories. Any existing tag could represent a combination of multiple revisions, copied from anywhere in the repository.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜