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
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
BÁ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
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ử tồ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
4. 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
-
- 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
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 đó.
4.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→ Repobrowser.
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
4.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
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.
4.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. Ngồ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
- Nhấn phải chuột vào file hoặc thư mục bạn muốn SVN bỏ qua.
Chọn:
- 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.
- Sau đó bạn có thể tiếp tục Commit.
4.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 q
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:
Release 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.
/>
- 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.