Browse Source

git-p4: improve path encoding verbose output

If a path with non-ASCII characters is detected then print the
encoding and the encoded string in verbose mode.

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Lars Schneider 10 years ago committed by Junio C Hamano
parent
commit
00a9403a10
  1. 19
      git-p4.py

19
git-p4.py

@ -2213,16 +2213,15 @@ class P4Sync(Command, P4UserMap): @@ -2213,16 +2213,15 @@ class P4Sync(Command, P4UserMap):
text = regexp.sub(r'$\1$', text)
contents = [ text ]

if gitConfig("git-p4.pathEncoding"):
relPath = relPath.decode(gitConfig("git-p4.pathEncoding")).encode('utf8', 'replace')
elif self.verbose:
try:
relPath.decode('ascii')
except:
print (
"Path with Non-ASCII characters detected and no path encoding defined. "
"Please check the encoding: %s" % relPath
)
try:
relPath.decode('ascii')
except:
encoding = 'utf8'
if gitConfig('git-p4.pathEncoding'):
encoding = gitConfig('git-p4.pathEncoding')
relPath = relPath.decode(encoding).encode('utf8', 'replace')
if self.verbose:
print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, relPath)

self.gitStream.write("M %s inline %s\n" % (git_mode, relPath))


Loading…
Cancel
Save