1 4 TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN Tên đề tài Tìm hiểu về phần mềm mã nguồn mở Subvertion Nhóm 3 Khuất Thái Sơn Chu Văn Thái Trần Ngọc Linh.
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
Tên đề tài : Tìm hiểu về phần mềm mã nguồn mở Subvertion
Nhóm 3 : Khuất Thái Sơn Chu Văn Thái Trần Ngọc Linh Chu Mạnh Cường Nguyễn Đức Thành Lớp : ĐH9C1
Tên học phần : Công Nghệ Phần Mềm Giảng viên hướng dẫn : Nguyễn Ngọc Khai
Hà Nội – Ngày 04 tháng 04 năm 2022
Trang 2BÁO CÁO VỀ SVN
I Tìm hiểu về Subversion (SVN)
1.Subversion là gì?
- Subversion (viết tắt là SVN) là một hệ thống quản lí version
được giới thiệu vào năm 2000 bởi công ty CollabNet Đâ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 cùng trên 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 rất phổ biến trong giới mã nguồn mở và được dùng
để quản lý mã nguồn cho nhiều ứng dụng Phần mềm miễn phí như: Apache Software Foundation, KDE, GNOME, Free Pascal, FreeBSD, GCC, Python, Django, Ruby, và Mono SourceForge.net và Tigris.org, nơi chứa miễn phí chuyên nghiệp dành cho các ứng dụng tự do
2 Phân loại và phần mềm quản lí subversion?
- Subversion hoạt động dựa trên mô hình quản lí tập trung kiểu
client/server Mô hình này có hai khái niệm cơ bản: Repository đặt ở server là nơi tập trung quản lí các phiên bản của các tập tin Working Copies đặt ở client là các phiên bản làm việc của các tập tin trong repository
- Vì vậy, bạn cần phải có một phần mềm server và một phần mềm
client Ở đây chúng ta sẽ nói nhiều về phần mềm SVN client, có thể chia làm ba loại chính:
Stand-alone clients: đứng như một ứng dụng độc lập, không phụ thuộc vào các phần mềm khác
Desktop-integrated client: loại được tích hợp vào các phần mềm desktop (ví dụ như TortoiseSVN) , mỗi khi bạn click phải chuột vào màn hình destop sẽ thấy các chức năng của SVN client
Trang 3 IDE plug-in clients: loại tích hợp thêm các công cụ lập trình (IDE), ví dụ Subclipse được tích hợp vào Eclipse
3 Ưu điểm và khuyết điểm của TortoiseSVN
- Ưu điểm
Subversion được áp dụng cho các thư mục bao gồm cả tệp riêng lẻ
SVN có một mục tiêu chuẩn để thêm, xóa, sao chép hay đổi tên tập tin trên các thư mục
Thư mục và tệp được đăng ký theo thời gian, sẽ hỗ trợ người dùng xây dựng một lịch sử toàn diện
Giúp các nhà phát triển có thể thiết kế hoặc thay đổi đơn giản, nhanh chóng
Tệp nhị phân và văn bản được lưu trữ, quản lý theo cách tương thích
Các nhánh và thẻ được xây dựng hiệu quả
Sử dụng Subversion đơn giản
- Khuyết điểm: tính năng lock không hoạt động ở google host
Trang 44 Những thao tác cơ bản trong TortoiseSVN
4.1 Tạo thư mục Repository (thư mục để chứa các file trên server)
- Chức năng: Tạo một thư mục tên bất kì tại nơi bạn muốn đặt
server Cấu trúc bên trong thư mục Repository
- Thao tác: Tạo một thư mục trống, ví dụ:
D:/Subversion/MyRepository Click vào thư mục vừa tạo và click chuột phải, chọn TortoiseSVN→Create Repository
- Chú ý: không nên thay đổi các file trong thư mục Repository
4 2 Import
- Chức năng: import dữ liệu cho Repository
Trang 5
Thao tác:
Right-Click trên thư mục chứa dữ liệu muốn import, chọn
TortoiseSVN→Import
Chọn đường dẫn đến Repository, click OK
4.3 SVN Checkout
- Chức năng: update những thay đổi trên Repository về máy
- Thao tác:
Tạo một thư mục lưu trữ và di chuyển vào đó(ví dụ D:\Demo), click chuột phải, chọn SVN Checkout…
Nhập URL repository trên server Trong Box Checkout Depth gồm 4 lựa chọn:
Fully recursive: checkout toàn bộ cấu trúc thư mục, các file dữ liệu trên Repository
Immediate children, including folders: Chỉ checkout cấu trúc thư mục và các file bên ngoài
Only file children: chỉ checkout các file bên ngoài
Trang 6 Only this item: chỉ checkout được thư mục Repository mà không
có cấu trúc hay dử liệu
Sau đó nhấn OK để tiếp tục
Nếu check out thành công, bạn sẽ thấy trong thư mục xuất hiện thư mục svn(thư mục ẩn) cùng tất cả các file có trên server Bạn
có thể chỉnh sửa cũng như tạo mới, xóa bớt các file trong đó
Trang 74.4.Update dữ liệu
- Chức năng: Update toàn bộ những cái khác nhau giữa
Repository và
Folder Update
- Thao tác:
Cách 1:
Right-Click trên Folder đã được checkout, chọn “SVN Update”
Cách 2:
Right-Click trên Folder đã được checkout, chọn
TortoiseSVN→Check for modifications
Click chọn Check repository
Right-Click trên file cần update, chọn “Update”
Tùy chỉnh các thông số rồi chọn OK để update
4.5.Repository Browser
- Chức năng: làm việc trực tiếp trên repository, cho phép bạn xem các cấu trúc và trạng thái của repository
- Thao tác:
Right-Click trên một thư mục, chọn TortoiseSVN→
Repo-browser
Nếu Right-Click trên thư mục chưa được checkout thì sẽ phải truyền thêm đường dẫn đến Repositor
Trang 84.6 SVN Commit và những điều cần lưu ý khi submit code
- Chức năng: upload file chỉnh sửa lên trên server
- Thao tác và chú ý:
Copy file đã chỉnh sửa vào thư mục ban đầu checkout
Click chuột phải vào thư mục đó, chọn lênh SVN Commit
Sau đó, một window sẽ hiện ra, box message cho phép bạn viết thêm ghi chú về thay đổi, box Changes Made, cho phép bạn kiểm tra lại các file cần submit, nên đánh dấu vào tất cả các checkbox chưa được đánh, sau đó click OK
Trang 9 Một window mới hiện ra, yêu cầu bạn nhập username và
password Mỗi người đều có một Username và Password của riêng mình, lưu ý ở Username và Password ở đây không phải là
ID và Pass của Gmail mà là ID và Pass của Project Click vào google.com password để lấy password Nhấn OK (Những lần sau sẽ không hiện ra khung Username và password nữa)
Chờ chương trình xử lí rồi nhấn OK để kết thúc
Chú ý: chỉ nên commit những file chung cho project, những file chỉ sử dụng cho riêng mình (ví dụ các file test, backup…) các bạn không nên commit
Trang 104.7 Các chức năng khác của Tortoise SVN
- Trong Tortoise SVN, 2 chức năng thường dùng nhất
là Commit và Update Ngoài ra còn có nhiều chức năng khác
4.7.1- Add to Ignore list
- Trường hợp bạn có một thư mục hoặc file muốn SVN bỏ qua, không đưa lên SVN Repository Bạn có thể sử dụng chức năng:
Add to Ignore list
Trang 11- Nhấn phải chuột vào file hoặc thư mục bạn muốn SVN bỏ qua Chọn:
Trang 12- Sau đó Commit thư mục cha:
- Đôi khi bạn nhận được thông báo lỗi “Out of date” Trong
trường hợp đó bạn phải sử dụng chức năng Update trước
khi Commit lên.
- Tortoise SVN gợi ý bạn Update trước
Trang 13- Sau đó bạn có thể tiếp tục Commit.
Trang 144.7.2- Revert
- Chức năng Revert được sử dụng để trả lại dữ liệu ban đầu Chẳng hạn khi bạn sửa đổi dữ liệu của một vài file, revert giúp cho file trở lại như trước khi thay đổi
4.7.3- Get Lock & Release Lock
- Bạn đang sửa một vài file tại máy địa phương Và trong quá trình sửa bạn không muốn một người nào đó trong nhóm Commit dữ liệu các file đó lên Repository, bạn có thể sử
dụng chức năng "Get Lock" để khóa lại Sau khi sửa đổi xong, bạn có thể Commit và sử dụng chức năng "Release Lock" để mở
khóa
Get Lock:
Trang 16Release Lock:
II Cài đặt phần mềm.
- Nếu bạn sử dụng Win XP, để cài đặt được Tortoise SVN các phiên bản gần đây bạn cần phải cài đặt Windows Installer phiên bản mới nhất trước
http://www.microsoft.com/en-us/download/details.aspx?id=8483
- Tại đây có các bộ cài tương ứng với một số Windows khác nhau Bạn có thể tìm kiếm và download cho đúng