Commit graph

49 commits

Author SHA1 Message Date
d6f71d4b8b refactor(tree): removed unneeded function prototype 2025-09-12 23:08:40 +02:00
2773588023 feat(tree): added save_tree_diff 2025-09-11 23:52:34 +02:00
68885cb20f feat(file): added missing fee for file content 2025-09-10 23:14:01 +02:00
b28ff5f0e9 refactor(diff): changed the ordering of ActionType to accomedate the numbers that are saved in the object database 2025-09-09 23:50:31 +02:00
f27b523fbf fix(file): double free issue 2025-09-08 23:59:00 +02:00
1e3934cf20 fix(diff): myers now also strdups the line of the file on insert action when taking the diff 2025-09-07 04:22:30 +02:00
252bdc281e refactor(hash)!: added TreeDiffObject and changed the name from DiffObject to FileDiffObject 2025-09-06 19:34:51 +02:00
b4dff29a5c feat(basefiles): added utility to convert a BaseFileBuffer into a FileInfoBuffer 2025-09-05 21:15:42 +02:00
315e37b643 feat(actions): added content field to Action to copy the insert text 2025-09-04 23:12:36 +02:00
1dd9e2cbca feat(file): added utility functions to copy a file and insert/delete lines of the file 2025-09-03 23:42:50 +02:00
c8e5cd7095 fix(hash): removed LogObject because logs are mutable and not static (aka do not belong into the object database) 2025-09-02 02:01:20 +02:00
e9cf112c56 feat(hash)!: added the DiffObject case for the object id generation and renamed FileObject to BaseFileObject 2025-09-01 20:45:07 +02:00
96ebd49533 fix(diff): split myers into header and source file to mitigate import errors 2025-08-31 18:02:52 +02:00
0e07d4b63c feat(file): added saving a file snapshot to the object database 2025-08-31 04:43:11 +02:00
90ae57e1e8 refactor(tree): removed debug prints 2025-08-31 03:44:02 +02:00
8cc5c6310b feat(config,utilities): added a function to create a default config 2025-08-31 03:42:33 +02:00
0fbfe09638 feat(build): added maths to the CMakeLists file 2025-08-30 21:48:31 +02:00
a089bc43c3 feat(config): added a simple user config 2025-08-29 20:15:19 +02:00
1e4677bcda feat(config): added cktan/tomlc17 to the project 2025-08-28 23:48:39 +02:00
e3a2f43871 feat(utilities,basefiles): added remove function to List and BaseFileBuffer 2025-08-28 19:18:03 +02:00
967b79d9ba feat(cli): added some base functionality to the commit and files command 2025-08-28 17:01:41 +02:00
358db79882 feat(utilities): added the get_file_content_with_size to properly handle binary files 2025-08-28 17:00:49 +02:00
37a696bd38 feat(file): changed the mode type from uint32_t to the proper mode_t 2025-08-28 16:58:57 +02:00
1606f479db feat(basefiles): added the BaseFileBuffer with BaseFileInfo and its core functionality to track files in the repo 2025-08-28 16:15:16 +02:00
a3ee042758 refactor(tree): changes according to API changes of the FileInfoBuffer 2025-08-28 03:49:51 +02:00
52e740fab0 refactor(utilities)!: renamed PathBuffer to StringBuffer 2025-08-28 03:48:44 +02:00
983c6d4ca4 refactor(tree)!: renamed the save_tree function to snapshot_tree 2025-08-27 03:00:35 +02:00
e63fb4a0fa refactor(tree,utilities)!: moved the PathBuffer to utilities 2025-08-27 02:57:32 +02:00
326a33a3f4 refactor(tree,utilities)!: moved find_root and walk to the utilities and removed the Tree struct in favor or the FileInfoBuffer 2025-08-27 02:03:05 +02:00
8efadf051c refactor(tree)!: changed the api of the PathBuffer and generalized it to a List of char* 2025-08-27 01:23:00 +02:00
7113b53caa feat(utilities): added the List struct for a general purpose dynamic array 2025-08-27 01:22:18 +02:00
5b134edac6 feat(file): added the FileInfo struct 2025-08-27 01:21:29 +02:00
f4d15dd890 feat(build): added openssl to the CMakeLists file 2025-08-27 01:20:25 +02:00
d9066f10de feat(hash): added basic hashing functions to gain object ideas for the object storage 2025-08-26 00:07:53 +02:00
d7e754b67e feat(tree): added an option to get the full repo path in walk and added a sort function for the path buffer 2025-08-25 23:14:50 +02:00
02df919575 feat(utilities): split utilities single header into header and c file 2025-08-25 23:13:31 +02:00
b7710d02a9 feat(tree): added a simple function to save tree snapshots compressed to the disk 2025-08-24 23:52:06 +02:00
e52740a03b refactor(cli)!: renamed status command to files and changed directory structure for the .merk dir 2025-08-23 12:11:53 +02:00
483cb08a83 feat(utilities): added cut_path and combine_path to modify paths for storage and later usage in the file system 2025-08-22 23:54:29 +02:00
25480fc92f feat: added a more general way to display relative paths for the status cli command 2025-08-21 14:28:07 +02:00
c372a5f8bc feat: added a simple filesystem tree walk and the status cli command to get a list of untracked files 2025-08-20 21:44:04 +02:00
8b862f8b87 feat(cli): added init command to create a merk repository in the local directory 2025-08-19 23:20:28 +02:00
c8b4d93c89 feat(cli): added the diff command to display the difference of two files 2025-08-18 16:34:56 +02:00
190aa7cc76 feat(diff): implemented the myers diff algorithm with longest common subsequence and printing the diff 2025-08-17 18:20:04 +02:00
f7043cc03a docs(action_list): small comments 2025-08-17 17:08:14 +02:00
e8338d011d feat(file): added empty file creation and slicing a file 2025-08-17 17:07:16 +02:00
4e4e7be60e feat: read files and split them by lines 2025-08-16 08:16:04 +02:00
390f2d367a fix: moved actions to action list 2025-08-16 01:02:06 +02:00
c18a85f1cc feat: initial commit 2025-08-16 00:45:53 +02:00