Commit Graph

63 Commits

Author SHA1 Message Date
HouXiaoxuan
cc428bcae2 清理警告,删除不需要的util,注释暂时不用的成员函数,为仅测试函数加宏 2023-12-28 22:45:19 +08:00
HouXiaoxuan
f88ab0e33a 修改Blob逻辑,主要变更为 Blob 与 objects文件解构。store作为与objects文件交互的唯一依赖。具体为:
1. Blob使用Content新建而不是path
2. workdir的读写能力由util::read|write workfile提供
3. 判断文件是否更改不直接计算hash,经由新建一个不保存的Blob进行。现在Hash算法只由Store决定。
2023-12-28 22:25:54 +08:00
HouXiaoxuan
b3aea1d0d1 为Blob增加压缩支持,IO优化放置到Store中 2023-12-28 22:02:02 +08:00
HouXiaoxuan
cdc289b3bb 拆分util文件 2023-12-28 18:52:30 +08:00
mrbeanc
2106951787 恢复index更改 2023-12-28 18:39:47 +08:00
HouXiaoxuan
511a3d6c6e 将test的util函数移动到test宏下,去除unused警告 2023-12-28 15:03:15 +08:00
HouXiaoxuan
6d697e3e74 删除lib.rs,调整文件结构 2023-12-28 15:02:14 +08:00
mrbeanc
3a4973ce9b Revert "根据GPT说法,18年以后Rust可以去掉mod.rs"
This reverts commit 228e1d681e.
2023-12-28 13:55:25 +08:00
mrbeanc
4e1e13f71e 删除Index析构自动保存,时机不可控,改为手动+main结束自动save 2023-12-28 13:53:48 +08:00
mrbeanc
b568e87925 将Index改为单例模式,防止状态不一致; 注意:测试为单进程,需要reset防止共享单例 2023-12-28 13:53:47 +08:00
HouXiaoxuan
228e1d681e 根据GPT说法,18年以后Rust可以去掉mod.rs 2023-12-27 22:12:47 +08:00
mrbeanc
dc0a3138ad 优化import导入和mod导出,简化使用 2023-12-26 14:59:06 +08:00
mrbeanc
ee4ab06da3 完善restore逻辑,默认从index恢复(若没有--source且没有--staged) 2023-12-24 18:01:15 +08:00
mrbeanc
07dfd24d32 fix: status命令对当前目录进行过滤 & 改进util泛型模板 2023-12-24 11:46:07 +08:00
HouXiaoxuan
da45202882 fix stack overflow 纠正tree代码逻辑 2023-12-23 20:52:25 +08:00
mrbeanc
655224e1cb 优化:小重构restore 提升可读性 2023-12-23 20:12:33 +08:00
HouXiaoxuan
9cbe0a5031 TODO 2023-12-23 19:21:51 +08:00
mrbeanc
d4009cd2cf 基本实现restore命令 2023-12-23 16:11:54 +08:00
HouXiaoxuan
282b3556d1 tree生成该用index参数 2023-12-23 16:01:18 +08:00
HouXiaoxuan
c8b45c0b83 去除setup_with_mit,使用clarm_mit代替 2023-12-23 10:44:49 +08:00
mrbeanc
f8da30b7d8 test-fix: test_commit() & test_read() 2023-12-23 10:40:11 +08:00
mrbeanc
ce2251fff6 test-fix: 修正测试中的问题 2023-12-22 23:50:23 +08:00
mrbeanc
1e16179e0a restore: 实现restore_worktree() 2023-12-22 21:02:22 +08:00
mrbeanc
b9b8d9c704 fix: 修复add命令检测workdir(而非curDir)中deleted files的问题 2023-12-22 14:49:52 +08:00
HouXiaoxuan
5c439aeff2 重新format,对use进行排序 2023-12-22 09:03:51 +08:00
HouXiaoxuan
758cc334eb format use rustfmt nightly 2023-12-22 08:41:56 +08:00
HouXiaoxuan
80ab4c1052 清除警告 2023-12-22 03:38:04 +08:00
mrbeanc
5f1d115658 实现:status命令
TODO:add 不存在的文件报错
2023-12-22 00:11:04 +08:00
HouXiaoxuan
a8707149a9 优化commit第一次提交,parent为空而不是“” 2023-12-21 23:01:49 +08:00
HouXiaoxuan
83f3f3890c commit 增加时间戳 2023-12-21 23:01:13 +08:00
mrbeanc
737917e421 rustfmt: max-width=120 2023-12-21 20:54:12 +08:00
mrbeanc
a2e9072951 统一format格式(rustfmt) 2023-12-21 20:44:15 +08:00
HouXiaoxuan
526210b1db 解决TODO&创建TODO 2023-12-21 19:15:43 +08:00
HouXiaoxuan
c0cb618f4f 类型修改 2023-12-21 19:04:47 +08:00
mrbeanc
ffefd7f981 实现Index析构自动保存:Drop for Index 2023-12-21 17:12:03 +08:00
mrbeanc
1d6e648120 优化changes_to_be_committed() 2023-12-21 15:42:30 +08:00
mrbeanc
05101c98ef fix: 修正get_tracked_files(),不需要判断文件是否存在于磁盘 2023-12-21 15:18:23 +08:00
mrbeanc
a459a0922e fix:去除current_head()返回值中的\n
\n会导致文件写入失败
2023-12-21 14:25:40 +08:00
HouXiaoxuan
ea9592d152 get函数 2023-12-21 03:16:33 +08:00
HouXiaoxuan
3ff052c105 从树中获取entries 2023-12-21 02:27:55 +08:00
HouXiaoxuan
500a1de45c 优化panic 2023-12-21 01:48:37 +08:00
HouXiaoxuan
9feddad8ef tree save&load 2023-12-21 01:39:45 +08:00
HouXiaoxuan
94c2cadf72 增加测试工具函数ensure_test_file 2023-12-21 01:39:26 +08:00
mrbeanc
a573ede3a6 优化add命令输出 2023-12-20 22:18:30 +08:00
mrbeanc
162313b7bc Index:在成员函数中对传入的path进行预处理,统一路径形式(absolute) 2023-12-20 21:28:55 +08:00
mrbeanc
02a27b4327 实现Index::load() 2023-12-20 21:02:13 +08:00
mrbeanc
16ee60339d 完善Index::save逻辑 2023-12-20 18:29:48 +08:00
mrbeanc
ffac740f97 处理Windows下绝对路径转换产生的"\\\\?\\"前缀 2023-12-20 16:37:55 +08:00
mrbeanc
2255cdaf09 将序列化中[to_string]改为[to_string_pretty]进行格式化,改善显示效果 2023-12-20 13:13:12 +08:00
mrbeanc
5d5187a91c 优化add逻辑 2023-12-20 11:58:40 +08:00