2010-10-29 22 views
6

Tôi đang chạy trên Windows, với ứng dụng windows p4 và git được cài đặt qua Cygwin. Ứng dụng khách p4 quảng cáo cách cú pháp của nó là thường xuyên trên các nền tảng và tất cả những điều đó, do đó cần phải là hunky-dory.`git-p4 clone` không thành công" mẹo mới ... không chứa ... "

Vì vậy, khi tôi đi đến git-p4 clone --verbose //depot/path/to/source, nó sẽ liệt kê ra tất cả các file trong kho như thể họ đang bị kiểm tra ra, sau đó chết nói

Exception: fast-import failed: warning: Not updating refs/remotes/p4/master (new tip cd601b92da8625c90af05685e450e55b6d19c9e9 does not contain 3a512c9408e3cbeef 94c78dfd7115f81e4a6fd0d)

và kết thúc với một khối lớn của "git-Fast- thống kê nhập khẩu ". Nhìn vào lỗi: mẹo mới? Huh? Những gì cần phải chứa nó?

Những gì tôi còn lại là một .git repo đó là một vài megs (nhiều, nhỏ hơn nhiều so với cây nguồn đầy đủ). Ý tưởng nào?

+0

Bạn đã cố gắng liên hệ với những người bảo trì git-p4 chưa? –

Trả lời

3

Tôi đã gặp vấn đề tương tự và thường có thể được truy tìm vào vỏ trong đường dẫn, tên chi nhánh, v.v. Không chắc chắn về P4 nhưng đảm bảo rằng bạn không có nhánh chính - cần phải thành thạo. Thực hiện theo cùng một trung đoàn trên bảng. Ngoài ra, tránh thư mục và tên tập tin với không gian trong đó. Rất nhiều công cụ git-centric không thích điều đó. Gitolite là một ví dụ. Nó sẽ không cho phép một kho lưu trữ có một không gian trong đó.

+1

Bạn đã làm đúng: di chuyển đến một thư mục không có dấu cách trong tên đường dẫn đã sửa nó. – Hober

+0

@Hober bạn có ý nghĩa gì khi không có khoảng trắng? trong câu hỏi của bạn, tôi không thể thấy bất kỳ dấu cách nào trong lệnh. – Giedrius

0

Tôi gặp sự cố tương tự. Điều gì làm việc cho tôi là cập nhật mã python git-p4. Bạn có thể xem cam kết here, nhưng hy vọng nó sẽ sớm được kéo lên.

2

Tương tự như các câu trả lời được chấp nhận, tôi có vấn đề này tương tự khi cố gắng để đồng bộ với một git branch theo hình thức:

git p4 sync --branch=feature/f1 //depot/path/to/code 

Các/trong tên chi nhánh xuất hiện để gây giống nhau khó hiểu nhanh nhập khẩu thất bại cảnh báo. Thật không may git-p4 dường như không hỗ trợ các tên nhánh git-flow tiêu chuẩn.

Thay đổi sang một chi nhánh như thế này làm việc:

git p4 sync --branch=f1 //depot/path/to/code 
+0

Tương tự cho "dấu chấm", phải thay đổi từ "1.0" – Gurvan

1

Tôi cũng gặp phải "mới tip x không chứa y" lỗi chạy nhanh nhập khẩu.

Trong trường hợp của tôi, điều này là do một cam kết từ trước không liên quan trong nhánh chính của repo mà tôi đang cố gắng nhập vào. Tôi đã khởi tạo repo với máy khách GitHub đã thêm một cam kết ban đầu (để thêm một tệp .gitignore). Công cụ nhập nhanh có lẽ không thể điều chỉnh các cam kết đã nhập với trạng thái hiện tại của chi nhánh vì cam kết của công cụ GitHub không có mối quan hệ nào với các cam kết được nhập.

Giải pháp cho tôi là thay vào đó khởi tạo một repo trống với "git init" và sau đó chạy nhập nhanh.

1

Bạn có nhận được "Bỏ qua phiên bản XYZ vì nó sẽ tạo ra một cam kết trống" cho lần nhập CL đầu tiên không?

Nếu vậy, bạn đang gặp lỗi trong git-p4.py nơi nó xóa cài đặt "initialParent" (cần thiết để nhập nhanh git có thể tham gia các cam kết mới cho lần nhập trước đó) trước khi thực sự cam kết bất cứ điều gì. Do đó, luồng tệp mới được nhập sẽ không được kết nối với cũ.

Tôi hiện đang làm việc xung quanh việc này bằng cách sử dụng --changesfile và làm việc một cách rõ ràng cần nhập CL nào.

+1

Bạn cũng có thể giải quyết vấn đề bằng cách sử dụng 'git config git-p4.keepEmptyCommits true' nếu bạn không nhớ có một số cam kết không có thay đổi trong cây git của bạn . – Eric

+0

@Eric: Bạn là người đàn ông! Nó hoạt động như một say mê! – Anton

+0

@Anton, tôi đã giải quyết vấn đề này trong khoảng 3 hoặc 4 tháng và thậm chí có câu trả lời của riêng tôi cho câu hỏi này (hiện đã bị xóa) liên quan đến việc quay lại cam kết p4/master và rebasing lại. Sau đó, tôi đọc lại câu trả lời này và đi đến giải pháp mới này cho đến nay đã không chạy vào bất kỳ vấn đề. Hy vọng rằng git-p4 sẽ được sửa trong tương lai vì vậy chúng tôi không cần thêm các cam kết trống nhưng đây là một thương mại-off tốt để tránh nó phá vỡ thường xuyên :-) – Eric

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