aboutsummaryrefslogtreecommitdiff
path: root/libbutl/filesystem.cxx
AgeCommit message (Collapse)AuthorFilesLines
2023-06-22Half Windows sleep times, use exponential backoff in fdselect()Boris Kolpackov1-5/+5
2023-05-16Allow passing custom permissions to cpfile()Boris Kolpackov1-2/+5
2023-01-09Add mtime() and atime() to dir_entryKaren Arutyunov1-50/+129
2022-12-26Optimize path_permissions() and entry_tm() on WindowsKaren Arutyunov1-31/+57
2022-12-26Optimize dir_iterator and path_entry() on WindowsKaren Arutyunov1-151/+191
2022-12-12Support detecting inaccessible/dangling entries in dir_iterator, path_search()Karen Arutyunov1-86/+256
2022-08-25Work around bogus -Wrestrict warning in MinGW GCC 12Boris Kolpackov1-1/+1
2021-09-28Get rid of C++ modules related code and rename *.mxx files to *.hxxKaren Arutyunov1-38/+7
2021-09-08Factor "buffered streambuf" interface from fdbuf to bufstreambufBoris Kolpackov1-1/+1
Also rename fdbuf to fdstreambuf for consistency.
2021-03-18Add fdstat()fdstatBoris Kolpackov1-3/+4
2021-03-18Add try_rmfile_ignore_error()Boris Kolpackov1-2/+4
2020-11-06Add fdselect() overload that also takes timeoutKaren Arutyunov1-1/+1
2020-08-31Fix assertion failure in path_search() on WindowsKaren Arutyunov1-4/+7
Also fix the similar potential assertion failure in fdstream.
2020-08-06Revert Windows rm/mv sharing violation retries increaseBoris Kolpackov1-2/+2
2020-08-05Increase Windows rm/mv sharing violation retries to 60s for testingBoris Kolpackov1-2/+4
2020-07-16On Windows increase fdopen() retry timeout on ERROR_SHARING_VIOLATION up to ↵Karen Arutyunov1-4/+4
2 seconds from 1 Also do the same for mventry(), and try_rmfile().
2020-07-07On Windows make fdopen() to retry for a second on ERROR_SHARING_VIOLATION errorKaren Arutyunov1-1/+4
2020-06-24Restructure touch_file() control flow to produce consistent failuresBoris Kolpackov1-52/+56
2020-06-24Don't use utime() on WindowsBoris Kolpackov1-26/+74
It has the seconds precision even if the time is unspecified.
2020-03-17Fix mkanylink() to complete relative target against link directory when ↵Karen Arutyunov1-4/+16
create hardlink or copy
2020-03-17Add readsymlink(), followsymlink(), and try_followsymlink()Karen Arutyunov1-233/+571
2020-03-11Fix race in dir_iterator::next() for 'ignore dangling symlinks' modeKaren Arutyunov1-54/+110
2020-03-11On Windows try to create directory symlink and fallback to creating junction ↵Karen Arutyunov1-41/+42
on error
2020-03-09Add more support for symlinks on WindowsKaren Arutyunov1-438/+651
See mksymlink() for details of the symlinks support on Windows.
2020-03-03Revert previous (erroneously pushed to master) commitKaren Arutyunov1-100/+5
2020-03-02BackupKaren Arutyunov1-5/+100
2020-02-06Drop copyright notice from source codeBoris Kolpackov1-1/+0
2019-10-01Move path match to path-pattern.?xxKaren Arutyunov1-408/+2
2019-09-28Swap entry and pattern parameters in path_match()Karen Arutyunov1-4/+4
2019-09-27Add support for bracket expressions in wildcard pattern matchingKaren Arutyunov1-36/+284
2019-09-25Get rid of used uninitialized GCC warningBoris Kolpackov1-1/+1
2019-08-14Add mkanylink() filesystem functionBoris Kolpackov1-0/+56
2019-06-03Fix missing for Windows traits alias renamingKaren Arutyunov1-2/+2
2019-06-03Rename traits alias to traits_type for basic_path, basic_url, and ↵Karen Arutyunov1-2/+2
string_table class templates
2019-05-23Improve path_traits convenience overloadsBoris Kolpackov1-1/+1
2019-05-03Partially dismantle modularization using Modules TS semanticsBoris Kolpackov1-4/+4
2019-02-16Fix non-detecting dangling junctions if built with mingw gccKaren Arutyunov1-46/+78
2019-02-15Fix rmdir_r() that may throw system_error regardless of ignore_error flag valueKaren Arutyunov1-7/+18
2019-02-15Fix directory symlinks support on WindowsKaren Arutyunov1-77/+101
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2018-12-01Change path_search() to only match directory absent components in 'match ↵Karen Arutyunov1-25/+4
absent' mode
2018-11-30Add match_absent flag for path_{search,match}() functionsKaren Arutyunov1-8/+46
2018-11-26Add note on "filesystem time" on WindowsBoris Kolpackov1-1/+8
2018-09-05Keep trying to remove file for a second on WindowsKaren Arutyunov1-19/+36
The thinking is that there can be some Windows process analyzing newly created files and so preventing their removal.
2018-09-04Minor comment changeBoris Kolpackov1-1/+1
2018-09-03Keep trying to move filesystem entry for a second on WindowsKaren Arutyunov1-14/+38
The thinking is that there can be some Windows process analyzing newly created files and so preventing their move or removal.
2018-06-01Remove redundant assertion in path_match(path, path, dir_path)Karen Arutyunov1-14/+6
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-05-18Fix broken dangling symlinks detection by dir_iteratorKaren Arutyunov1-6/+6
2018-05-18Add ignore_dangling parameter to dir_iterator() ctorKaren Arutyunov1-19/+50