问题标签 [svn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
8577 浏览

php - 版本控制 PHP Web 项目

我们有一个想要进行版本控制的 PHP 项目。现在,我们三个人正在开发该项目的开发版本,该版本位于一个外部文件夹中,我们所有的 Eclipse IDE 都链接到该文件夹​​中,因此没有版本控制。

对此进行版本控制的正确方法和最佳方法是什么?

我们设置了一个 SVN,但我们只需要找到一种很好的签入和签出方法,以便我们在开发服务器上进行测试。有任何想法吗?

0 投票
6 回答
6315 浏览

svn - 在 Windows 中为 subversion 编写钩子的最佳策略

Windows中为Subversion编写挂钩的最佳方法是什么?据我所知,只能使用可执行文件。那么最好的选择是什么?

  • 普通批处理文件(非常有限,但对于非常简单的解决方案可能还可以)
  • 专用的编译可执行应用程序(大锤破解简而言之?)
  • 其他一些混合选择(例如运行 Powershell 脚本的批处理文件)
0 投票
3 回答
2268 浏览

php - 使用 Subversion 构建 PHP 项目的生产版本

如果您使用 PHP(或者我猜是任何编程语言)并使用 subversion 作为源代码控制,有没有办法让您的项目(例如):

C:\Projects\test\.svn
C:\Projects\test\docs\
C:\Projects\test\faq.php
C:\Projects\test\guestbook.php
C:\Projects\test\index.php
C: \项目\测试\测试.php

并构建/复制/不管它,所以它会清除某些文件并变成:

C:\Projects\test\faq.php
C:\Projects\test\guestbook.php
C:\Projects\test\index.php

自动地?我已经厌倦了创建一个分支,然后遍历分支并删除所有“.svn”文件夹、docs 目录和我的原型文件。

我知道我可能可以使用 .bat 文件来仅复制我想要的特定文件,但我希望有某种方法可以使用 subversion 来伪忽略文件,它仍然会对其进行版本控制,但你可以在哪里制作忽略您告诉它伪忽略的文件的项目快照。

我知道我在网上某处读到了一些功能,这些功能至少可以让您在没有 .svn 文件夹的情况下进行复制,但我现在找不到。

0 投票
13 回答
4296 浏览

svn - 始终使用 SVN 提交相同的文件

在我的 Web 应用程序中,我有一个通过 $Rev$ 保存当前修订号的文件。这工作正常,除非我不对该文件进行任何更改,它不会被提交。

无论如何我可以强制单个文件始终提交给 SVN 服务器吗?

我正在使用适用于 Windows 的 TortoiseSVN,因此任何代码或分步说明都会有所帮助。

0 投票
19 回答
18775 浏览

svn - 您如何处理源代码管理中的配置文件?

假设您有一个典型的 Web 应用程序和一个文件 configuration.whatever。每个从事该项目的开发人员都将有一个用于他们的开发盒的版本,将有一个开发、生产和阶段版本。您如何在源代码管理中处理这个问题?根本不签入此文件,使用不同的名称进行检查或完全做一些花哨的事情?

0 投票
21 回答
80142 浏览

svn - 修复 SVN 校验和

我在 Flex Builder 3 中使用 subclipse,最近在尝试提交时收到此错误:

svn: Checksum mismatch for '/Users/redacted/Documents/Flex Builder 3/path/to/my/file.mxml'; expected: 'f8cb275de72776657406154dd3c10348', actual: 'null'

我通过以下方式解决了它:

  1. 提交所有其他更改的文件,省略麻烦的文件。
  2. 将故障文件的内容复制到 TextMate 窗口
  3. 在 FlexBuilder/Eclipse 中删除我的项目
  4. 从 SVN 检查我的项目
  5. 从 TextMate 窗口复制故障文件的文本
  6. 提交更改。

它有效,但我不禁想到有更好的方法。导致 svn:checksum 错误的实际情况是什么,最好的解决方法是什么。

也许更重要——这是更大问题的征兆吗?

0 投票
16 回答
29890 浏览

svn - Subversion Hooks 的常见类型

人们为 Subversion 使用了哪些类型的钩子脚本?只是一般的想法,但代码也会很棒!

0 投票
14 回答
37583 浏览

mysql - 您如何管理开发、测试和生产中的数据库?

我很难找到关于如何在开发、测试和生产服务器之间管理数据库模式和数据的好例子。

这是我们的设置。每个开发人员都有一个运行我们的应用程序和 MySQL 数据库的虚拟机。这是他们的个人沙盒,可以为所欲为。目前,开发人员将对 SQL 模式进行更改,并将数据库转储到他们提交到 SVN 的文本文件中。

我们希望部署一个始终运行最新提交的代码的持续集成开发服务器。如果我们现在这样做,它将为每个构建从 SVN 重新加载数据库。

我们有一个运行“候选版本”的测试(虚拟)服务器。部署到测试服务器目前是一个非常手动的过程,通常需要我从 SVN 加载最新的 SQL 并对其进行调整。另外,测试服务器上的数据不一致。您最终会得到最后一个开发人员提交的沙盒服务器上的任何测试数据。

一切都崩溃的地方是部署到生产。由于我们无法用测试数据覆盖实时数据,因此这涉及手动重新创建所有架构更改。如果有大量的模式更改或转换脚本来操作数据,这可能会变得非常棘手。

如果问题只是架构,这将是一个更容易的问题,但是数据库中还有在开发过程中更新的“基础”数据,例如安全和权限表中的元数据。

这是我在迈向持续集成和一步构建方面看到的最大障碍。如何解决它?


一个后续问题:如何跟踪数据库版本,以便知道要运行哪些脚本来升级给定的数据库实例?标准程序下方是否有像 Lance 提到的版本表?


感谢您提到塔伦蒂诺。我不在 .NET 环境中,但我发现他们的DataBaseChangeMangement wiki 页面非常有帮助。特别是这个PowerPoint演示文稿(.ppt)

我将编写一个 Python 脚本,*.sql根据数据库中的表检查给定目录中脚本的名称,并根据构成文件名第一部分的整数按顺序运行那些不存在的脚本。如果这是一个非常简单的解决方案,我怀疑它会是,那么我会在这里发布。


我有一个工作脚本。如果数据库不存在,它会处理初始化数据库,并根据需要运行升级脚本。还有用于擦除现有数据库和从文件导入测试数据的开关。大约有 200 行,所以我不会发布它(尽管如果有兴趣我可能会将它放在 pastebin 上)。

0 投票
4 回答
2749 浏览

svn - 与 Subversion 1.5(和 1.4 服务器)的合并非常慢

我在本地从 subversion 1.4 切换到 1.5,我们的服务器仍然运行 1.4。从那时起,每次合并都需要很长时间才能执行。只需要几秒钟的时间现在大约需要 5-10 分钟(或更多)。命令行客户端和乌龟没有区别(所以我们讲windows版本)。

其他人有这种奇怪的现象吗?

0 投票
6 回答
8250 浏览

svn - 使用 SVN 设置持续集成

您会推荐哪些工具来设置 CI 以使用 SVN 进行源代码控制来构建和部署基于 DotNetNuke 构建的多个网站?

我们目前正在考虑配置 Cruise Control 以使用 NAnt、NUnit、NCover 和 Trac 作为测试用例。还有哪些其他组合值得研究?

我们可以完全控制我们的开发环境,因此在这里使用某种形式的 CI 是肯定的,但我也想说服我们的生产服务团队,他们可以使用这些工具可靠地部署到系统测试、uat 甚至生产环境。