git-lfs/tools
brian m. carlson 28696afe9f
tools: close channel if we fail during walking
If the user runs git lfs track (or almost any command), we'll try to
clean up any temporary files that may be left around.  When doing so, we
walk the temporary directory, looking for any files.

Normally, this works great, but when the user is in a repository that is
owned by another user, the temporary directory may not have been created
and in such a case, our walk may fail.  If so, that's fine, but when we
return an error, we need to be sure to clean up the WaitGroup and close
the channel.  If we don't, the tools.fastWalkCallback routine will hang
waiting for the channel and we won't make any more progress, so the
program will just hang.  Let's defer the Wait call so we always clean up
on the way out.
2020-08-06 21:15:06 +00:00
..
humanize Fix humanize's FormatByteRate() to work with 0s duration 2018-10-24 15:02:40 +00:00
kv tools/kv: Fix dropped test error 2019-10-25 13:25:52 -07:00
channels.go extract base channel wrapper to tools 2016-11-18 12:02:38 -07:00
copycallback_test.go progress,tools: move CopyCallback (and related) to 'tools' 2017-11-22 14:08:33 -08:00
copycallback.go fix upload retry 'file already closed' issue' 2020-02-26 11:13:54 +08:00
cygwin_windows.go tools: detect MINGW as Cygwin 2019-08-02 17:23:46 +00:00
cygwin.go tools: wrap os.Getwd with cygwin support 2017-02-20 15:25:43 -07:00
filetools_test.go Use git-ls-files to enumerate repo contents 2019-09-17 17:41:00 -07:00
filetools.go tools: close channel if we fail during walking 2020-08-06 21:15:06 +00:00
iotools_test.go update package imports 2016-11-15 10:01:18 -07:00
iotools.go Tidy files 2019-10-02 19:17:28 +00:00
math_test.go tools/math: teach tools.ClampInt to clamp integers 2017-06-09 17:56:21 -06:00
math.go tools/math: teach tools.ClampInt to clamp integers 2017-06-09 17:56:21 -06:00
ordered_set_test.go tools: introduce tools.OrderedSet 2017-06-21 16:50:19 -06:00
ordered_set.go tools: introduce tools.OrderedSet 2017-06-21 16:50:19 -06:00
os_tools.go tools: handle missing cygpath gracefully 2019-11-25 16:11:54 +00:00
robustio_windows.go Implement retry logic to fix LFS storage race conditions on Windows 2019-11-05 17:30:13 +03:00
robustio.go Implement retry logic to fix LFS storage race conditions on Windows 2019-11-05 17:30:13 +03:00
str_tools_test.go tools: move ShellQuote to subprocess 2018-09-14 21:50:09 +00:00
str_tools.go tools: move ShellQuote to subprocess 2018-09-14 21:50:09 +00:00
stringset.go Fix Typos 2019-07-24 07:17:40 +00:00
sync_writer.go tools: add empty functions when missing in *SyncWriter 2017-12-01 09:39:02 -08:00
time_tools_test.go tools/time_tools: test tools.IsExpiredAtOrIn 2017-04-06 13:38:31 -06:00
time_tools.go tools: compare expiration to "time.Now" instead of "from" 2017-08-25 14:48:33 -04:00
umask_nix.go tools: add function to make directories honoring core.sharedRepository 2018-12-13 17:51:02 +00:00
umask_windows.go tools: add function to make directories honoring core.sharedRepository 2018-12-13 17:51:02 +00:00
util_darwin_test.go Add new command git lfs dedup for file system level deduplication. 2019-08-19 10:44:37 +09:00
util_darwin.go Revert "Stop replacing files in LFS storage when downloading them concurrently on Windows" 2019-11-05 17:30:13 +03:00
util_generic.go tools: remove the use of cgo on Linux 2020-02-14 15:16:02 +00:00
util_linux.go tools: remove the use of cgo on Linux 2020-02-14 15:16:02 +00:00
util_test.go Add new command git lfs dedup for file system level deduplication. 2019-08-19 10:44:37 +09:00
util_windows_test.go Revert "Stop replacing files in LFS storage when downloading them concurrently on Windows" 2019-11-05 17:30:13 +03:00
util_windows.go Revert "Stop replacing files in LFS storage when downloading them concurrently on Windows" 2019-11-05 17:30:13 +03:00