我正在研究的一个SVN项目(通过git-svn)经常创建分支,然后用trunk重新整合,然后删除.
现在该项目有大约10个尚未删除的分支,但在git中,git branch -r显示大约50个.
我可以一次删除这些,检查它们是否仍然存在于svn存储库中,但它是缓慢而乏味的.有没有办法将我的git远程分支列表与svn repo同步?
我正试图在php项目中提出(或找到)可重用的数据库模式版本控制系统.
有许多可用于PHP的Rails风格的迁移项目.http://code.google.com/p/mysql-php-migrations/就是一个很好的例子.它使用时间戳作为迁移文件,这有助于分支之间的冲突.
这种系统的一般问题: 当检查开发分支A,而你想要检查分支B时,B可能有新的迁移文件.这很好,迁移到更新的内容是直截了当的.
如果分支A具有较新的迁移文件,则需要向下迁移到最近的共享修补程序.如果分支A和B具有明显不同的代码库,则可能必须进一步向下迁移.这可能意味着:签出B,确定共享补丁号,签出A,向下迁移到此补丁.这必须从A完成,因为实际应用的补丁在B中不可用.然后,结帐分支B,并迁移到最新的B补丁.从B到A时再次反向处理.
建议的系统: 当向上迁移时,不是仅存储补丁版本,而是将整个补丁序列化在数据库中供以后使用,尽管我可能只需要down()方法.更改分支时,将已运行的修补程序与目标分支中可用的修补程序进行比较.通过ID或散列确定运行补丁的db表与目标分支中的补丁之间最近的共享补丁(或最旧的差异).还可以查找隐藏在两个分支之间的多个共享补丁下的新补丁或缺失补丁.
使用db表存储的down()方法自动合并到最近的共享补丁,然后合并到branche的最新补丁.
我的问题是: 这个系统是否过于疯狂和/或充满了影响发展的后果?我对数据库模式版本控制的经验仅限于PHP autopatch,这是一个仅限up()的系统,需要带有顺序ID的文件名.
这是一篇很老的帖子,但我想提一下,我在开发过程中一般都放弃了迁移,因为它们不必要地复杂且容易出错.
相反,我使用构建脚本:
更改分支或从其他开发人员接收更新时,使用一个命令完全重新加载数据库以进入已知状态.
生产服务器仍然需要数据库补丁,但无论如何都必须手动创建.
我想在我的{{#each}}模板块中使用视图助手,而不使用全局路径(我的控制器创建并销毁自己的视图).
例子.给定具有myList数组属性的视图和itemButton子视图:
这会奏效
<script type="text/x-handlebars" name="my-list-view">
{{#each myList}} <!-- App.myListView.myList -->
{{view App.myListView.itemButton}} {{title}}
{{/each}}
</script>
Run Code Online (Sandbox Code Playgroud)
这不会:
<script type="text/x-handlebars" name="my-list-view">
{{itemButton}} <!-- works fine outside the each -->
{{#each myList}}
{{view itemButton}} {{title}} <!-- itemButton view not found -->
{{/each}}
</script>
Run Code Online (Sandbox Code Playgroud)
我似乎无法从每个视图助手访问父视图(或者实际上访问除了被迭代的对象的属性之外的任何东西).
我提出的hacky解决方法是:
要么
要么
这两个选项看起来都很糟糕.当然,除了创建2个新类(并且深度嵌套4个视图)之外,还有一个更好的选择,只是迭代一个列表.我可以使用替换车把帮手吗?
http://jsfiddle.net/FQEZq/3/ 缺点:必须将视图添加到每个模型实例,仅用于迭代.
http://jsfiddle.net/ST24Y/1/ 缺点:现在您有两个额外的视图,您不需要/想要,并且对标记的控制较少.从子视图到父实例的引用现在需要parentView.parentView.parentView.
我在 Web 服务器上有一个 php 脚本,它通过 ftp_put 将文件上传到另一个远程服务器。
如何向用户显示当前的上传进度?
我见过的唯一类似的系统是从用户上传文件,使用 ajax 请求检查服务器上上传文件的本地大小。
等效的系统将是对 Web 服务器的 ajax 请求,然后检查远程服务器上的文件大小并将该数据返回到用户的客户端脚本。
这对我来说似乎非常低效。有没有更好的办法?
我正在尝试重新构建ember.js应用程序的紧密耦合部分,特别是控制器的视图和模板.
我见过的所有示例都直接将视图绑定到视图的类定义中的控制器,或者将(全局)控制器路径传递给模板本身的视图.
我认为TargetActionSupport mixin(sproutcore中的DelegateSupport)似乎是一个很好的候选者,但仍然需要在模板本身中设置目标(控制器)和动作.
理想情况下,我想在我的控制器(以某种方式)实例化我的视图,设置目标和操作,还在我的模板中设置表示变量(例如:静态类,id),但我不确定如何完成这个,或者这是否是正确的方法.