搜索
bottom↓
回复: 23

show一下我用的SVN服务器。

[复制链接]

出0入0汤圆

发表于 2009-5-10 17:11:30 | 显示全部楼层 |阅读模式
最近发现自己的代码管理相当混乱,打算作个SVN服务器,论坛中有朋友建议用arm作,我花了一周时间(用了不少以前的项目的代码),总算弄出了个模样。
但是文件系统还没裁剪。

系统包括:
250M的ARM9 cpu。
两个USB 2.0接口
100M网口
32Mddr内存。

为了保证可靠性,我用了两个U盘(每天备份一次)。
先发两张图片和系统制作教程。
主板特写 (原文件名:IMG_2544.JPG)
小型arm9开发板。


挂载了两个U盘后特写 (原文件名:IMG_2547.JPG)
挂载两个U盘后的照片

将arm开发板改造成SVN服务器的教程ourdev_443877.txt(文件大小:7K) (原文件名:jiaochen.txt)

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2009-5-10 17:22:40 | 显示全部楼层
不错...就是怕U盘不可靠...
可靠方面我还是信硬盘...

出0入0汤圆

发表于 2009-5-10 17:55:05 | 显示全部楼层
哈哈,两个U盘加起来就比较可靠了。两个硬盘成本太高啊,我承受不起。

出0入0汤圆

发表于 2009-5-10 20:02:40 | 显示全部楼层
能不能详细介绍下SVN服务器的用途,搭建方法?

出0入0汤圆

 楼主| 发表于 2009-5-10 20:35:04 | 显示全部楼层
下面的文字转载自IBM developer networks.
http://www.ibm.com/developerworks/cn/java/j-subversion/

Subversion 简介

三千年版本控制
        developerWorks
       
       
文档选项
        将打印机的版面设置成横向打印模式       

打印本页
        将此页作为电子邮件发送       

将此页作为电子邮件发送

级别: 中级

Elliotte Harold (elharo@metalab.unc.edu), 副教授, Polytechnic University

2006 年 7 月 06 日

    Elliotte Rusty Harold 介绍了 Subversion —— 一种开放源码、多用户版本控制系统,支持非 ASCII 文本和二进制数据。通过 Elliotte 的介绍,您可看到如何在 Eclipse 中配置 Subversion 支持(通过 Subclipse 插件)、检出一个项目、与您的存储库同步,随后执行一些常用的操作,如合并、修补、比较和删除。

版本控制之于程序员,就好比安全网之于高空秋千表演者。知道安全网就在那里,万一自己摔落它能够提供保护,高空秋千表演者才能放心大胆地在空中飞跃。同样,版本控制使您有能力去冒以往想都不敢想的风险。如果哪儿出了错,您总是可以使自己的代码回复到一个已知的、工作正常的版本。您可以在不触及主干的分支中进行试验,而不会影响到其他小组成员。在已经发布的产品的较老版本中发现 bug 时,您可以轻松检出特定版本,以确认、修订,并生成该 bug 的修补程序。如果没有版本控制,您必须极为慎之又慎,缓慢地推进,总而言之,生产力会更低。

Subversion 是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。不但提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力。此外,它支持非 ASCII 文本和二进制数据,所有这一切都使 Subversion 不仅对传统的编程任务非常有用,同时也适于 Web 开发、图书创作和其他在传统方式下未采纳版本控制功能的领域。

本文介绍了使用 Subversion 追踪项目的基础知识,以使您在编写代码时能够承受更多的风险、享受更多的乐趣。

版本控制简史

当我还是一名刚刚毕业的学生时,我第一次在国家太阳观察站(National SSolar Observatory)接触到了如今版本控制系统的鼻祖 —— SCCS。今天,已经出现了数不胜数的版本控制系统,而 SCCS 也早已被更强大的产品所取代,如 Visual SourceSafe、BitKeeper、Perforce 和开源 CVS(参见 参考资料 部分)。

在开放源码程序员间,CVS 已成为一种事实上的 标准。Codehaus、Sourceforge、Savannah 和 Java™ 社区的 java.net 等站点中驻留的免费 CVS 使得为开源项目建设存储库更为简单。以 CVS 为中心,已发展起一个大型的附件市场,包括 TortoiseCVS、ViewCVS 和 Fisheye 等工具。

与其他版本控制系统相比,CVS 最令人称道的地方就是其非锁定 存储库,这使多个开发人员能够同时检出同一个文件。CVS 在提交时解决冲突问题,这就避免了冲突成为发展的瓶颈。CVS 第二个出色的特性就是它是一种网络存储库。处于许多不同系统上的程序员可以通过公共的 Internet 访问相同的存储库。

逐渐失去优势的 CVS

CVS 在过去的十年中,为社区提供了优质的服务,但它陈旧的劣势开始体现出来。首先,它实际上仅能处理 ASCII 文件。Unicode 文件会令 CVS 严重混乱。此外,CVS 存储库更改起来极为困难。CVS 没有任何关于 “移动” 操作的概念。它只能注意到,一个文件在一处被删除了,而在一个新位置创建了另外一个文件。由于它不会连接两个操作,因此也很容易使文件历史轨迹丢失。设置 CVS 存储库时,您必须非常谨慎地为每个文件选择准确的位置,因为在设置之后,您几乎就要一直使用这个位置了。

CVS 已经不再适合现代开发,这一点越来越明显。特别是 CVS 只能满足老式 C 程序员的 ASCII 需求,而对 Web 开发人员和其他非传统用户来说,CVS 实际上根本不起作用。在您开始考虑存储整个 Web 站点时,在 CVS 中,将文件从一个目录移动到另外一个目录是关键考虑事项。因此,在几年前,许多核心 CVS 开发人员认为,已经到了利用他们多年来使用 CVS 时学到的经验和教训、从头开始创建新一代开放源码存储库的时机。在 2004 年年初,他们的努力结出了丰硕的果实,那就是 Subversion 1.0。

Subversion 的支持与采纳

程序员(特别是那些依赖版本控制的程序员)是一个非常谨慎的群体,Subversion 着实用了很长一段时间,才得到他们的广泛接受。很少有程序员愿意冲在易于流血的最前沿,即便是他们已经因为 CVS 受了伤。甚至是在 Subersion 变得可靠之后,仍然用了好几年的时间,所有第三方编辑器、IDE 和文档规范才相继跟进。而 Subversion 依然在不断改进,BBEdit 和 Eclipse 等第三方工具现在已经有了足够好的 Subversion 支持。逐渐地,新项目也纷纷选择 Subversion 满足其版本控制需求,而老项目正在向 Subversion 移植。最近,Apache Software Foundation 已移植到 Subversion。已实现移植的项目包括 Xerces XML 解析器、Apache HTTP Server 和 Spamassassin。




        回页首


通过 IDE 使用 Subversion

您可通过命令行使用 Subversion,但若将其与您的 IDE 集成更为便捷。IntelliJ IDEA 5.0 及后续版本均包含对 Subversion 的内置支持。NetBeans 还不支持 Subversion,但相关工作已经在开展,未来版本中将提供支持。对于 Eclipse,您需要安装 Subclipse 插件。本文使用 Eclipse 作为 IDE。

Subclipse 的安装与其他 Eclipse 插件类似:

   1. 在 Eclipse 中,选择 Help Software Updates | Find and Install...。

   2. 在向导的第一个面板中,单击 Search for new features to install 单选按钮,并单击 Next。

   3. 在向导的第二个面板中,单击 New Remote Site。输入 Subclipse 作为名称,输入 http://subclipse.tigris.org/update_1.0.x 作为 URL。然后单击 Finish。

      这将启动另外一个小的向导。下一个对话框应为您提供一个可安装的特性 —— Subclipse。选中它并单击 Next。

   4. 接受许可协议,完成安装。

程序包目前未经过数字签名,但只要您是按照第三步的 URL 下载的,就是安全的。
       
Subversion 快捷方式

如果您目前常常使用 Subversion,您可能希望将其添加到 Eclipse 的 New、Open Perspective 和 Show View 菜单中。为此,选择 Window/Customize Perspective... 并在 Shortcut 分类列表中选中 SVN。这将使您可在目前可看到 CVS 的所有菜单中访问 Subversion。

安装程序包后,您必须重新启动 Eclipse,随后才能使用 Subversion。完成之后,您就可以与如今使用 CVS 大体相同的方式使用 Subversion 了,只有为数不多的区别。

检出项目

设置一个新的 Subversion 存储库,特别是网络存储库相对来说较为复杂。但若您正在连接一个现有项目,第一次检出文件就相当轻松。在 File 菜单中选择 New/Other...。这些步骤将为您打开如 图 1 所示的对话框:

图 1. 通过 Subversion 启动一个新项目
通过 SVN 检出项目

接下来,打开 SVN 文件夹,选择 Select Checkout Projects from SVN,并单击 Next 以显示如图 2 所示的对话框:

图 2. Select/Create Location
Select/Create Location

第一次从存储库检出时,您需要选择 Create a new repository location 并单击 Next。这将为您打开如图 3 所示的对话框:

图 3. 为存储库键入 URL
为存储库键入 URL

您在这里提供存储库的 URL。这只是一个普通的 http URL,如 http://svn.apache.org/repos/asf/xerces/java/。这一次单击 Next 时,Eclipse 连接到存储库,并查找可检出的文件夹。通常有三个文件夹:branches、tags 和 trunk,如图 4 所示。Branches 文件夹用于试验。Tags 通常标识较老的、已发布的软件版本。而大多数时候,您都希望在主分支上工作(CVS 称之为 HEAD),因此选择 trunk 并单击 Next。

图 4. 选择要检出的修订版
选择文件夹

您现在有两个选择:Check out as a Project configured using the New Project Wizard 或 Check out as a project in the workspace,如图 5 所示。您可按自己的需要任意选择,您可能希望为项目命名,因为默认名称为 “trunk”。最后,单击 Finish。

图 5. 检出项目的两种方法
检出项目的两种方法

Eclipse 现在从您选择的分支、主干或标记中下载所有源文件。如果您选择的是 Check out as a project in the workspace,则必须完成 Eclipse 的 New Project 向导,以设置编译器级别、项目布局和其他选项。如果您未使用 New Project 向导,则需要手动设置构建路径和其他选项,就像您在自己的文件系统的一个目录中创建了一个项目那样。确实,您所做的与那极为相似。所有文件都是本地存储的。对于构建、运行和调试这样的普通操作,Eclipse 不关心文件是否已为版本控制检出。




        回页首


验证设置

此时,最好进行一次快速、明智的检查,确保您已正确地设置了构建路径。如果没有明显的问题,并且能够运行单元测试,那么即可放心地继续下去了。

如果存在问题,检查项目属性,以确保正确地设置了源路径和类路径。使之差一非常常见,无论是多一还是少一。因此,最终 Eclipse 会认为您的类的名称类似于 src.org.apache.xerces.parsers.SAXParser 或 apache.xerces.parsers.SAXParser,而不是 org.apache.xerces.parsers.SAXParser。在多文件夹项目中,Eclilpse 也常常会错误地将一个数据文件夹标记为源文件夹或遗漏了一个源文件夹。如果发生了以上任何一种小故障,您都必须修复错误,然后才能基础。
       
多文件提交

Subversion 可在一个原子操作中提交数个文件(与之形成对比,CVS 将每一个分开的文件视为一次独立提交)。为此,只需在 Package Explorer 中选择您想提交的所有文件(按住 ctrl 键或 Command 键,然后依次单击所需文件),然后在上下文菜单中选择 Team/Commit... 即可。如果您随后需要取消更改或将存储库回复到特定更改之前的状态,这种方法非常有用。

要检查错误,选择 Project | Properties,然后找到 Java Build Path。您可在 source 选项卡中修订任何向导做错的地方。您可能还要添加另外一个项目需要的 JAR 归档,Eclpse 在检出时不会注意到此归档。您还可在 library 选项卡的 Java Build Path 中添加此归档。

请做好心理准备,您可能要在这里花上一点时间。Eclipse 很少会在第一次就让一切正确无误,每个项目组织其文件和库的方式又总会有所不同。

与存储库同步

接下来您就可以照常编辑文件了。作出您希望的任何更改。运行单元测试。优化代码。更正注释中的拼写错误。完成部分工作后,使用上下文菜单并选择 Team/Commit...。您将看到图 6 所示的对话框,要求您输入提交注释:

图 6. Subclipse 的提交对话框
提交

同样,若其他人更改了您希望应用于您的副本的存储库,只要在 Package Explorer 中选中文件,并从上下文菜单中选择 Team/Update 即可。这会以主副本替换您的副本。




        回页首


合并

如果您已进行了更改,其他开发人员也进行了更改,那么您就必须手动合并文件。对于绝大多数简单更改,Subversion 可推断出需要进行怎样的处理,无需人工干预。但对于较大、较为复杂、存在冲突的更改,您可能需要参与进来,手动合并更改。

Subclipse 在这里可提供一些帮助,但实际上我发现,在一个独立的窗口或选项卡中直接实现一个临时文件副本,通过存储库更新本地副本以覆盖我的更改,然后通过临时副本重新输入更改,这样做往往更容易。若存储库中的更改与我做出的更改相比较少,我就会从存储库实现临时副本,并通过它进行提交,而不是更新。随后我会重新应用那些更改。这听上去非常复杂,但事实通常并非如此,它的发生几率几乎与您希望的一样低。即便是您出了错,忘记重新应用更改或是错误地应用了更改,总是可以找到所有更改的完整历史(包括您覆盖的那些更改)供您参考。实际上您从未彻底丢失任何东西。

如果您不确定已更改了哪些文件,同步视图可以为您显示这些文件。您还可打开标签修饰(label decoration)来查看上次提交/更新后哪些文件发生过更改。选择 Help | Preferences,然后再选择 General/Appearance/Label Decorations。然后选中 SVN 复选框。(实际上该复选框在默认情况下就是选中的。)




        回页首


修补

如果您不具备正在使用的存储库的提交权限,就需要制作一个修补程序,然后将其发送给维护人员。只要选中您希望比较的文件,然后从上下文菜单中选择 Team/Create Patch... 即可。您可以随自己的方便将修补程序保存到文件或剪贴板中。随后可通过电子邮件将其发送给维护人员,或者在 bug 报告中附上该修补程序。修补程序本身采用的格式与 CVS 所使用的 diff 格式相同。

应用他人发送给您的修补程序就没那么复杂了,只要选中您想修补的文件或项目。从上下文菜单中选择 Team/Apply Patch... ,然后平台上惯用的 open file 对话框选择修补程序文件即可。




        回页首


比较

如果您已作出了一些更改,并且希望看看您的副本与存储库中的版本有怎样的差别,只需在上下文菜单中选择 Compare/Latest From Repository 即可。这实际上与 CVS 中比较功能的工作方式完全相同。图 7 显示了比较功能的工作情况:

图 7. 在 Subclipse 中比较两个文件





        回页首


删除

删除文件也很轻松。只要在 Eclipse 的程序包管理器中删除文件,然后提交父文件夹即可。删除目录要略微复杂一点。您可以选择一个目录并删除它。目录中的所有文件将会立即被删除。但在您删除后,目录本身及其所有子目录又会立即出现在原来的位置。要真正地删除一个文件夹,您需要选中 “已删除” 的文件夹并提交它。同一规则也适用于将一个文件从一个位置移动到另外一个位置的情况。
       
小心!

Apache 项目将源代码提交到了不属于自己、现在也无法删除的 Subversion 存储库中,使自己陷入麻烦。Apache 可以隐藏代码,但如果您知道到哪儿去看,您会发现这些代码就在那儿。拥有源代码的人可能是恶意的,也有可能向 Apache 的 ISP 发送一条 DMCA 下线通知,从而使 Apache 脱离 Internet。Apache 惟一的防御措施就是彻底删除其存储库。

在您删除了一个文件或一个文件夹之后,依然可以通过存储库使其还原,即便是已经提交了删除。一旦您将任何内容放进存储库,那么就永远不会真正、永久地失去它,这有时候会产生问题。例如,假设您发现有人意外的检入了其整个主目录,包括其 Quicken 数据文件和所有来自其爱人的情书归档。您很希望能够彻底消除 这些被误提交的文件,这样就不会有其他人得到这些文件。尽管这是一个非同寻常的操作(无论如何,版本控制系统的目的就在于永远地保留每一个文件的每个修订版),但有时也是必要的。令人沮丧的是,Subversion 漏掉了这个重要的特性。

由于没有彻底消除的命令,所以我在为外部可见的存储库使用 Subversion 时非常不安。CVS 也没有这样的命令,但在 CVS 中,您完全有可能在不毁掉存储库的情况下手动删除错误提交的文件。




        回页首


结束语

对于内部存储库,Subversion 提供了远超过 CVS 的改进。如果添加了某种类型的彻底消除功能,它也应同样适于外部存储库。尽管像 Eclipse 这样的工具对 Subversion 的第三方支持还不像 CVS 支持那样普遍,但形势正在迅速地发生变化。Subversion 会成为新项目的默认源代码存储库。尚无源代码控制的现有项目应尽快检入 Subversion。而已有 CVS 存储库的现有项目可能仍在观望,希望等到他们所依赖的全部工具均全面支持 Subversion 后再进行切换。但这些项目最终也会移植到 Subversion。Subversion 中的改进如此显著,令人难以忽略。未来必将属于 Subversion。


参考资料
学习

    * 您可以参阅本文在 developerWorks 全球站点上的 英文原文 。

    * “Sharing code with the Eclipse Platform”(Pawel Leszek,developerWorks,2003 年 3 月):简要介绍了 Eclipse 平台处理源代码版本控制的方式。

    * “利用 PHP 和 Subversion 从零开始创建一个 blog”(Tyler Anderson,developerWork,2006 年 2 月):一份介绍使用 PHP 和 Subversion 进行 Web 开发的教程。

    * “自动进行团队构建和单元测试过程”(Mark Wilkinson,developerWorks,2005 年 10 月):创建一个自动化系统,以使用 CVS 和 Subversion(及其他工具)构建并测试您的源代码。

    * “Pragmatic Version Control using Subversion, 2nd Edition”(Mike Mason,Pragmatic Programmers,2006 年 5 月):全面的 Subversion 用法介绍。

    * Version Control with Subversion(Ben Collins-Sussman,Brian W. Fitzpatrick,C. Michael Pilato;O'Reilly Media)关于 Subversion 的免费在线图书。

    * Sourceforge:为开放源码项目提供免费的 Subversion 宿主。

    * Java 技术专区:数百篇关于 Java 编程各个方面的文章。


获得产品和技术

    * Subversion:针对不同平台的开放源码及二进制版本。

    * Subclipse:Eclipse Subversion 插件。

    * Teepee:NetBeans Subversion 项目。

    * TMate:IntelliJ IDEA Subversion 插件。


讨论

    * developerWorks blogs:加入 developerWorks 社区。

出0入0汤圆

发表于 2009-5-10 21:49:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-5-10 22:01:54 | 显示全部楼层
看看

出0入0汤圆

发表于 2009-5-11 23:00:36 | 显示全部楼层
直接在本机做SVN服务器就可以了嘛.

其实直接装了tortoise svn就可以在要机上使用了,不用专门建SVN服务器.另外eclips有SVN插件.

平时普通的源代码/文档的版本控制(主要是备份和修改的追溯)我还是喜欢用microsoft的visual source safe, VSS 6或是VSS 2005都可以,个人使用的话基本就够用了.如果对源数据放在本机不放心,过一段时间生成一个备份,上传到邮箱就行了.

出0入0汤圆

发表于 2009-5-12 01:20:49 | 显示全部楼层
这个主板貌似是专作网络服控制用的,除了USB和网口貌似没有其它数据接口了。做智能家居的网关不错,很感兴趣,有详细资料吗?

我是PC(win2003)+Laptop(ubuntu8.04),把笔记本当服务器用,省电方便……
发现做服务器还真是linux的强项,跑得几个开源应用速度明显比2003快,而且相当稳定

──────
忘说了,不要对U盘太放心,国产的U盘多数是成品方案,谈不上什么数据安全。
U盘核心是NAND,高可靠性对算法要求高,曾看过一篇国外的文章说要实现这样的高可靠性,至少要arm7甚至cotex核心的处理器才能胜任(我
觉得没那么夸张啊)
所以,用大牌,有保障的精品级行货才成。有没有行内人来揭个密,说说Kingston Sandisk都是怎么解决这些问题的。原来拆过Sony的2GU盘,
里面竟然是台湾的主控+现代的芯片!(声明此U盘是行货正品,非山寨货,当时市价400RMB有余)目前只觉得Kingston的行货盘才能放心点。

不知道LZ在U盘中用了什么文件系统,估计是FAT,很多U盘的主控都为FAT作了优化处理,如果用其它文件系统就又要小心了。

出0入0汤圆

发表于 2009-5-12 08:48:55 | 显示全部楼层
直接在本机做SVN服务器就可以了嘛.

========================================
对啊, 在本机上装个服务器, 装个终端就可以用啦! 而且整个局域网都可以访问, 完全windows界面和操作!

随便说一句, SVN是版本管理器, 不是代码管理器,虽然它的一些功能对代码管理很有帮助, 但真正的代码管理可是个技术活!

出0入0汤圆

 楼主| 发表于 2009-5-12 11:09:56 | 显示全部楼层
恩,SVN是作版本管理的,一般我用SVN做些文档和代码的版本管理。其实如果手头有空闲的机器,完全可以不用这种方案。
但是我手头没有多余的电脑,所以就只好在这里动脑筋了。

这个主板貌似是专作网络服控制用的,除了USB和网口貌似没有其它数据接口了。做智能家居的网关不错,很感兴趣,有详细资料吗?

这个主板确实是作网络控制用的,但是如果只作控制,可以不用这么强的芯片。我们的第一个目标是做成SVN服务器。然后我们将在这个板子上实现
网络视频传输和视频处理技术。diy智能视频监控系统。


下面是这个开发板的连接:
http://item.taobao.com/auction/item_detail.jhtml?item_id=fd07ae72891e7b8cbb465b6b9288b476&x_id=0db1

出0入0汤圆

发表于 2009-5-12 16:35:57 | 显示全部楼层
继续show,SVN的webgui界面:

SVN服务配置界面 (原文件名:svnadmin.jpg)


SVN服务器用户管理界面 (原文件名:svnuseradmin.jpg)

出0入0汤圆

发表于 2009-5-12 16:38:48 | 显示全部楼层
请问楼上的SVN的WEBGUI是自己写的还是?
叫什么名字?  可以在普通的LINUX上面的APACHE里面运行不?

出0入0汤圆

发表于 2009-5-12 16:54:08 | 显示全部楼层
漂亮!!

出0入0汤圆

发表于 2009-5-12 16:58:48 | 显示全部楼层
WebGUI是自己写的。有两套方案。

1. 基于HTML+CGI的模板方案。
2. 基于AJAX+XML的动态网页方案。

方案1和2在apache下均可以运行,而且能够兼容windows和Linux下的IE和Firefox
方案1在嵌入式系统中支持windows和Linux下的firefox
方案2在只支持Linux下的Firefox。

IE这东西很难调试,正在完善中。

出0入0汤圆

发表于 2009-5-12 17:02:34 | 显示全部楼层
强!支持!

出0入0汤圆

发表于 2009-5-12 17:18:37 | 显示全部楼层
继续show下windows下SVN提交和下载的截图:

提交一个文件夹 (原文件名:transmission_import.jpg)


checkout文件夹的内容 (原文件名:checkout.jpg)


更改文件 (原文件名:edit.jpg)


提交更改 (原文件名:commit1.jpg)


输入密码 (原文件名:commit2.jpg)


搞定了 (原文件名:commit3.jpg)

出0入0汤圆

发表于 2009-5-12 17:26:45 | 显示全部楼层
哇!!这个好象很有用处啊!

出0入0汤圆

 楼主| 发表于 2009-5-22 16:29:04 | 显示全部楼层
今天继续修改,完成的发送邮件模块的编写,机器启动后,自动将配置信息发送给指定的邮箱。

发送邮件模块配置 (原文件名:Screenshot.png)

出0入0汤圆

发表于 2010-7-4 20:46:26 | 显示全部楼层
很酷,很酷,如果路由器直接集成插优盘做网络存储+SVN服务器的功能就好了

出0入0汤圆

发表于 2010-7-4 21:30:40 | 显示全部楼层
集中式管理(比如企业里人员集中在一起开发的形式)用svn管理比较方便,权限控制方便;
个人或者开发人员呈大范围分布式,或经常出差中还要开发的,用GIT自由度更高,linux内核开发就是用GIT管理的。
用trac + svn/git管理工程,更规范些。

出0入0汤圆

发表于 2015-7-24 13:45:37 | 显示全部楼层
大神...

收藏...

出0入0汤圆

发表于 2015-7-24 14:01:14 | 显示全部楼层
杠杠的,我的代码也很乱,半路出家,不正宗

出100入101汤圆

发表于 2015-7-25 10:20:45 | 显示全部楼层
关注一下!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-28 07:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表