1. Trang chủ
  2. » Giáo án - Bài giảng

Version Control Systems Introduction

17 672 0

Đ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

CVS Concurrent Version System Giảng viên: ThS Phạm Ngọc Nam Phạm Tấn Đạt Vũ Văn Hiền - 51003033 - 51003049 Phạm Văn Tiến - 51003192 Trần Minh Tân - 51003161 Lê Hoàng Minh Tâm - 51003157 CVS CVS Concurrent Concurrent Versioning Versioning System System CVS – Concurrent Version System vs VCS – Version Control Systems CVS CVS Concurrent Concurrent Versioning Versioning System System Tại phải sử dụng VCS? CVS CVS Concurrent Concurrent Versioning Versioning System System Chức VCS  Ghi lại lịch sử: ghi lại thông tin cần thiết sửa đổi một, tác giả, thời gian, ghi giải trình thao tác thay đổi đó…  Chức đồng bộ: cho phép nhiều người sửa nhiều tệp tin lúc thao tác sửa đổi gây xung đột phát giải sau  Chức phục hồi: cho phép khôi phục trạng thái trước phát có lỗi thao tác sửa đổi làm CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm Repository  Là nơi chung chứa (master copy) tập tin chúng thêm vào sở liệu VCS  Có thể lưu trữ riêng cho tập tin chung cho tập tin  Trong môi trường phát triển nhóm, thường nằm server riêng  Có thể chứa: mã nguồn, sưu liệu, tài liệu khác (hình ảnh, âm thanh, ) CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm working folder  Nơi mà lấy phiên tập tin (checking-out) hiệu chỉnh (revision)  Thường đặt máy client cho thành viên làm việc nhóm  Khi phiên lấy ra, nơi mặc định mà VCS dùng để chứa phiên CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm lock (khóa)  Khóa nghiêm ngặt (strict locking): • •  tập tin lấy để hiệu chỉnh, bị đặt thuộc tính read-only thành viên khác đọc hiệu chỉnh nội dung Khóa tự (optimistic locking)  tập tin lấy để sửa, thành viên khác có quyền cập nhật liệu tập tin  ??? Vấn đề cập nhật tiến hành nào? CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm Commit  Là thao tác lệnh cho VCS ghi lại thay đổi (change-sets) mà tác giả vừa thực với (các) file mà VCS theo dõi  Người sử dụng phải nhập ghi (comment) lí giải cho commit (commit message)  Khi cần xem lại commit trước đó, người ta tìm đến lịch sử commit (commit history) CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm Patch diff  Thao tác “diff” tự động phân tích hai phiên khác file để phần khác (diff) Phần khác xuất thành file gọi “patch” chứa thông tin thay đổi theo quy chuẩn  Cần lưu ý patch với nghĩa “bản vá” ứng dụng cụ thể patch Thao tác applying patch nói chung “từ file trước sửa đổi patch tổng hợp thành file sau sửa đổi”  Các thao tác diff patch thực trực tiếp thông qua lệnh tên hệ thống GNU/Linux gián tiếp nhờ giúp đỡ VCS CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm conflict  Xung đột (conflict) commit xảy có hai (hay nhiều hơn) commit độc lập với xuất phát từ commit cũ trước  Xung đột thường xảy có commit chứa thao tác xoá bỏ Trường hợp commit thao tác thêm dễ dàng RCS tự động xử lí (resolve)  Khi xung đột xảy ra, lập trình viên phải cho VCS biết kết cuối mà mong muốn CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm project, module, file  Project: thư mục chứa toàn thông tin tập tin nhóm Một nhóm thực nhiều project khác Các project chia sẻ tập tin (shared file) Mỗi VCS thường có project gốc cho project  Tập tin (file) dự án thuộc nhiều dự án (shared file)  Module: dự án (sub-project) nằm dự án mẹ CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm Branch & branching  Khi làm việc nhóm, thành viên có phần mã chung, gọi nhánh (mainline/trunk/master branch) Và thành viên làm việc với phần nhánh  Khi có yêu cầu tách phần mã chung đó, ví dụ để tạo phiên để thử nghiệm, thành viên nhóm phân phối thử nghiệm cần mã độc lập với nhánh CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm Branch & branching branch 1.2.1.1 1.2.1.2 1.2.1.3 merge 1.1 1.2 1.3 1.4 1.5 1.6 main trunk 1.2.1.1 1.2.1.2 1.4.1.1 branch 1.2.1.1.1.1 1.2.1.1.1.2 Branching chế hệ thống quản lý phiên cho phép tách phần dự án riêng Phần hoạt động độc lập với dự án chung Khi đó, việc đánh phiên thay đổi CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm Merge • Có nhiều nhánh (branch) tách làm việc độc lập Nếu họ làm thấy có số lỗi (bug) phát sinh có ảnh hưởng tới nhánh họ để cập nhật nhanh mã nhánh dùng cách ghép tập tin (merge) • Ghép tập tin cho phép loại bỏ việc phải cắt dán nhiều lần phiên khác hệ thống CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm Version & Revision  Mỗi tập tin có nhiều phiên (version) Các phiên đánh số khác  Một số VCS sử dụng hệ thống phiên 1, 2, 3, có số khác sử dụng hệ thống 1.0, 1.1, 1.2, Các VCS thường lưu phiên cuối thay đổi phiên cuối so với phiên trước  Các số phiên (như 1.0, 1.1, hay 1.2, ) gọi Revision CVS CVS Concurrent Concurrent Versioning Versioning System System to be continue… [...]... • Ghép tập tin sẽ cho phép loại bỏ được việc phải cắt dán nhiều lần trên các phiên bản khác nhau của hệ thống CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm cơ bản Version & Revision  Mỗi tập tin có thể có nhiều phiên bản (version) Các phiên bản được đánh số khác nhau  Một số VCS sử dụng hệ thống phiên bản 1, 2, 3, trong khi có một số khác sử dụng hệ thống 1.0,... project gốc cho mọi project  Tập tin (file) trong dự án có thể thuộc về một hoặc nhiều dự án (shared file)  Module: một dự án con (sub-project) nằm trong một dự án mẹ CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm cơ bản Branch & branching  Khi làm việc nhóm, mọi thành viên đều có một phần mã chung, gọi là nhánh chính (mainline/trunk/master branch) Và các thành viên... Khi có yêu cầu tách một phần mã chung đó, ví dụ như để tạo một phiên bản để thử nghiệm, các thành viên của nhóm phân phối thử nghiệm đó cần mã độc lập với nhánh chính CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm cơ bản Branch & branching branch 1.2.1.1 1.2.1.2 1.2.1.3 merge 1.1 1.2 1.3 1.4 1.5 1.6 main trunk 1.2.1.1 1.2.1.2 1.4.1.1 branch 1.2.1.1.1.1 1.2.1.1.1.2... chế của hệ thống quản lý phiên bản cho phép tách một phần của dự án ra riêng Phần này sẽ hoạt động độc lập với dự án chung Khi đó, việc đánh phiên bản cũng thay đổi CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm cơ bản Merge • Có nhiều nhánh (branch) có thể được tách ra làm việc độc lập Nếu họ trong khi làm thấy rằng có một số lỗi (bug) phát sinh và có ảnh hưởng... commit đều là thao tác thêm sẽ dễ dàng được các RCS tự động xử lí (resolve)  Khi xung đột xảy ra, lập trình viên phải cho VCS biết kết quả cuối cùng mà mình mong muốn CVS CVS Concurrent Concurrent Versioning Versioning System System Một số khái niệm cơ bản project, module, file  Project: một thư mục chứa toàn bộ thông tin của các tập tin của nhóm Một nhóm có thể thực hiện nhiều project khác nhau Các... VCS thường lưu phiên bản cuối cùng và các thay đổi của phiên bản cuối so với phiên bản trước đó  Các số phiên bản (như 1.0, 1.1, hay 1.2, ) còn được gọi là Revision CVS CVS Concurrent Concurrent Versioning Versioning System System to be continue…

Ngày đăng: 30/07/2016, 16:34

Xem thêm: Version Control Systems Introduction

TỪ KHÓA LIÊN QUAN

Mục lục

    Tại sao phải sử dụng VCS?

    Chức năng của VCS

    Một số khái niệm cơ bản

    Một số khái niệm cơ bản

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN