当我grep我的Subversion工作副本目录时,结果包括.svn目录中的许多文件.是否可以递归grep目录,但排除.svn目录中的所有结果?
我在我的存储库中手动删除了我刚刚添加的目录.我无法恢复目录.
任何进行更新或提交的尝试都将失败:
"blabla/.svn" containing working copy admin area is missing.
Run Code Online (Sandbox Code Playgroud)
我理解为什么,但无论如何要解决这个问题.
我不想检查整个仓库并手动添加我的更改,这需要几个小时.
我想为一个开源项目提交一个差异供审查.
我使用SVN(来自终端,Ubuntu)获得了代码.我在几个文件中进行了少量编辑.现在我只想提交一个更改.我做的其余更改都是用于调试,不再需要.
我已经生成了差异使用 svn di > ~/os/firstdiff.diff
所以我的问题,如何放弃我的本地更改?
有SVN方式吗?如果没有,我将不得不转到每个文件并删除我的所有编辑.然后我会生成一个新的差异,并提交它.
我正在寻找一种好方法,可以自动将工作副本中的所有未版本控制的文件添加到我的SVN存储库中.
我有一个实时服务器,可以创建一些应该在源代码管理下的文件.我想有一个简短的脚本,我可以自动添加这些脚本,而不是一次一个地添加它们.
我的服务器运行的是Windows Server 2003,因此Unix解决方案不起作用.
使用一般SVN忽略模式的最佳(或尽可能好)是什么?
有许多不同的IDE,编辑器,编译器,插件,平台等特定文件和一些"重叠"的文件类型(即某些类型的项目而不是其他类型的项目).
但是,无论开发环境的具体情况如何,您都希望自动将大量文件类型自动包含在源代码管理中.
这个问题的答案可以作为任何项目的良好起点 - 只要求他们添加他们需要的少数环境特定项目.它也可以适用于其他版本控制系统(VCS).
language-agnostic svn environment version-control development-environment
我有一个如下所示的SVN仓库中的文件,我想恢复到以前的版本.在SVN中执行此操作的方法是什么?我只想将此特定文件降级为旧版本,而不是整个仓库.
谢谢.
$ svn log myfile.py
----------------------
r179 | xx | 2010-05-10
Change 3
----------------------
r175 | xx | 2010-05-08
Change 2
----------------------
r174 | xx | 2010-05-04
Initial
Run Code Online (Sandbox Code Playgroud) 我是Eclipse的新手.我正在使用subclipse连接到我的SVN.有一些文件夹和文件我想添加到svn:ignore,但它是灰色的.是否有一种简单的方法可以让subclipse忽略文件和目录?
我很难找到如何在开发,测试和生产服务器之间管理数据库模式和数据的好例子.
这是我们的设置.每个开发人员都有一个运行我们的app和MySQL数据库的虚拟机.他们的个人沙箱可以随心所欲.目前,开发人员将对SQL模式进行更改,并将数据库转储到他们提交到SVN的文本文件中.
我们希望部署一个始终运行最新提交代码的持续集成开发服务器.如果我们现在这样做,它将从SVN为每个构建重新加载数据库.
我们有一个运行"候选版本"的测试(虚拟)服务器.部署到测试服务器目前是一个非常手动的过程,通常涉及我从SVN加载最新的SQL并进行调整.此外,测试服务器上的数据不一致.您最终得到了最后一个开发人员在沙盒服务器上提供的测试数据.
一切都崩溃的是部署到生产.由于我们无法使用测试数据覆盖实时数据,因此需要手动重新创建所有架构更改.如果有大量的架构更改或转换脚本来操纵数据,这可能会变得非常毛茸茸.
如果问题只是模式,那将是一个更容易解决的问题,但数据库中存在"基础"数据,在开发过程中也会更新,例如安全性和权限表中的元数据.
这是我在实现持续集成和一步构建方面遇到的最大障碍.如何你解决呢?
后续问题:如何跟踪数据库版本,以便了解要运行哪些脚本来升级给定的数据库实例?Lance的版本表是否低于标准程序?
感谢您参考塔伦蒂诺.我不是在.NET环境中,但我发现他们的DataBaseChangeMangement维基页面非常有用.特别是这个Powerpoint演示文稿(.ppt)
我将编写一个Python脚本,它*.sql
根据数据库中的表检查给定目录中脚本的名称,并根据构成文件名第一部分的整数按顺序运行那些脚本.如果这是一个非常简单的解决方案,我怀疑它会是,那么我会在这里发布.
我有一个工作脚本.如果数据库不存在,它会处理初始化数据库并根据需要运行升级脚本.还有用于擦除现有数据库和从文件导入测试数据的开关.这是大约200行,所以我不会发布它(虽然如果有兴趣我可能会把它放在pastebin上).
我意外地将太多文件提交到SVN存储库并更改了一些我不想要的东西.(叹气.)为了将它们恢复到先前的状态,我能想到的最好的是
svn rm l3toks.dtx
svn copy -r 854 svn+ssh://<repository URL>/l3toks.dtx ./l3toks.dtx
Run Code Online (Sandbox Code Playgroud)
哎呀!有没有更好的方法?为什么我不能写这样的东西:
svn revert -r 854 l3toks.dtx
Run Code Online (Sandbox Code Playgroud)
好吧,我只使用v1.4.4,但是我浏览了1.5分支的更改列表,我看不到任何与此直接相关的内容.我错过了什么吗?
编辑:我想我不够清楚.我不认为我想要反向合并,因为那时我会失去我的变化也要打!说fileA
并且fileB
都被修改但我只想提交fileA
; 不小心打字
svn commit -m "small change"
Run Code Online (Sandbox Code Playgroud)
提交这两个文件,现在我想回滚fileB
.反向合并使得这项任务比我上面概述的步骤更容易(据我所知).
我使用svn:externals从另一个SVN存储库中使用了两个SVN项目.
我怎样才能在Git中拥有相同的存储库布局结构?