@@ -217,18 +217,15 @@ func (r *FileDiffReader) ReadAllHeaders() (*FileDiff, error) {
217
217
}
218
218
219
219
var origTime , newTime * time.Time
220
- var origTZ , newTZ bool
221
- fd .OrigName , fd .NewName , origTime , newTime , origTZ , newTZ , err = r .ReadFileHeaders ()
220
+ fd .OrigName , fd .NewName , origTime , newTime , err = r .ReadFileHeaders ()
222
221
if err != nil {
223
222
return nil , err
224
223
}
225
224
if origTime != nil {
226
225
fd .OrigTime = origTime
227
- fd .OrigTimeHasTZ = origTZ
228
226
}
229
227
if newTime != nil {
230
228
fd .NewTime = newTime
231
- fd .NewTimeHasTZ = newTZ
232
229
}
233
230
234
231
return fd , nil
@@ -250,21 +247,21 @@ func (r *FileDiffReader) HunksReader() *HunksReader {
250
247
// start with "---" and "+++" with the orig/new file names and
251
248
// timestamps). Or which starts with "Only in " with dir path and filename.
252
249
// "Only in" message is supported in POSIX locale: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/diff.html#tag_20_34_10
253
- func (r * FileDiffReader ) ReadFileHeaders () (origName , newName string , origTimestamp , newTimestamp * time.Time , origTZ , newTZ bool , err error ) {
250
+ func (r * FileDiffReader ) ReadFileHeaders () (origName , newName string , origTimestamp , newTimestamp * time.Time , err error ) {
254
251
if r .fileHeaderLine != nil {
255
252
if isOnlyMessage , source , filename := parseOnlyInMessage (r .fileHeaderLine ); isOnlyMessage {
256
253
return filepath .Join (string (source ), string (filename )),
257
- "" , nil , nil , false , false , nil
254
+ "" , nil , nil , nil
258
255
}
259
256
}
260
- origName , origTimestamp , origTZ , err = r .readOneFileHeader ([]byte ("--- " ))
257
+ origName , origTimestamp , err = r .readOneFileHeader ([]byte ("--- " ))
261
258
if err != nil {
262
- return "" , "" , nil , nil , false , false , err
259
+ return "" , "" , nil , nil , err
263
260
}
264
261
265
- newName , newTimestamp , newTZ , err = r .readOneFileHeader ([]byte ("+++ " ))
262
+ newName , newTimestamp , err = r .readOneFileHeader ([]byte ("+++ " ))
266
263
if err != nil {
267
- return "" , "" , nil , nil , false , false , err
264
+ return "" , "" , nil , nil , err
268
265
}
269
266
270
267
unquotedOrigName , err := strconv .Unquote (origName )
@@ -276,29 +273,29 @@ func (r *FileDiffReader) ReadFileHeaders() (origName, newName string, origTimest
276
273
newName = unquotedNewName
277
274
}
278
275
279
- return origName , newName , origTimestamp , newTimestamp , origTZ , newTZ , nil
276
+ return origName , newName , origTimestamp , newTimestamp , nil
280
277
}
281
278
282
279
// readOneFileHeader reads one of the file headers (prefix should be
283
280
// either "+++ " or "--- ").
284
- func (r * FileDiffReader ) readOneFileHeader (prefix []byte ) (filename string , timestamp * time.Time , hadTZ bool , err error ) {
281
+ func (r * FileDiffReader ) readOneFileHeader (prefix []byte ) (filename string , timestamp * time.Time , err error ) {
285
282
var line []byte
286
283
287
284
if r .fileHeaderLine == nil {
288
285
var err error
289
286
line , err = r .reader .readLine ()
290
287
if err == io .EOF {
291
- return "" , nil , false , & ParseError {r .line , r .offset , ErrNoFileHeader }
288
+ return "" , nil , & ParseError {r .line , r .offset , ErrNoFileHeader }
292
289
} else if err != nil {
293
- return "" , nil , false , err
290
+ return "" , nil , err
294
291
}
295
292
} else {
296
293
line = r .fileHeaderLine
297
294
r .fileHeaderLine = nil
298
295
}
299
296
300
297
if ! bytes .HasPrefix (line , prefix ) {
301
- return "" , nil , false , & ParseError {r .line , r .offset , ErrBadFileHeader }
298
+ return "" , nil , & ParseError {r .line , r .offset , ErrBadFileHeader }
302
299
}
303
300
304
301
r .offset += int64 (len (line ))
@@ -308,7 +305,6 @@ func (r *FileDiffReader) readOneFileHeader(prefix []byte) (filename string, time
308
305
trimmedLine := strings .TrimSpace (string (line )) // filenames that contain spaces may be terminated by a tab
309
306
parts := strings .SplitN (trimmedLine , "\t " , 2 )
310
307
filename = parts [0 ]
311
- hadTZ = true
312
308
if len (parts ) == 2 {
313
309
var ts time.Time
314
310
// Timestamp is optional, but this header has it.
@@ -317,16 +313,14 @@ func (r *FileDiffReader) readOneFileHeader(prefix []byte) (filename string, time
317
313
var err1 error
318
314
ts , err1 = time .Parse (diffTimeParseWithoutTZLayout , parts [1 ])
319
315
if err1 != nil {
320
- return "" , nil , hadTZ , err
316
+ return "" , nil , err
321
317
}
322
- hadTZ = false
323
- ts = ts .In (time .Now ().Location ())
324
318
err = nil
325
319
}
326
320
timestamp = & ts
327
321
}
328
322
329
- return filename , timestamp , hadTZ , err
323
+ return filename , timestamp , err
330
324
}
331
325
332
326
// OverflowError is returned when we have overflowed into the start
0 commit comments