远程现场(自定义)开发后自动触发合并活动?
在我们的办公室,我们创建的软件会与工程师和笔记本电脑一起发送到客户的办公室。他们根据客户请求修改客户站点的代码并部署 exe。
当工程师回到办公室时,更改的/最新的代码没有更新到服务器,从而导致我们的开发盒和笔记本电脑上的源代码出现各种问题。
我尝试使用svn之类的版本控制系统,但有时工程师忘记将最新代码更新到svn服务器。有没有一种自动的方式,当笔记本电脑连接到域时,版本控制系统应该自动检查更改并提示用户更新服务器上的代码,或者自动将代码更新到服务器上。
In our office, the software we create is sent to our client's office along with an engineer and a laptop. They modify the code at the customer site, based on the customer requests, and deploy the exe.
When the engineer returns to the office, the changed/latest code is not updated to the server, thereby causing us all sorts of problems in the source code on the development boxes and laptops.
I tried to use a version control system like svn, but sometimes the engineer forgets to update the latest code to the svn server. Is there an automatic way that when the laptop connects to the domain, the version control system should automatically check for changes and prompt the user to update the code on the server, or automatically update the code to the server.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为关键是要求现场工程师在客户现场使用VCS,并将客户现场的代码实际上在返回时重新加载到VCS中作为他们继续雇用的条件到办公室。你可以说,派到现场的工程师需要接受职责培训,他们应该为没有完成完整的工作负责——直到文书工作完成后,工作才算完成(本文中的“文书工作”包括使用客户的软件定制版本更新源存储库)。
在我看来,在这种情况下使用 DVCS(例如 Git 或 Mercurial)可能比 SVN 更好。但是,如果分配到服务器的笔记本电脑具有为自定义工作创建的合适工作副本,您应该能够使用 SVN。
也就是说,问题是“我们能否让这一切变得更容易、更接近自动化”。在某种程度上,这可能取决于您的基础设施 - 它还可能取决于我对此一无所知的 Windows 功能。当笔记本电脑连接到新域时,可能有一种方法可以运行特定的程序。另一种(Unix-ish)方法是使用一些定期调度的作业,例如每小时运行一次,并查看它是否在主域上以及是否有应提交到主存储库的更改。
I think that the key to this is to require the on-site engineers to use a VCS at the customer site, and to make it a condition of their continued employment that the code at the customer site is in fact reloaded into the VCS on return to the office. You could say that the engineers sent on-site need to be trained in their duties, and they should be held accountable for not doing the complete job - the job isn't finished until the paperwork is done (where 'paperwork' in this context includes updating the source repositories with the customer's custom adaptations of the software).
It seems to me that it might be better to use a DVCS such as Git or Mercurial rather than SVN in this context. However, you should be able to work with SVN if the laptop dispatched to the server has a suitable working copy created for the customization work.
That said, the question is "can we make this easier and more nearly automatic". In part, that might depend on your infrastructure - it also might depend on Windows capabilities about which I'm clueless. There might be a way to get a particular program to run when the laptop connects to a new domain. An alternative (Unix-ish) approach would be to use some regularly scheduled job that runs, say, every hour and looks to see whether it is on the home domain and whether there are changes that should be submitted to the main repository.