p4 Submit aborted Error - How to resolve

后端 未结 8 2350
时光说笑
时光说笑 2021-02-13 23:18

A p4 check-in failed with the following error:

Submit aborted -- fix problems then use \'p4 submit -c XXXX\'.
Some file(s) could not be transferred from client.
         


        
相关标签:
8条回答
  • 2021-02-13 23:57

    Typically you will see this error on submit when there is a file in the changelist that does not exist on the client, and therefore cannot be transferred to the server. There are at least two conditions that can cause this problem:-

    • First, Perforce allows you to add files to your changelist (via p4 add) that don't exist. Just drop to a prompt and type p4 add blahblah.txt (assuming blahblah.txt doesn't exist). Perforce will happily add a file to your default changelist. If you try and submit that changelist (and the file still doesn't exist), then you will get the above error).

    • Second, you can p4 edit a file, then delete it locally, then try and submit the file (or the changelist that the file was in). You will get the same error.

    If you are using the command line or p4win (or p4v I presume), then there will be output that will tell you the offending file(s). You might see lines like:

    open for read: d:\path\to\file\somefile.txt: The system cannot find the file specified.
    

    This error will tell you that the file doesn't exist. This output will be in the output pane in p4win, or will show up in the output spew from the p4 command line.

    0 讨论(0)
  • 2021-02-14 00:02

    Another reason: P4 considers ANSI-encoded file to be <Unicode>.

    ANSI file cannot be generally treated as UTF-8 file (which P4 calls <unicode>) because not all byte sequences in UTF-8 encoding are valid and P4 produces the following error in such a case:

    Translation of file content failed near line 384 file D:\P4
    \etc\file.txt
    Submit aborted -- fix problems then use 'p4 submit -c 125'.
    Some file(s) could not be transferred from client.
    

    In this case, checking line 384 revealed that it contained character ľ and the file was encoded in ANSI, but Perforce automatically and mistakenly marked it as <unicode> (UTF-8).

    Solution: perforce filetype and actual file content must be put in sync

    • if application related to the file allows that, convert the file to UTF-8 and keep file type <unicode>.
      Generally, this is better solution – you get the file ready for international and special characters.

    • if file must me kept in ANSI, change file type to <text>

    0 讨论(0)
提交回复
热议问题