Commit Graph
100 Commits
Author SHA1 Message Date
Riyyi cf27699c00 Test: Also delete symbolic links that point to non-existent files 2022-03-01 22:38:46 +01:00
Riyyi 06042588ee Manager: Create directories for holding symlinks when pushing/pulling 2022-03-01 16:57:39 +01:00
Riyyi 59fe52202b Test: Update selectively commenting test to include C-style comments 2022-02-11 21:48:21 +01:00
Riyyi 8ccdd907fc Manager: Add support for C-style comments when pushing dotfiles 2022-02-11 21:41:17 +01:00
Riyyi 272c728e13 Manager: Use early-exit return style to decrease nesting 2022-02-10 14:15:57 +01:00
Riyyi b10711686f Manager: Remove unused variable 2022-02-10 14:11:59 +01:00
Riyyi dbf444ae48 Meta: Add exclude paths and system directories to README.org 2022-02-10 13:43:15 +01:00
Riyyi 5960549015 Meta: Update build requirements formatting in README.org 2022-02-10 00:02:33 +01:00
Riyyi 644255200e Meta+CMake: Convert JSON library from git submodule to system package 2022-02-09 23:57:38 +01:00
Riyyi 91df37328e Manager: Update headers 2022-02-09 23:00:05 +01:00
Riyyi d1b2608e8f CMake+Doc: Add configuration file example 2022-02-09 22:56:04 +01:00
Riyyi 16947b93e2 Manager+Test: Move exclude paths and system directories to config 2022-02-08 23:39:12 +01:00
Riyyi da91c4b3fd Manager: Add config file parsing 2022-02-08 22:54:57 +01:00
Riyyi b7fce68144 Meta: Add JSON parsing library dependency 2022-02-08 22:52:21 +01:00
Riyyi c853dfcf24 Manager: Search config file recursively from the working directory 2022-02-07 21:37:15 +01:00
Riyyi 12c11cff9e Manager: Move working directory to the config class 2022-02-07 21:26:50 +01:00
Riyyi e5cce5f3a9 Manager: Convert package class to singleton 2022-02-07 16:57:15 +01:00
Riyyi 63d011d00a Meta: Add build requirements to README.org 2022-02-07 13:20:47 +01:00
Riyyi 9b87ad7f1d CMake: version 3.16 doesn't support the rm command 2022-02-07 12:57:11 +01:00
Riyyi ef1fce060a Manager: Drop 'sudo' package dependency 2022-02-02 22:24:12 +01:00
Riyyi 439f39218b Manager: Drop 'cat' package dependency 2022-02-02 22:10:37 +01:00
Riyyi 7672180eb7 Manager: Handle package list errors 2022-02-02 21:49:05 +01:00
Riyyi 3a10ca3d59 Manager: Drop 'which' package dependency 2022-02-02 21:25:25 +01:00
Riyyi 18da83e7bb Manager: Implement AUR helper detection 2022-02-02 21:17:09 +01:00
Riyyi 4bf7b3d38f Manager: Put machine information fetching in separate functions 2022-02-02 18:10:35 +01:00
Riyyi 5f023e579a Manager: Enable flag for -git AUR package installation 2022-02-02 14:07:45 +01:00
Riyyi 50c98b1482 Manager: Implement package installation 2022-02-02 12:29:10 +01:00
Riyyi 42b34aad61 Manager: Create package list file if non-existent 2022-02-01 18:16:56 +01:00
Riyyi 592ee124cb Manager: Do not print debugging output on release mode 2022-01-31 20:42:17 +01:00
Riyyi 8cb2affc50 Manager: Clean up main.cpp 2022-01-31 20:26:44 +01:00
Riyyi 9656760ef8 Test: Move unit tests into separate directory 2022-01-31 15:56:28 +01:00
Riyyi 5147721fb5 Meta: Fix typo in README.org 2022-01-31 15:14:45 +01:00
Riyyi 25905594a2 Meta: Add build instructions and basic usage to README.org 2022-01-31 11:17:45 +01:00
Riyyi d4ef69451e CMake: Rename project stowage => manafiles 2022-01-31 11:14:31 +01:00
Riyyi aad44f95ff CMake: Add uninstall target 2022-01-30 21:02:54 +01:00
Riyyi bbed6acee9 CMake+Doc: Add man page and its installation 2022-01-30 21:02:54 +01:00
Riyyi 3c1f55768f CMake: Add installation of the program binary 2022-01-29 21:59:51 +01:00
Riyyi 688ae78fd3 CMake: Put the run target in the targets section 2022-01-29 21:58:52 +01:00
Riyyi d8a752ac83 CMake: Improve build type detection 2022-01-29 17:37:44 +01:00
Riyyi 49448de932 CMake: Reorganize root file 2022-01-29 17:37:44 +01:00
Riyyi 401a70fbd7 CMake: Version 2.4 and below should fail instead of giving a warning 2022-01-28 21:21:43 +01:00
Riyyi 9ace822a46 CMake: Define language in project targets, dedup CXX settings 2022-01-28 11:32:13 +01:00
Riyyi c4019cde11 Test: Add test case for selectively commenting 2022-01-25 14:18:32 +01:00
Riyyi 91f8253ed5 Test: Update verify macro to support a custom result behavior 2022-01-25 13:58:44 +01:00
Riyyi b9aff29293 Test: Convert homeDirectory std::string => std::filesystem::path 2022-01-24 19:52:23 +01:00
Riyyi 1a9b0d870a Test: Properly test adding non-existing dotfiles 2022-01-24 19:46:41 +01:00
Riyyi c61aefa2e3 Test: Add dotfile test case for path exclusion 2022-01-24 19:39:51 +01:00
Riyyi 4fd90cfa43 Test: Only compute process ID once 2022-01-24 17:47:50 +01:00
Riyyi e2f9ed1176 Test: Fix file permissions for system file tests 2022-01-24 17:27:40 +01:00
Riyyi 422f71f19e Test: Add system file test cases 2022-01-24 15:02:15 +01:00
Riyyi ff92522b8c Test: Add stderr stream pointer to the test suite 2022-01-24 14:58:48 +01:00
Riyyi b961e17b50 Test: Set ownership of created dotfile test files to the current user 2022-01-24 14:45:40 +01:00
Riyyi eb4822b44b Test: Add macro that bails function if the condition fails 2022-01-24 14:44:04 +01:00
Riyyi 82f38345d1 Manager: Fix system target detection in working directory 2022-01-24 14:24:17 +01:00
Riyyi 1b4de8fb5d Manager: Run clang-format 2022-01-24 01:09:22 +01:00
Riyyi 4da262a8fe Manager: Add working directory getter 2022-01-24 01:03:30 +01:00
Riyyi c032373940 Manager: Add verbose flag and store it in new Config class
Check the verbosity in the Dotfile class when printing file operations.
2022-01-24 01:03:30 +01:00
Riyyi 5ec1272172 Manager: Set process group ID before user ID
setegid() needs to be called before seteuid(); otherwise, the setegid()
call will fail because the process no longer has root privileges.
2022-01-24 01:03:30 +01:00
Riyyi 7856e9017c Test: Add dotfile test cases 2022-01-24 01:03:30 +01:00
Riyyi 8c8eb01d18 CMake: Compile all sources for the test suite binary 2022-01-24 01:03:30 +01:00
Riyyi 5d5c37a496 Manager: Detect system files correctly during add and pull operations 2022-01-24 00:29:50 +01:00
Riyyi d7ff637fd0 Manager: Convert dotfile class to singleton 2022-01-24 00:29:50 +01:00
Riyyi 54dc515def Util: Make file append const reference 2022-01-24 00:29:50 +01:00
Riyyi 817b898b28 Test: Fix memory leak when adding a test case 2022-01-24 00:29:50 +01:00
Riyyi a8e73063ee Util: Add file create function 2022-01-24 00:29:50 +01:00
Riyyi abbf764a3e Manager: Add feature to selectively comment and uncomment 2022-01-24 00:29:50 +01:00
Riyyi 7f8ca38462 Manager: Use constructor over auto 2022-01-24 00:29:50 +01:00
Riyyi 7be7440840 Manager: Deduplicate code between pulling and pushing functions 2022-01-24 00:29:50 +01:00
Riyyi 80642793a6 Manager: Fix directory creation in the dotfile directory 2022-01-24 00:29:50 +01:00
Riyyi bf02122d2d Manager: Cut off working directory from error message 2022-01-24 00:29:50 +01:00
Riyyi 50c859fd34 Manager: Fix system target detection 2022-01-24 00:29:50 +01:00
Riyyi 5cca591448 Manager: Rename paths -> indices where applicable 2022-01-24 00:29:50 +01:00
Riyyi 7004ce2bb0 CMake: Pass the C++ language standard to the compiler 2022-01-24 00:29:50 +01:00
Riyyi bc3fc6c345 Manager: Put machine specific values in a separate class 2022-01-24 00:29:50 +01:00
Riyyi 26826bc077 Manager: Update main for current functionality 2022-01-09 15:49:21 +01:00
Riyyi aa702b79b9 Manager: Move package list grabbing to separate function 2022-01-09 15:47:03 +01:00
Riyyi ac862982da Doc: Update readme 2022-01-09 15:45:36 +01:00
Riyyi d9f95f5332 Manager: Add fixme to user getlogin() 2022-01-09 15:43:13 +01:00
Riyyi 2af81120c3 Manager: Implement convenience functions in Package 2021-10-02 17:28:44 +02:00
Riyyi a04b5232f4 Util: Add delimiter support to the cut function 2021-10-02 12:14:14 +02:00
Riyyi 22082a515b Util: Add convenience functions to save external process creation 2021-09-26 00:14:43 +02:00
Riyyi be552db0fb Manager: Start working on package tracking 2021-09-25 17:16:33 +02:00
Riyyi 418b453507 Util: Add file class 2021-09-25 16:55:37 +02:00
Riyyi ee451671cd Util: Fix reading of file descriptors longer than 4096 bytes 2021-09-25 11:29:49 +02:00
Riyyi 9ff368e511 Manager: Remove Dotfile from namespace 2021-09-24 11:08:50 +02:00
Riyyi 5226e6a24a Manager: Add file pushing function 2021-09-23 20:09:12 +02:00
Riyyi 34e0dc72ec Manager: Don't need to do a full capture 2021-09-23 20:01:46 +02:00
Riyyi e6842f58d8 Manager: Remove non-related parameter from callback 2021-09-23 20:00:18 +02:00
Riyyi c14db5bd46 Manager: Rename files to paths 2021-09-23 19:57:17 +02:00
Riyyi 5f2bbce080 Manager: Add file pulling function 2021-09-23 19:54:32 +02:00
Riyyi f3ed90e499 Manager: Rename targets to paths 2021-09-23 17:36:04 +02:00
Riyyi cb592b8d2c Manager: Make file syncing logic generic 2021-09-23 17:35:13 +02:00
Riyyi 58bf5b98ee Manager: Add function to check if file is system type 2021-09-23 17:24:17 +02:00
Riyyi e7d1515fca Manager: Add index to dotfile iteration loop 2021-09-23 16:01:19 +02:00
Riyyi e4d90bf281 Manager: Make the callable functions non-static 2021-09-23 00:40:02 +02:00
Riyyi 7920b7280e Manager: Add generic dotfile looping 2021-09-23 00:38:48 +02:00
Riyyi de4b96bd47 Manager: Add Dotfile adding function 2021-09-22 00:26:23 +02:00
Riyyi f8ccfe79b8 Manager: Add target filtering to Dotfile::list() 2021-09-20 18:18:31 +02:00
Riyyi 1893f08ea8 Manager: Start working on dotfile class 2021-09-20 01:00:14 +02:00
Riyyi 12dd000f0b Util: Pass string by const reference 2021-09-19 11:46:19 +02:00