Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-6909

Indexing a Perforce repository fails with "P4ClientException - Unable to get file log" for files with non Unicode characters

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • 4.6.1
    • 4.4.0, 4.4.1, 4.4.2, 4.5.3
    • None
    • None

      Summary

      Perforce repository indexing fails when the file path (including the filename) contains a non Unicode character.

      Environment

      • Perforce is configured as non Unicode

      Steps to Reproduce

      N/A

      Expected Results

      The indexing works and the files are available in FishEye

      Actual Results

      The below exception is thrown in the atlassian-fisheye-YYYY-MM-DD.log file:

      WARN - Problem processing revisions from repository <repository_name> due to class com.cenqua.fisheye.perforce.client.P4ClientException - Unable to get file log for <file path/filename>
      

      Workaround

      The following alternative options are available as a workaround:

      1. (Preferred) Convert the repository to a Unicode one in Perforce.
      2. Add the fisheye.ignore.p4.client.errors=true property to the JVM system properties (see JVM system properties - Atlassian Documentation and Environment variable). This can be achieved in the following way:
        1. add the following to the $FISHEYE_INST/system.properties file
          fisheye.ignore.p4.client.errors=true
          
        2. add the following to the FISHEYE_OPTS environment variable
          -Dfisheye.ignore.p4.client.errors=true
          

      Solution

      Fisheye allows you to define encoding for Perforce repository.
      Before Fisheye 4.6.1 this encoding was used only to process Perforce output. In Fisheye 4.6.1 and later, also input commands are constructed with encoding that is readable by Perforce.

      To make sure that the Fisheye input is readable for the Perforce repository,
      repository encoding has to be set according to the file paths encoding in the repository.

      For example, if a committer uses Windows machine with windows-1252 (“Western Europe") character set as their default encoding, the same encoding must be set in Fisheye.

       

              mtokarski@atlassian.com Marek Tokarski
              ccurti Caterina Curti
              Votes:
              22 Vote for this issue
              Watchers:
              16 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 1h 8m
                  1h 8m