Lập trình theo nhóm sử dụng XCode và SVN

1- Tổng quan XCode và SVN

Trong khi phát triển một ứng dụng lớn đòi hỏi phải có nhiều thành viên cùng tham gia, lúc này đòi hỏi bạn cần có một công cụ giúp quản lý và chia sẻ mã nguồn. Hiện nay có 2 công cụ phổ biến hỗ trợ điều này là SVN (Subversion)GIT.
Trong bài học này tôi sẽ hướng dẫn bạn sử dụng XCode IDE để tương tác với SVN. Hình dưới đây minh họa sự tương tác giữa XCodeSVN.
SVN Repository: Là một kho chứa (repository), được sử dụng như một nơi lưu trữ các dữ liệu, và nó được chia sẻ cho tất cả các thành viên trong nhóm. Để có một SVN Repository bạn cần cài đặt phần mềm SVN Server trên một máy tính nào đó, hoặc có thể sử dụng một SVN Repository được cung cấp miễn phí (Chẳng hạn như XP-Dev).
Xem thêm:
Các thành viên trong nhóm sử dụng XCode trên máy tính của họ. Và download về các dữ liệu từ SVN Repository về một thư mục địa phương, nó cũng được gọi là kho chứa địa phương ( Local Repository). Các thay đổi trên Local Repository có thể được cập nhập lên SVN Repository và ngược lại.

2- Khai báo SVN Repository trên XCode

Trên Mac OS mở chương trình XCode, lúc này bạn sẽ nhìn thấy menu XCode trên màn hình Desktop ở góc trên bên trái.
Chọn tab "Accounts" và nhấn biểu tượng (+) để thêm một tài khoản.
Có 3 loại tài khoản (account), tuy nhiên trong trường hợp này chúng ta sẽ tạo một Repository (Kho chứa).
Nhập vào các thông tin SVN Repository, và username/password của bạn.
OK, Bạn đã tạo thành công một SVN Repository trên XCode.

3- Nhập khẩu Project vào SVN Repository

Trước hết cần một thành viên trong nhóm đưa các Project lên trên SVN Repository. Để minh họa, tôi có một số project đang đặt tại thư mục SwiftTutorials trên Desktop. Tôi sẽ import (nhập khẩu) các project này vào Repository.
Trên Mac OS mở chương trình Terminal.
CD tới thư mục Desktop.
Thực hiện lệnh để import (nhập khẩu) thư mục SwiftTutorial vào SVN Repository.

svn import -m "Some Note.."  Your_Directory_Path   Svn_Repository_Url

# Example:

svn import -m "Some Note.."   SwiftTutorials/   https://localhost/svn/SWIFT
 
OK, Lúc này các project đã được import (nhập khẩu) vào SVN Repository. Bạn có thể nhìn thấy chúng bằng cách sử dụng trình duyệt và truy cập vào Repository URL.

4- Checkout

Sau khi các project đã có trên SVN Repository, và các thành viên khác có thể tải về (download) về bằng cách sử dụng chức năng Checkout của XCode.
Các project được lấy về thông qua chức năng Checkout sẽ được quản lý bởi SVN tại Local Repository (Kho chứa địa phương). Điều này có nghĩa là tất cả các thành viên trong nhóm phải Checkout, bao gồm cả người đã import các project lên SVN Repository.
Nếu bạn là người đã đưa các project lên SVN Repository thông qua chức năng import, thì hãy xóa các project gốc của bạn, và lấy các project về bằng cách sử dụng chức năng Checkout.
Mở XCode, và bạn có thể nhìn thấy menu "Source Control":
Đặt tên cho thư mục chứa các project sẽ được download về, và vị trí thư mục (Ở đây tôi đặt thư mục tại Desktop).
Sau khi Checkout thành công, bạn sẽ có một thư mục chứa các project vừa lấy về được từ SVN Repository, đây chính là Local Repository.
Mở các project bạn vừa checkout được bằng XCode.
Mở một project trên XCode:

5- Commit

Tạo một thay đổi trên một file, và lưu lại, bạn có thể thấy biểu tượng chữ M (Modified), biểu tượng này nói rằng file này đã bị thay đổi nội dung.
Thêm mới một file, và bạn có thể nhìn thấy biểu tượng chữ A (Added), biểu tượng này nói rằng file mới được thêm vào.
Bây giờ tôi sẽ đưa (upload) các file mới và các file có thay đổi lên SVN Repository bằng cách sử dụng chức năng Commit. Những thành viên khác trong nhóm có thể cập nhập các thay đổi này bằng cách sử dụng chức năng Update.
Nhấn phải chuột vào project (Có thay đổi) và chọn:
  • Source Control/Commit ....
Commit thành công!

6- Update

Khi một thành viên trong nhóm Commit các thay đổi lên SVN Repository, các thành viên khác có thể sử dụng chức năng Update để cập nhập dữ liệu mới về máy tính của mình ( Local Repository).
Nhấn phải chuột vào Project và chọn:
  • Source Control/Update ...

7- Discard Changes

Nếu bạn đã thay đổi gì đó trên Local Repository chẳng hạn sửa đổi file, thêm file mới, xóa file, và bạn muốn đưa về trạng thái như trước khi thay đổi, bạn có thể sử dụng chức năng Discard Changes.

Chức năng Discard Changes sẽ khôi phục lại các file bị xóa, và loại bỏ các thay đổi trên các file đã bị sửa. Các file mới tạo sẽ không bị ảnh hưởng bởi chức năng này. Bạn có thể áp dụng chức năng Discard Changes cho toàn bộ project hoặc chỉ các file cụ thể.
Nhấn phải chuột vào Project (Hoặc các thư mục, hoặc một vài file) và chọn:
  • Source Control/Discard Changes ...

Xem thêm các chuyên mục: