Hệ thống quản lý phiên bản dự án phần mềm Subversion

38 1.3K 8
Hệ thống quản lý phiên bản dự án phần mềm Subversion

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hệ thống quản lý phiên bản dự án phần mềm Subversion

Hệ thống quản phiên bản dự án phần mềm SubversionDanh sách thành viên:Nguyễn Khắc TrọngPhạm Duy SơnDương Văn Tuyến Nội dung đề tàiGiới thiệu về Subversion.So sánh Subversion với các hệ thống quản phiên bản khác như CVS, GIT, …Các Subversion Server và Subversion Client.Giới thiệu về công cụ Subversive trong phần mềm mã nguồn mở Eclipse.Ứng dụng Subversion vào quản một dự án phần mềm.Tổng kết, đánh giá, triển vọng và hướng phát triển của Subversion và công cụ Subsersive. Giới thiệu SubversionSubversion (viết tắt SVN) là một hệ thống quản version (version control system - VCS) được giới thiệu vào năm 2000 bởi công ty CollabNet (http://subversion.tigris.org). Đây là hệ thống hỗ trợ làm việc theo nhóm rất hiệu quả.Khi một nhóm làm việc trên cùng một project, việc nhiều người cùng chỉnh sửa nội dung của một file là điều không thể tránh khỏi. SVN cung cấp các chức năng để có thể thực hiện việc này một cách đơn giản và an toàn. Subversion được thiết kế với mục đích thay thế hệ thống quản phiên bản Concurrent Versioning System (CVS) đã cũ và có nhiều nhược điểm. Subversion có thể được sử dụng để quản bất cứ hệ thống phiên bản nào.Subversion là hệ thống quản source code tập trung (Centralized).Subversion là hệ thống quản phiên bản mạnh mẽ, hữu dụng, và linh hoạt.Subversion quản tập tin và thư mục theo thời gian. SVN giống như một hệ thống file server mà các client có thể download và upload file một cách bình thường. Điểm đặt biệt của SVN là nó lưu lại tất cả những gì thay đổi trên hệ thống file: file nào đã bị thay đổi lúc nào, thay đổi như thế nào, và ai đã thay đổi nó. SVN cũng cho phép recover lại những version cũ một cách chính xác. Các chức năng này giúp cho việc làm việc nhóm trở nên hiệu quả và an toàn hơn rất nhiều.Thông thường, client và server kết nối thông qua mạng LAN hoặc Internet. Client và server có thể cùng chạy trên một máy nếu SVN có nhiệm vụ theo vết lịch sử của dự án do các nhà phát triển phần mềm phát triển trong nội bộ. Subversion hỗ trợ khá nhiều giao thức để kết nối giữa client và server. Ví dụ bạn có thể dùng các giao thức của ứng dụng web như http:// hoặc https://, hay các giao thức của svn như svn:// hoặc svn+ssh://, hoặc nếu phần mềm client và server cài chung trên 1 máy thì có thể dùng file://. Việc cho phép server hỗ trợ giao thức nào phụ thuộc vào lúc cấu hình. Một số khái niệm cơ bảnSubversion dựa trên mô hình quản lí tập trung kiểu client/server. Mô hình này có 2 khái niệm cơ bản: Repository và Working Copies.-Repository đặt ở server là nơi tập trung quản các phiên bản của dự án phần mềm.Các thư mục và tập tin của dự án được đặt vào trong kho lưu trữ trung tâm này. Nó giống như một máy chủ tập tin thông thường, ngoại trừ việc nó ghi lại được mọi thông tin thay đổi theo thời gian của hệ thống tập tin và thư mục. Repository cho phép khôi phục lại phiên bản cũ của dữ liệu, hoặc kiểm tra lịch sử của dữ liệu thay đổi như thế nào.-Working Copies đặt ở client là các phiên bản làm việc copy của các tập tin trong repository.Repository thì chỉ có một, trong khi working copies có thể có nhiều (tương ứng với repository đó). [...]...  Git được đánh giá là khó sử dụng hơn CVS và SVN 3 Các hệ thống quản phiên bản khác  Mercurial: là hệ thống quản phiên bản mã nguồn mở, giống như GIT, nhưng đơn giản hơn nhiều Mercurial được thiết kế để sử dụng cho các dự án lớn  Bazzar: là hệ thống quản phiên bản phân tán, như GIT và Mercurial, được đánh giá là khá thân thiện với người dùng, có khả năng quản bất kỳ dự án nào  LibreSource:... commit, nhưng toàn bộ hệ thống tập tin của Repository sẽ có cũng một con số revision Minh họa về các revision của một Repository So sánh Subversion với các hệ thống quản phiên bản khác 1 CVS (Concurrent Versions System)  CVS (Concurrent Versions System) tương tự như SVN là mô hình mô hình quản source code tập trung (Centralized)  CVS ra đời năm 1986, là hệ thống quản phiên bản đầu tiên, sau... quản nhiều dự án cộng tác với nhau, được thiết kế cho những người dùng không cần có nhiều hiểu biết về kỹ thuật, công nghệ  Monotone: là một nhánh nhỏ của hệ thống quản phân tán, ít phổ biến hơn các hệ thống khác SVN Server và SVN Client 1 SVN Server Các SVN Server có thể được đặt trên máy local hoặc các máy chủ trên Internet Có khá nhiều phần mềm và dịch vụ miễn phí cho SVN Server  .Phần mềm: ... giao thức này được dựa trên HTTP và HTTPS cung cấp cho người dùng một tùy chọn để kết nối với các SVN qua web  Về mặt cơ bản cả 2 đều hoạt động như nhau: tất cả source code sẽ được đặt trên 1 server trung tâm, mọi thành viên đều làm việc trên source code đó So sánh Subversion với các phương pháp quản phiên bản khác 2 GIT  GIT là một phương pháp quản phiên bản theo hướng phân tán (Distributed),... phương pháp quản tập trung của SVN và CVS  Dự án phần mềm sử dụng GIT để quản không cần có chung một Repository lưu trữ Mà mỗi thành viên của dự án sẽ có một Repository ở máy local của họ  Tất cả thao tác làm việc với Git đều ở trên máy của local, local repository, khi quyết định đưa những thay đổi đó lên server ta chỉ cần một thao tác “push” nó lên server  Các thành viên trong dự án vẫn có... file thuộc thành viên khác trên Repository về máy cục bộ của mình  Merge: nhiều thành viên cùng tiến hành cập nhật trên một tập tin Revision Để quản lí các phiên bản khác nhau, Subversion đưa ra khái niệm revision Nói một cách đơn giản, để hệ thống có thể quản được sự thay đổi của các tập tin, mỗi tập tin sẽ có dạng Name-Revision Ví dụ: cnpm.doc-rev1 và cnpm.doc-rev2 là 2 revision của tập tin cnpm.doc... plug-in trong Eclipse  AnkhSVN: là một phần mềm phụ, bổ sung khả năng truy cập Subversion cho môi trường lập trình Visual Studio NET  Insurrection: giao diện Web cho Subversion  JSVN: chương trình khách viết bằng Java  svnX: chương trình khách cho Mac OS  TortoiseSVN: là một phần mềm làm việc trên nền Windows Explorer  WebSVN: là một giao diện Web cho Subversion, viết bằng PHP… Giới thiệu công...Mô hình Client/Server  Checkout: là khái niệm dùng để chỉ một thành viên của dự án ở client sẽ lấy một phiên bản copy của các file thuộc project trên server về máy cục bộ  Commit: thành viên của dự án đưa các thay đổi trên các file của project tại máy client lên server  Update: khi một thành viên muốn cập nhật những thay đổi của các file... mềm: CollabNet VisualSVN Server, … Subversion Server, .Dịch vụ: SourceForge.net, Google Code, Beanstalk Các SVN Server và SVN Client 2 SVN Client Các phần mềm SVN client có thể chia làm 3 loại chính: stand-alone clients, desktop-integrated clients và IDE plug-in clients  Stand-alone clients là loại đứng như một ứng dụng độc lập, nghĩa là không phụ thuộc vào phần mềm nào khác  Desktop-intergrated... trung (Centralized)  CVS ra đời năm 1986, là hệ thống quản phiên bản đầu tiên, sau đó đến sự bùng nổ của SVN SVN bản chất vẫn là CVS được cải tiến, nhưng có nhiều công cụ hỗ trợ hơn  Cả CVS và SVN đều có tư tưởng chung về cách làm việc chung giữa các thành viên theo mô hình (quản source code tập trung) như sau:  Atomic Commit : có lẽ sự cải thiện lớn nhất của SVN từ CVS là bổ sung việc commit . bất cứ hệ thống phiên bản nào. Subversion là hệ thống quản lý source code tập trung (Centralized). Subversion là hệ thống quản lý phiên bản mạnh mẽ, hữu. Hệ thống quản lý phiên bản dự án phần mềm SubversionDanh sách thành viên:Nguyễn Khắc TrọngPhạm Duy SơnDương Văn Tuyến Nội dung đề tàiGiới thiệu về Subversion. So

Ngày đăng: 19/01/2013, 08:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan