Báo cáo tìm hiểu và ứng dụng mã nguồn mởx
Trang 1ĐÁNH GIÁ BÀI BÁO CÁO
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VÕ TRƯỜNG TOẢN
KHOA CƠNG NGHỆ THƠNG TIN
Quản lý Source Code - Hệ thống quản
lý Google Code
(BÁO CÁO MƠN: MÃ NGUỒN MỞ)
Lớp: Đại Học Cơng Nghệ Thơng Tin Khĩa 4
GV Hướng dẫn: Tống Bảo Lộc
Hậu Giang, Ngày 26,tháng 10, năm 2013
Trang 2Điểm Nhận xét của giảng viên
Trang 4BÁO CÁO TÌM HIỂU VÀ ỨNG
DỤNG MÃ NGUỒN MỞ
- -Đề tài 05 QUẢN LÝ SOURCE CODE
HỆ THỐNG QUẢN LÝ GOOGLE CODE
Trang 5Nội dung báo cáo:
Giới thiệu về Google Code, mục đích sử dụng
Tìm hiểu về hệ thống SVN (sub version)
Cách đăng ký chi tiết google code hosting
Cài đặt phần mềm Client TortoiseSVN, Sub Eclipse trên Eclipse IDE để làm việc với Google Code
Cách quản lý dự án Sub Version, giới thiệu tất cả các chức năng trên googlecode
Demo làm việc giữa TortoiseSVN, plugin Sub Eclipse trên Eclipse IDE vớigoogle code
So sánh với các hệ thống Sub Version khác
Trang 6I GIỚI THIỆU VỀ GOOGLE CODE, MỤC ĐÍCH SỬ
Trang chủ của google code: http://code.google.com/intl/vi-VN/
2.Mục đích sử dụng google code:
Google code cũng như 1 hosting bình thường và
Trang 7nó dùng để chứa tài liệu rất hiệu quả.Ngoài ra, khi làm việc nhóm với 1 project nào đó sẽ không tránh khỏi việc chỉnh sửa project giữa
các thành viên trong nhóm, vì thế Google code là nời sẽ giúp chúng ta
có thể kiểm soát được quá trình làm việc trên một cách chuẩn xác
Chúng ta sử dụng google code như 1 free
web host để lưu giữ thông tin, source code cũng như những thư mục khác phục vụ cho project của nhóm
II HỆ THỐNG SVN (SUB VERSION)
Subversion là hệ thống quản lý source code tập trung (Centralized)
Subversion quản lý tập tin và thư mục theo thời gian
Việc ghi log cụ thể chi tiết giúp ta quản lý quá trình phát triển dự án tốt hơn
Đ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
Subversion hỗ trợ khá nhiều giao thức để kết nối giữa client và server
Trang 8+ Server làm việc khá nặng. Đặc biệt khi lấy bản sao xuống.
+ Nhiều người bị giới hạn về bức tường lửa (firewall) thì không sử dụng được CVS.
+ …
- Đầu năm 2000, CollabNet bắt đầu tìm kiếm nhà phát triển để thay thế
3 CVS.
Tháng 2/2000, CollabNet liên lạc với Karl Fogel, tác giả của Open
Source Development with CVS. Trùng hợp, ông này đang thảo luận với bạn của mình là Jim Blandy về khắc phục những hạn chế của CVS.
- Ý tưởng chính là dữ lại những kiến trúc tốt của CVS, khắc phục những nhược điểm bên trong, giúp cho người dùng nhanh chóng chuyển đổi sang cái mới mà ít gặp khó khăn nhất.
- Với sự cộng tác của CollabNet, 8/2001, Subversion ra đời và nhanh chóng được đón nhận
Trang 9III CÁCH ĐĂNG KÝ CHI TIẾT GOOGLE CODE
HOSTING
Bước 1: đăng nhập vào tài khoản google cua bạn.
Bước 2 : Truy cập vào trang chủ của google code ở địa chỉ:
Bước 3: Điền thông tin của project
Trang 10IV CÁCH QUẢN LÝ DỰ ÁN SUB VERSION
Trang 11- Đăng nhập vào project host trên google code mà ta vừa tạo ở trên.
- Click vào tab Source, lấy link của project và dán vào textBox URL
of Repository, click OK
Trang 13- Sau khi đã đăng nhập thành công, phần mềm sẽ Import (Upload) các file trong project lên project host trên google code
Trang 14Như vậy,ta đã Import thành công một project, các thành viên khác
Trang 15-Phần mềm SVN sẽ tự động checkout project source code về thư
mục đã tạo sẵn trước đó.
Trang 16Lúc này, ta tiến hành công việc của mình sau khi hoàn thành công việc của mình,
các file (hoặc folder) mà ta vừa sửa sẽ có dấu chấm than nền đỏ:
Trang 17Ta cần commit project lên để tích hợp với project chung của
nhóm, cũng trên thư mục chứa project chuột phải chọn SVNCommit…
Phần mềm SVN sẽ Commit project lên project host trên google
Trang 18Bạn có thể kiểm tra xem các thành viên khác đã thay đổi những gì bằng
cách: chuột phải trên folder chứa project chọn TortoiseSVN/check for
modification
Trang 19a) Import Project
- Khởi động neatbean, chọn project cần import
Trang 20- Một cửasổ hiện ra cho phép ta nhập đường dẫn của project trên
google code
Trang 21- Nhấn next Chương trình sẽ hiện ra 1 cửa sổ cho ta nhập thông tin project cho các thành viên khác
Trang 22- Nhấn Next, các file sẽ được Import lên project hosting trên google
Trang 24Đợi trong giây lát để SVN checkout project về cho bạn. Sau khi project đã được load về netbean sẽ hỏi bạn có muốn load project ko. Nhấn Open project và project sẽ được mở, lúc này bạn hoàn toàn có thể thực hiện phần việc của mình.
c) Commit Project
Trang 25- Sau khi làm xong công việc của mình, muốn Upload lên google code để các thành viên khác có thể làm. Chúng ta sẽ commit project
- Cách commit project trên neatbean:
Trang 26d) Update và kiểm tra sự thay đổi
Trang 271 CVS (Concurrent Versions System)
CVS (Concurrent Versions System) tương tự như SVN là mô hình mô hình quản lý source code tập trung (Centralized)
Trang 28 CVS ra đời năm 1986, là hệ thống quản lý 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 lý 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 của các thành viên được gọi là Atomic Commit Atomic
Commit cho phép mỗi commit từ thành viên được upate đầy đủ hoặc không
có gì cả, điều này rất có ý nghĩa khi máy chủ bị treo trong lúc commit Với CVS khi máy chủ bị treo hay kết nối bị trục trặc thì việc commit có thể bị dởdang, không đầy đủ
Với SVN, các commit có thể được roll-back lại trạng thái trước đó, trong khiCVS thì không thể
Trang 29 SVN tiện lợi hơn CVS trong việc đổi tên và di chuyển các tập tin, thư mục Với SVN các tập tin được đổi tên hoặc loại bỏ vẫn mang theo đầy đủ history
và meta-data của nó trước đó Trong khi đó với CVS thì tập tin bị đổi tên hoặc di chuyển sẽ bị mất history trước đó
CVS cũng không thể đẩy bất cứ những thay đổi mới đến Repository cha mà chỉ có thể đẩy lên Repository con của nó, trong khi một số công cụ SVN có khả năng làm việc này
Cả hai sử dụng giao thức độc quyền qua một kết nối SSH để đảm bảo an toàn thông tin đang được truyền đi trên mạng SVN bổ sung WebDAV DeltaV, 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 đó
2 Git
GIT là một phương pháp quản lý phiên bản theo hướng phân tán
(Distributed), hoàn toàn trái ngược với phương pháp quản lý tập trung của SVN và CVS
Dự án phần mềm sử dụng GIT để quản lý 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ọ
Trang 30 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ó thể share các thay đổi cho nhau, bằng cách commit hoặc update trực tiếp từ máy của họ mà không phải thông qua repository gốc trên server (thông qua share ssh cho nhau) Và dĩ nhiên là mọithao tác đều mang theo thông tin history với Git
Git được đánh giá là khó sử dụng hơn CVS và SVN
VI DEMO LÀM VIỆC GIỮA TORTOISESVN,
PLUGIN SUB ECLIPSE TRÊN ECLIPSE IDE VỚI GOOGLE CODE.
Trang 31Cám ơn thầy và các bạn đã theo dõi ! The end