Skip to content

Commit d8a092d

Browse files
committed
Merge pull request git-lfs#180 from hawser/download-progress
Download progress
2 parents 550e2a9 + 65db153 commit d8a092d

File tree

4 files changed

+11
-7
lines changed

4 files changed

+11
-7
lines changed

commands/command_smudge.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func smudgeCommand(cmd *cobra.Command, args []string) {
5656
Error(err.Error())
5757
}
5858

59-
err = ptr.Smudge(os.Stdout, cb)
59+
err = ptr.Smudge(os.Stdout, filename, cb)
6060
if file != nil {
6161
file.Close()
6262
}

hawser/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ func callPut(filehash, filename string, cb CopyCallback) *WrappedError {
227227
Reader: file,
228228
}
229229

230-
bar := pb.StartNew(int(fileSize))
230+
bar := pb.New64(fileSize)
231231
bar.SetUnits(pb.U_BYTES)
232232
bar.Start()
233233

pointer/pointer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ func NewPointer(oid string, size int64) *Pointer {
3939
return &Pointer{latest, oid, size, oidType}
4040
}
4141

42-
func (p *Pointer) Smudge(writer io.Writer, cb hawser.CopyCallback) error {
43-
return Smudge(writer, p, cb)
42+
func (p *Pointer) Smudge(writer io.Writer, workingfile string, cb hawser.CopyCallback) error {
43+
return Smudge(writer, p, workingfile, cb)
4444
}
4545

4646
func (p *Pointer) Encode(writer io.Writer) (int, error) {

pointer/smudge.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
package pointer
22

33
import (
4+
"fmt"
5+
"github.com/cheggaaa/pb"
46
"github.com/hawser/git-hawser/hawser"
57
"github.com/technoweenie/go-contentaddressable"
68
"io"
79
"os"
810
)
911

10-
func Smudge(writer io.Writer, ptr *Pointer, cb hawser.CopyCallback) error {
12+
func Smudge(writer io.Writer, ptr *Pointer, workingfile string, cb hawser.CopyCallback) error {
1113
mediafile, err := hawser.LocalMediaPath(ptr.Oid)
1214
if err != nil {
1315
return err
1416
}
1517

1618
var wErr *hawser.WrappedError
1719
if stat, statErr := os.Stat(mediafile); statErr != nil || stat == nil {
18-
wErr = downloadFile(writer, ptr, mediafile, cb)
20+
wErr = downloadFile(writer, ptr, workingfile, mediafile, cb)
1921
} else {
2022
wErr = readLocalFile(writer, ptr, mediafile, cb)
2123
}
@@ -27,7 +29,7 @@ func Smudge(writer io.Writer, ptr *Pointer, cb hawser.CopyCallback) error {
2729
}
2830
}
2931

30-
func downloadFile(writer io.Writer, ptr *Pointer, mediafile string, cb hawser.CopyCallback) *hawser.WrappedError {
32+
func downloadFile(writer io.Writer, ptr *Pointer, workingfile, mediafile string, cb hawser.CopyCallback) *hawser.WrappedError {
3133
reader, size, wErr := hawser.Download(mediafile)
3234
if reader != nil {
3335
defer reader.Close()
@@ -47,6 +49,8 @@ func downloadFile(writer io.Writer, ptr *Pointer, mediafile string, cb hawser.Co
4749
return hawser.Errorf(err, "Error opening media file buffer.")
4850
}
4951

52+
fmt.Fprintf(os.Stderr, "Downloading %s (%s)\n", workingfile, pb.FormatBytes(ptr.Size))
53+
5054
_, err = hawser.CopyWithCallback(mediaFile, reader, ptr.Size, cb)
5155
if err == nil {
5256
err = mediaFile.Accept()

0 commit comments

Comments
 (0)