@@ -3,6 +3,8 @@ import * as path from "path";
3
3
import { Uri } from "vscode" ;
4
4
import { exists , mkdir , writeFile } from "./fs" ;
5
5
import * as crypto from "crypto" ;
6
+ import { iconv } from "./vscodeModules" ;
7
+ import { configuration } from "./helpers/configuration" ;
6
8
7
9
export const tempdir = path . join ( os . tmpdir ( ) , "vscode-svn" ) ;
8
10
@@ -19,12 +21,18 @@ export async function createTempSvnRevisionFile(
19
21
const hash = crypto . createHash ( "md5" ) ;
20
22
const data = hash . update ( svnUri . path ) ;
21
23
const filePathHash = data . digest ( "hex" ) ;
24
+ const encoding = configuration . get < string > ( "default.encoding" ) ;
22
25
23
26
if ( ! ( await exists ( path . join ( tempdir , filePathHash ) ) ) ) {
24
27
await mkdir ( path . join ( tempdir , filePathHash ) ) ;
25
28
}
26
29
27
30
const fpath = path . join ( tempdir , filePathHash , fname ) ;
28
- await writeFile ( fpath , payload ) ;
31
+ if ( encoding ) {
32
+ const encodedPayload = iconv . encode ( payload , encoding ) ;
33
+ await writeFile ( fpath , encodedPayload ) ;
34
+ } else {
35
+ await writeFile ( fpath , payload ) ;
36
+ }
29
37
return Uri . file ( fpath ) ;
30
38
}
0 commit comments