2008-09-05 26 views
10

Tôi sử dụng TortoiseSVN để truy cập tệp cục bộ dựa trên repo. Trong tất cả các cam kết của tôi, tác giả là tên đăng nhập Windows của tôi. Có thể sử dụng tên khác không?Làm cách nào để thay đổi tác giả mặc định để truy cập kho lưu trữ SVN cục bộ?

Tôi biết cách thay đổi tác giả sau khi cam kết nhưng cách thay đổi trước? Cài đặt apache/svnserver không phải là một tùy chọn.

Trả lời

15

Có, có thể.

TortoiseSVN và khách hàng dòng lệnh svn chia sẻ cùng một vị trí cài đặt trong thư mục hồ sơ của bạn. Vì vậy, bạn chỉ đơn giản là có thể kiểm một phiên bản sử dụng svn.exe:

$ svn co --username different_user_name file:///C:/path/to/your/repo 

... và Subversion hạnh phúc sẽ thay thế tên người dùng liên quan cho kho lưu trữ đó. Các cam kết mới từ TortoiseSVN sau đó sẽ luôn sử dụng tên người dùng đó, bất kể chương trình bạn thực hiện các lần kiểm tra mới là gì.

Quy trình sẽ hoạt động với TortoiseSVN 1.5.5. Nếu không, trước tiên hãy thử xóa bộ nhớ cache xác thực của svn (%APPDATA%\Subversion\auth\svn.username).

+0

Tôi đã thử điều này với TortoiseSVN 1.6.11 và SVN 1.6.13, sau đó nó không hoạt động. Vì vậy, tôi đã tạo một người dùng Windows riêng biệt với tên người dùng chính xác dành riêng cho mục đích giao dịch SVN (chia sẻ thư mục hộp cát cục bộ với người dùng hiện tại, không thực hiện giao dịch SVN nữa). Người dùng "chung" không chỉ đọc SVN-Cập nhật trong một thư mục riêng biệt (vì vậy nó có thể đổ lỗi, tra cứu lịch sử, v.v.). Các giao dịch SVN hiện bao gồm một "người dùng chuyển đổi" đơn giản. –

0

Theo như tôi biết, TortoiseSVN không cung cấp bất kỳ cách nào để thực hiện việc này.

Có lẽ nó không được xem là một vấn đề lớn, vì truy cập dựa trên tệp là không thực tế cho các trường hợp nhiều người dùng và đối với một người dùng, tên tác giả có tầm quan trọng thấp hơn.

Cách giải quyết có thể là tạo tên người dùng Windows khác với tên tác giả bạn muốn và kết nối với điều này.

0

Tôi chưa bao giờ lưu trữ svn trên máy Windows, vì vậy đây là ảnh chụp trong bóng tối. Bạn có thể tạo người dùng Windows mới và chỉ định người dùng đó khi duyệt, kiểm tra, cam kết, v.v. Giả sử bạn muốn thực hiện thay đổi là msznajder. Tạo một người dùng với tên đó trong Windows, sau đó thử duyệt kho lưu trữ bằng cách sử dụng trình duyệt Repo của TortoiseSVN và chỉ định tên người dùng trong URL - chẳng hạn như file:///[email protected]/some/file/path.

1

Một cách giải quyết khác có thể (nhưng tôi KHÔNG chủ trương nó) là sử dụng tập lệnh móc phía máy khách trước khi cam kết, để thay đổi tên người dùng.

Tập lệnh móc được thảo luận trong sách Subversion và móc cục bộ được thảo luận trong "Kịch bản móc phía máy khách" trong trợ giúp TortoiseSVN.

0

Tôi đề nghị thiết lập một post-commit-móc (trong thư mục móc của repo của bạn - chỉ cần sao chép các post-commit-hook.tmpl để gửi-cam-hook.bat và làm rỗng nó [1]

svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo> [ 2]

[1] cung cấp SlikSVN hoặc tương tự được cài đặt, ví dụ dòng lệnh svn truy cập là có thể)

[2] (hoặc sh nếu trên linux, với #!/bin/bash lời mở đầu) với cùng một nội dung

+0

Phải thêm - đôi khi nó không hiển thị trong t-svn vì nó là bộ nhớ đệm của nhật ký, nhưng dòng lệnh "svn log file: /// path/to/repo" tiết lộ tác giả đã thay đổi o.k. –

Các vấn đề liên quan