Nếu bạn là nhà phát triển (developer), phần mềm kiểm soát phiên bản (version control software) cho phép bạn theo dõi thay đổi đối với mã nguồn (code) của bạn. Điều này thiết yếu trên dự án nơi bạn làm việc như một phần của đội nhóm (team), cho phép bạn theo dõi thay đổi khi chúng xảy ra. Trong khi các dịch vụ như GIT phổ biến, đặc biệt cho phần mềm mã nguồn mở (open-source), các lựa chọn thay thế như Subversion (SVN) cung cấp nhiều kiểm soát hơn.
Có nhiều client SVN tồn tại, nhưng đối với người dùng Mac, một lựa chọn phổ biến là SvnX. Chúng tôi lần đầu tiên đề cập đến client SVN Mac đơn giản, miễn phí, và mã nguồn mở này hơn một thập kỷ trước, với rất nhiều tính năng và thay đổi mới để đi sâu vào kể từ đó. Nếu bạn muốn dùng SvnX, đây là mọi thứ bạn cần biết để bắt đầu.
Subversion (SVN) là gì?
Các loại kiểm soát phiên bản khác, như GIT, dựa trên phương pháp phi tập trung (decentralized approach) cho kiểm soát phiên bản. Mỗi công nhân nhận một bản sao của mã, họ làm việc trên mã đó, và các thay đổi sau đó được vá (committed) vào cơ sở mã lớn hơn.
Apache Subversion hoạt động khác biệt. Thay vì phương pháp phi tập trung, Subversion là tập trung (centralized). Chỉ có một kho chứa mã (code repository) trung tâm duy nhất, với mỗi nhà phát triển làm việc trên phần của riêng họ. Mỗi lần sửa đổi (revision) mã được theo dõi, với khả năng quay lại phiên bản quá khứ trở nên dễ dàng.
Điều này cung cấp cho quản trị viên (administrators) nhiều kiểm soát hơn, nhiều bảo mật hơn, và có thể là hệ thống dễ bắt đầu sử dụng hơn. Nếu phương pháp tập trung dành cho bạn, thì cài đặt SvnX là bước đầu tiên để dùng Subversion trên Mac. Client này thêm giao diện GUI vào ứng dụng terminal Subversion.
Cài đặt SvnX Subversion trên macOS
Phiên bản trước của SvnX yêu cầu cài đặt thủ công Subversion trên macOS trước khi client hoạt động. May mắn thay, macOS giờ bao gồm phiên bản Subversion gần đây, vì vậy điều này không còn cần thiết.
Để cài đặt và chạy phiên bản SvnX mới nhất, bạn sẽ cần cài đặt trình quản lý gói Homebrew cho macOS. Các phiên bản SvnX có sẵn khác, bao gồm những phiên bản cung cấp trên trang web "chính thức" nhưng lâu nay bị bỏ rơi (long-since abandoned) của SvnX, đơn giản sẽ không chạy trên cài đặt macOS gần đây vì trạng thái 32-bit cũ của nó.
- Nếu bạn chưa cài Homebrew trên macOS, mở cửa sổ terminal và gõ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" để bắt đầu cài đặt. Chờ tải xuống và script cài đặt hoàn tất, làm theo hướng dẫn trên màn hình.
- Một khi Homebrew đã cài, gõ brew cask install svnx trong terminal, và nhấn enter. Điều này sẽ tải xuống và cài đặt phiên bản SvnX 64-bit mới nhất có sẵn cho macOS. Homebrew sẽ báo cho bạn khi quá trình cài đặt hoàn tất.
- Bạn có thể khởi chạy SvnX từ Launchpad, hoặc bằng cách nhấn kép vào ứng dụng trong thư mục Applications trong Finder. Tuy nhiên, lần đầu tiên bạn làm vậy, macOS có thể chặn việc thử nghiệm vì lý do bảo mật.
Bạn sẽ cần cho phép SvnX khởi chạy bằng cách nhấn Launchpad > Cài đặt hệ thống (System Preferences) > Bảo mật & Quyền riêng tư (Security & Privacy) và, trong tab Chung (General), nhấn nút Mở dù sao (Open Anyway) bên cạnh cảnh báo khởi chạy SvnX.
- Trước khi khởi chạy, macOS sẽ hỏi sự chấp thuận cuối cùng. Nhấn Mở (Open) để cho phép SvnX cuối cùng khởi chạy ứng dụng.
Sau lần khởi chạy đầu tiên, macOS sẽ cho phép SvnX chạy mà không có thêm vấn đề bảo mật nào.
Cách dùng SvnX Subversion
Khi bạn lần đầu khởi chạy SvnX, bạn sẽ được trình bày màn hình khá cơ bản. Liệt kê bên trái là hai danh mục gọi là Working Copies (Bản sao làm việc) và Repositories (Kho chứa).
Repositories là các máy chủ SVN trung tâm bạn kết nối tới. Một kho chứa SVN giữ tất cả file cho dự án của bạn. Khi bạn cập nhật một file, thẻ sửa đổi (revision tag) mới được thêm vào nó, cho phép bạn phân biệt giữa bản sao cũ và mới của file kho chứa.
Working copies là nơi bản sao cục bộ (local copies) của file kho chứa được lưu. Điều này cho phép bạn làm thay đổi file cục bộ trước khi commit (cam kết) chúng vào kho chứa. File thường được tách thành các khu vực tập trung khác nhau như trunk (cho bản sao ổn định), branch (cho file đang phát triển tích cực) và tag (cho bản sao của kho chính).
- Để thêm kho chứa mới, nhấn nút Cài đặt (Settings button) trong menu bên trái và nhấn Thêm kho chứa (Add Repository).
- Bạn sẽ cần cung cấp chi tiết về máy chủ Subversion của bạn để cho phép kết nối. Gõ máy chủ kho chứa SVN trong hộp URL, đặt tên dễ nhớ cho kho chứa dưới Tên (Name). Nếu bạn có tên người dùng và mật khẩu, gõ chúng vào hộp Tên người dùng (Username) và Mật khẩu (Password).
- Một khi chi tiết đã ở vị trí, nhấn kép vào mục nhập cho kho chứa của bạn trong menu bên trái, hoặc nhấn Chi tiết (Details) > Làm mới ngay (Refresh Now). Điều này sẽ mở menu truy cập cho kho chứa SVN của bạn, cho phép bạn truy cập file kho chứa hiện có và các sửa đổi quá khứ, và làm thay đổi theo yêu cầu.
- Nếu bạn muốn xuất một bản sao của kho chứa SV làm working copy để chỉnh sửa cục bộ, chọn một sửa đổi (được số dưới cột Rev.), sau đó chọn thư mục ở dưới màn hình.
Để tạo bản sao cục bộ, nhấn nút Checkout ở góc trên bên phải. Xác nhận nơi bạn muốn lưu các file này trước khi nhấn nút Checkout.
- Bạn sẽ tìm thấy thêm thông tin về bản sao làm việc đã lưu trong cửa sổ khởi chạy chính của SvnX, liệt kê dưới Working Copies trong menu bên trái. Khi bạn làm thay đổi đối với bản sao làm việc SVN, nhấn kép vào mục nhập trong cửa sổ khởi chạy chính SvnX.
Trong cửa sổ Working Copy xuất hiện, chọn bất kỳ thư mục hoặc file nào bạn đã chỉnh sửa, sau đó nhấn Commit để lưu nó như một sửa đổi mới vào kho chứa SVN trung tâm của bạn.
Mỗi sửa đổi mới bạn làm sẽ được liệt kê trong cửa sổ Repository cho máy chủ SVN của bạn. Bạn có thể tạo bản sao làm việc mới trên các sửa đổi cũ để "nhánh" (fork) mã của bạn và quay lại phiên bản cũ hơn, nếu cần.
Kiểm soát phiên bản hiệu quả với SvnX
Nếu bạn không dùng hệ thống kiểm soát phiên bản, mọi thay đổi bạn làm đối với mã là cuối cùng. Bạn không thể quay lùi, và không thể hoàn tác các thay đổi bạn làm xa hơn về sau. Dùng SvnX trên Mac giúp giải quyết vấn đề này, cung cấp cách đơn giản và hiệu quả để theo dõi thay đổi mã.
SvnX hơi lỗi thời (a little outdated), vì vậy thoải mái dùng lựa chọn thay thế như Versions nếu nó không phải client SVN Mac phù hợp cho bạn. Tất nhiên, bạn không thể chạy trước khi biết đi, vì vậy nếu bạn muốn học cách lập trình, có một số dịch vụ và ứng dụng giúp bạn.