-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
144 lines (105 loc) · 7.9 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# 5.19, 2024 June 7
# added UPDATE status = 'moved' in movebylistindb
# 5.18, 2024 June 7
# fix: added 'ORDER BY disk,filepath' to SELECTs of 'total' command to make summary hash same for disks
# 5.17, 2024 June 6
# added commands:
# movebylistondisk - move/rename files and folders with contents (aka recursively) based on list of sublocations provided (--files_l) within location (--files),
# movebylistindb - move/rename files and folders with contents (aka recursively) based on list of sublocations provided (--files_l) within database (--db)
# some changes to output of functions for other commands
# 5.16, 2024 June 6
# added more additional help and other output
# 5.15, 2024 June 6
# changes to output for more info and clarity, added notDeletedFilter in SELECTs of sync and deletebylist
# 5.14, 2024 June 5
# added commands:
# deletebylistondisk - delete (now move to --files_r location) files and folders with contents (aka recursively) based on list of sublocations provided (--files_l) within location (--files_d),
# deletebylistindb - delete files and folders with contents (aka recursively) based on list of sublocations provided (--files_l) within database (--db)
# 5.13, 2023 Nov 22
# minor change in output for more clarity
# 5.12, 2023 Nov 7
# added info in output at the end of deletefiles function
# 5.11, 2023 Nov 7
# added details in output of sync function to more easily identify and analyse issues
# bug fix: changed encoding of files_functions.py and added python command to the first line to guard against accidental running as bash shell script
# added TODO item: implement some easy to use code to move/rename files
# 5.10, 2023 Sep 22
# for read command added check of existence of files of given disk in db (if disk is in db already one might make duplicate entries by reading same files again)
# 5.9.4, 2023 Sep 3
# added check if recursion is needed during search for duplicate folders
# 5.9.3, 2023 Sep 1
# changed LIKE to GLOB in SQL queries of comparefolders (for duplicate folders) and code started to work again about as fast as before recursion
# 5.9.2, 2023 Sep 1
# recursion added to search for duplicate folders for e.g. finding /b/ in /a/b/c/b/files (occurences of same searched for folder name on several levels) - code again became about as slow as before recent optimizations
# added --debug option for output of more technical processing info
# 5.9.1, 2023 Sep 1
# optimized comparefolders: changed SQL calls to be called once per find found - some cases of multiple same name folders for large DB became faster ~100 times; during that rewrote parts of comparefolders to use subfolders_separator to be potentially Windows ready
# 5.9, 2023 Aug 31
# first optimization of comparefolders - moving one SQL query to execute once for every folder to find not for every folder found for every folder to find
# 5.8, 2023 Aug 31
# added search in path to search in name
# 5.7, 2023 July 15
# added Ctrl-C signal suspension in functions copymarked and sync_one_way to have both changes to files on disk and database entries made before intettuption occurs (not interrupted between)
# 5.6, 2023 July 10
# for link type files changed how sha256 fields are set on read/add (addfiles function) - now sha256_start = "link", sha256_end - location where links points to, for existing database entries when encountered by addfiles function if link in another sha256 "format" (no "link" in sha256_start field) changing to new format
# 5.5, 2023 July 9
# add optional usage of --pattern for sync to select only part of filepaths in a location/folder for syncing
# 5.4, 2023 June 23
# fix infinite loop that was happening in simulateonly mode when deleting empty folders when they were present
# 5.3, 2023 January 21
# added deletefolders command with code to identify duplicate folders as many software folders contain some of same files, delete only if whole folder matches
# added verbose flag for more output, used in deletefolders
# version 5.2, 2023 January 4
# fix checking for disk parameter for read command
# added removal of traling / from paths supplied as parameters to ensure consistency
# version 5.1, 2022 Decemeber 2
# moved checks for existence of paths and disks in db from functions to checks at the beginning
# added for copymarked function reading quantity of files to copy and progress output
# version 5.0, 2022 Decemeber 2
# added sync2 to sync both ways, for that changed code - added disk variable to addfiles function
# sync now adds new files to db at the end
# output (print) formatting enhancements
# version 4.5, 2022 Decemeber 1
# changed addfiles() to properly read links (even if broken), checking islink() and using lstat()
# added version command
# fix copymarked to copy symlinks, some minor output fix and enhancements
# added sync command to copy files absent on a disk in db compared to other disk contents per db, copied files on destination are NOT added to db
# version 4.4 2022 October 24
# for "copy" added exception catch when checking for existence of source/destination file and re-try reading several times (error was often due to USB malfunction)
# re-try not tested yet, copy function works after adding above changes
# minor comment fix for "makedirs"
# version 4.3 2022 October 17
# fixed check for duplicates for "add" command in case of files containing double quotation marks; minor comment fix
# version 4.2 2022 July 10
# added check for disk (diskname) for "add" command
# version 4.1 2022 May 15
# added add command - read directory similar to read but check if filepath already in db, if so skip
# added add_index_db_table_filepath to make index to search faster for add command and renamed add_index_db_table to add_index_db_table_sha256
# added signal_handler to commit changes to db on ctrl-C press
# version 4.0 2021 April 11
# added makedirs command - create empty directory structure from database entries, see help for more info
# version 3.9 2021 March 31
# added add_index_db_table to files_functions.py module and call it here to speed up comparing entries about 1000 (1k) times in case of large data sets
# version 3.8 2021 march 23
# fixed error on checktime, which was false always, changed to canonic way per https://stackoverflow.com/questions/15008758/parsing-boolean-values-with-argparse
# version 3.7
# fixed checktime error: effect was opposite of planned, added "not" to
# checkTime = not (args.notchecktime or args.notmatchtime)
# strage how I did not see it before...maybe if flipped on some version
# version 3.6 / 2021 March
# added --notmarchtime, changed/added some comments
# changed deletesame to work with files_d and tablename_temp instead of files and tablename_main (would be easier to use db after for deletemarked as would use same table)
# version 3.5 / 2021 Feb
# implemented search for action filled-in during previous runs (--action)
# version 3.4 / 2021 Jan
# implemented command deletesame - delete duplicates in same location (--files) by filesize, sha256; also by name (exact or not, partial matching option same effect as do not match) and timestamp (exact ot not)
# version 3.3
# delete works with db and now also other pata
# TO DO test renaming function
# version 3.2
# deletemarked function is changed to need diskname (default diskname stored when not supplied during reading is "temp" and it is set automatically to that for deletesame) as a safeguard and to work with partial path from database adding files_d parameter at beginning for path;
# all functions changed to use partial paths - excluding path to whole structure, w/out leading /, so it is expected to supply paths ending with / for commands like "deletemarked")
# deletion works with --files_d parameter now, not --files
# version 3.1
# copy files from one location - (files parameter) to other (files_c parameter) for those files where action field in db is set to 'tocopy' from specific disk (disk parameter)
# TO DO - in db paths are now stored not full when reading, but only part w/out path to - so need for change code here (DONE in 3.2)