Thử thêm "@all" vào đường dẫn tệp. Ví dụ, điều này tạo ra một repo đơn sửa đổi cho tôi:
python /usr/share/doc/git-core/contrib/fast-import/git-p4 clone --destination=master-pom \
//depot/services/master-pom/trunk/...
Lệnh này được nhập khẩu toàn bộ lịch sử:
python /usr/share/doc/git-core/contrib/fast-import/git-p4 clone --destination=master-pom \
//depot/services/master-pom/trunk/[email protected]
tôi đã cố gắng sử dụng các ví dụ git-p4 nhưng đã từ bỏ vì nhiều lý do và viết máy bơm nhập khẩu nhanh của riêng tôi. Nó đã được một thời gian trở lại, do đó, một số vấn đề có thể đã được cố định ngay bây giờ: nhưng git-p4 gặp rắc rối với các thay đổi lớn (chẳng hạn như việc tạo ra một chi nhánh ban đầu) (mặc dù sử dụng spec khách hàng có thể đã giúp, tôi không nghĩ rằng tôi đã thử nó) và các tập tin với "+ S" sửa đổi filetype (đó là Bad Và Evil, nhưng chúng tôi sử dụng để sử dụng nó). Và Python-fu của tôi đã không cho phép tôi khắc phục những vấn đề tôi có.
CHỈNH SỬA: vì ai đó đã yêu cầu, tại đây.
https://github.com/araqnid/p4utils có nhiều thứ p4, trong đó p4-git-xfer là bản sao p4-> git (một chiều). Nó có khá một vài vấn đề mặc dù, do chủ yếu là một công cụ tiện dụng cá nhân chứ không phải là một mảnh thực sự của cơ sở hạ tầng.
Bắt đầu:
p4-git-xfer clone -d $PWD/dictionary.git -n //depot/services/midoffice/dictionary/... \
trunk 'release/*' 'branch/*' \
trunk=master release/*=r* branch/*=dev/*
sẽ sao chép rằng con đường chẳng đả với một "dictionary.git" trần. Các đối số đầu tiên sau đường dẫn cơ sở là "thông số kỹ thuật chi nhánh" cho trình sao chép biết nơi tìm nhánh trong cơ sở. Những cái sau (với ký hiệu '=') là "thông số kỹ thuật phản chiếu" cho trình tạo bản sao biết cách tạo các nhánh địa phương từ các nhánh đã nhập. Các chi tiết kỹ thuật chi nhánh gây ra "refs/điều khiển từ xa/p4/trunk", "refs/remotes/p4/release/1.0" vv được tạo ra. Các gương specs lực lượng "refs/heads/master" để nhân bản "refs/remotes/p4/trunk", "refs/heads/r1.0" để phản ánh "refs/remotes/p4/release/1.0" vv. như một cách để cho phép tôi chỉ chọn các nhánh cụ thể từ những nhánh đã được sao chép để được nhân giống với dòng vô tính.
Nó sẽ cố gắng phát hiện cách một chi nhánh được tạo ra, nhưng đó là một chút đoán với Perforce. Ngoài ra, nó không cố gắng thực hiện bất kỳ sự theo dõi chi nhánh nào cả: ngay cả những sự sáp nhập toàn bộ nhánh sẽ không được viết ra như vậy, xin lỗi.
Sau bản sao ban đầu, chạy p4-git-xfer fetch
từ bên trong bản sao git sẽ thực hiện cập nhật gia tăng. Danh sách thay đổi nhãn hiệu nước cao được lấy từ marks/p4
trong repo git. Đây là một tệp đánh dấu tải nhanh, vì vậy nếu bạn thực hiện bất kỳ bước chân ưa thích nào như sử dụng bộ lọc-chi nhánh để viết lại mọi thứ, hãy cẩn thận bạn cũng có thể phải cập nhật điều này.
Nó không đẹp, và có một số vấn đề trung bình đến nghiêm trọng; Tôi sử dụng nó chủ yếu cho sự thuận tiện của riêng tôi, để cô lập bản thân mình khỏi các vấn đề của Perforce, không phải là một thành phần cơ sở hạ tầng hàng ngày. Đó là một chiều: Tôi thường sử dụng tập lệnh p4-am để áp dụng các bản vá được tạo bởi git format-patch
. Đó là bản thân chỉ hoạt động chủ yếu, với nastiness chung phân tích, vấn đề với end-of-file dòng mới, những thay đổi nhị phân, vv
Tập lệnh nhập p4 của bạn có công khai không? Nếu vậy, bạn có muốn chia sẻ nó không? – joce