查看目录何时在 SVN 中分支/标记

发布于 2024-11-17 02:50:51 字数 197 浏览 3 评论 0原文

我目前正在一个大型项目的发布过程中工作。

我只需要知道主干中的目录被标记后是否被修改(因此我们需要创建一个新标签并发布新版本)。

我可以使用 TortoiseSVN、CLI 和 Subclipse。

尝试使用修订图,但发现没有任何用处......(或者至少我无法正确使用它)

谢谢

I'm currently working in the release 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

家住魔仙堡 2024-11-24 02:50:51

您需要分两步完成:

  1. 获取已标记的版本。这可以通过检查标签创建的版本来完成,从命令行使用 svn info 并检查上次更改的版本。
  2. 检查修订后源目录中的任何更改。从命令行使用 svn log -r 470:HEAD ,其中 470 是在步骤 1 中找到的修订号。

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.
尴尬癌患者 2024-11-24 02:50:51

我想从根级别目录中,您可以运行

svn log path/to/directory --verbose

并应该为您提供该目录上所有活动的列表。如果您有修订号,您也可以使用它来缩小范围。

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

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

嘿嘿嘿 2024-11-24 02:50:51

我只需要知道一个目录在被标记后是否在主干中被修改(因此我们需要制作一个新标签并发布新版本)。

您可能对此感兴趣:您是否考虑过使用像 Jenkins 这样的持续构建系统。每次有人进行提交时,詹金斯都会运行一次构建。

那么,这对您有什么帮助呢?很简单,您可以使用 Jenkins 来标记和标记在 Jenkins 中标记的构建。您可以简单地查看项目的网页并查看哪些构建被标记。如果在最后一次标记后有新的签入,Jenkins 将构建它。而且,您会在 Jenkins 中看到这一点。更好的是,Jenkins 甚至可以自动为您标记它。

这使得开发人员可以轻松查看构建、构建的输出、更改、发生这些更改的原因以及进行更改的人。如果您有缺陷跟踪系统,Jenkins 可以链接到该系统,更新已构建的问题,并直接从 Jenkins 提供问题的链接。

Jenkins 可以运行您所做的测试并绘制图表,运行 Checkstyle 和 Findbugs(http://findbugs.sourceforge) 等开发软件.net/),甚至标记无法达到您无可挑剔的标准的构建。每次错误构建后,它都会向开发人员发送电子邮件,以便他们解决问题。

Jenkins 易于设置且易于管理。

这不完全是你问的,但詹金斯可能只是做的伎俩。

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.

红焚 2024-11-24 02:50:51

确定当前主干是否与给定标签匹配的唯一方法是运行 svn diff --summarize ^/trunk/ ^/tags/foobar 之类的命令。这是因为 subersion 中的标签只不过是目录的命名约定。任何现有标签都可以代表从存储库中的任何位置复制的多个修订的组合。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文