再次安利开源作品 V File Name,新增一个好用的理由

2021-07-03 12:12:45 +08:00
 liuzhiyong

新增一个好用的理由

历史版本可以丢到移动硬盘(或者其他什么便宜的储存),不占用电脑储存。

详细解说

参考

https://stackoverflow.com/questions/2983635/can-git-mercurial-svn-or-other-version-control-tools-work-well-when-project-t

There exist binary diff tools, however they don't help much, since the change in one pixel of an image, or a change of one character in a Word document, does not correspond to change of one byte in the file, due to compression. Thus "nice" handling of such binary data is impossible.

DeepL 翻译:有一些二进制差异工具,但是它们并没有什么帮助,因为图像中一个像素的变化,或者 Word 文档中一个字符的变化,由于压缩,并不对应于文件中一个字节的变化。因此,对这种二进制数据的 "漂亮 "处理是不可能的。

链接

额外说明

4515 次点击
所在节点    分享创造
33 条回复
ahhui
2021-07-03 14:33:09 +08:00
楼主是学生吗?怎么看这个作品都像是一个课堂作业的产物,并不是一个完整的产品。而且整个功能十分粗糙,文字描述也很难说清楚具体用法,在很多方面都显得非常稚嫩。

首先感谢楼主的分享精神,但同时也希望楼主能花时间把它做成真正的产品(项目已经有 7 个月之久了,起码要琢磨着把它写得更好吧?),而不是一个课堂作业的样子。下面给产品列出一些建议:

1. 界面主窗口启动后默认隐藏,显示如迅雷一样的浮窗小窗口;
2. 通过在资源管理器内拖曳,可以将目录拉到悬浮小窗口上释放,呼出主界面;
3. 主界面应有项目新建、修改、配置等相关功能;
4. 添加的项目应该可以一键创建备份,或者调出备份回滚;
5. 项目备份不依赖用户操作呼出 7zip 等程序,可自动实现打包和分发(调用命令行 7zip 和 rar 等);
6. 可设定定时完成项目备份,和 /或在满足某个条件的情况下自动备份(如关闭 Photoshop 后等)
7. 项目文件存储位置可以指定多个备选位置,存储和移动可以在备选位置来回选择,当备选位置脱机的时候,可以提示用户插入对应设备(如移动设备)
8. 支持云盘存储;
9. 真正实现单个文件的分别处理,避免每个打包都是对整个目录的压缩,浪费时间和空间;
10. 在第 9 点的基础上,实现 tag 聚合所有文件备份(如 a 文件有 1\2\3 个更改,b 文件有 1 个更改,tag 包含 a3 和 b1,根据 tag 恢复的时候,a 取第三次更改文件,b 取第一次)这个需求有点类似 git 了。可考虑使用配置方案,让用户选择是否分文件打包。

以上建议仅供参考,不一定是楼主的需求和目标。只是想说,楼主目前这个作品,还不能称得上是一个作品。
liuzhiyong
2021-07-03 15:49:32 +08:00
@ahhui 照你的建议做下去,还不如用 Git 。这个工具的特点是“简单可靠”。看得出来你是个喜欢把事情搞复杂的人,你是公务员吗?
liuzhiyong
2021-07-03 16:34:22 +08:00
我说错话了,例如有的医生多开药冲业绩,例如有的出租车司机绕路多收钱,例如有的商业合同多搞条款搞晕你……总之我说错话了,我道歉。
dreampet
2021-07-03 16:43:01 +08:00
@liuzhiyong 1 楼的建议有很多可取之处,你的软件离所谓的“简单可靠”还很远,只能说简陋,但你的反应是不是太激烈了?听不得反对意见?
github 上的提交说明也是毫无意义的日期,而不是具体的修改点,有什么脸求 Star ?
falcon05
2021-07-03 17:04:42 +08:00
一楼说得很有道理啊,就是个课堂作业的感觉
GeruzoniAnsasu
2021-07-03 18:14:53 +08:00
翻了一下历史发帖差点直接 B 了……

说实话恕我愚钝我根本没看懂这东西怎么用,“官网”放了些意义不明的截图但就是没说清前因后果……

是常驻后台后会监听 [添加到压缩包] 的命令自动弹出窗口来覆盖原有的参数?
点了确认生成是自动往原对话框填参数然后模拟点击确定?


作为产品没写清 feature list 和使用指引,作为开源项目没写清 build/contribute 步骤,提交信息也没有信息,这……?



还有其它的

> “binary diff”不灵光,于是占用越来越多的电脑储存空间
是什么逻辑?是说存全量版本要占空间?不是,那你做的东西不也还是存全量吗

> 使用 V File Name,就可以把历史版本丢到任何地方。
这“丢到任何地方”是指什么……是说会完整打包整个文件夹?我挪走了你这东西还能看到历史版本吗?能通过它回滚到某个历史吗?……这些完全都没有介绍啊

- 看起来好像每次打包都要重填各项信息?那我为啥不直接用原始的方法,反正全都要填一遍
- 怎么区分我现在创建压缩包是想创建历史还是就普通地打一个包?
- 不用 zip 的原因是“修改起来过于方便”? 这是啥理由?有谁会去改备份文件里的内容吗?真要改,换个格式存就拦不住了?而且我真要改的话拦着我改干啥
- 你理解你贴的 stackoverflow 问题讨论的是啥吗?说的是虽然版本管理工具能 diff 二进制但其中的差别并不体现在文档结构上所以并不能很好还原出差别。提问的人想问这些东西能不能处理只改一小部分的情况不要全量,回答说不行,然后你做了个全量是想说解决了问题?


我感觉自己应该回过某个历史发帖但看完发现都没有,有点怪。可能之前我最后都忍住了?





我不是说历史版本压缩包这种东西没用,相反确实有很多场景需要这样的版本工具,我电脑上测试自己公司产品都累积了 10+个同一产品不同版本的安装包目录,按日期和版本号命名的,但都是手打。
做这种工具,核心 feature 应该是你很好地处理了各版本压缩包的命名、存放、索引、自动打包 /还原,并且能优秀地与其它东西集成比如网盘、快捷工具( utools/alfred )、编辑环境如 vscode 的插件之类的
…… 用什么压缩工具真的重要吗你觉得?而且你本来完全可以链接一个 libzip 之类的自动打压缩包就 ok 了,为啥要调另行安装的工具呢,万一 rar 和 7zip 都没装咋办
GeruzoniAnsasu
2021-07-03 18:25:06 +08:00
哦,我还想补一句

> 电路图的行业领先的工具,Altium Designer,也搞压缩包保存历史版本

> 也许你没有听说过 AD(Altium Designer),嗯,这么说吧,很牛

/t/740128


做一个新东西就是因为旧的不好才做的,你也是觉得 git/svn 某些方面不好才做的这个东西,那何必要找一个“很牛的东西” 来背书?如果需要用这种想法给自己打气,那“git 就是用存二进制 diff 的方式来管理版本的,git 很牛”你咋反驳?

要么你分析清楚它们做法的场景和优越性,拿这样的理念来推广,不然听起来跟“通过创建系统还原点来保存历史版本”并没有什么区别
liuzhiyong
2021-07-03 18:50:15 +08:00
有个老飞行员,有一天看见别人骑单车,他就问,“你为啥不用飞机呀?”

好吧,你牛。

这个工具就是“简单可靠”:如果你发现它没有完成任务,如果你发现它哪里出错了,欢迎反馈。

我印象中,这个工具大约五百行代码,实在没有必要走项目的全套流程。

至于“学生”、“课堂作业”之类说辞,现在内卷这么厉害,你们真是抬举这个项目的难度了。

PS

我扫了一眼,好多问号,好多反问句。好口才。
Ultraman
2021-07-03 19:20:32 +08:00
我的理解这个小工具就是我把某个时刻的文件 /文件夹打成压缩包的时候可以往最终的压缩包的名字上加一个用户 备注和时间?上面老哥说的关于历史版本到处扔
Ultraman
2021-07-03 19:24:11 +08:00
@Ultraman 到处扔的疑问我也有,这个具体逻辑是怎样的真的有必要说清楚,不然你既没说清楚这个功能怎么用又没说清楚工作逻辑,那我用的时候因为我的理解和你软件的实现中间有出入导致我的文件丢了的话,我是怪你软件还是怪我自己?何况我就是怪了又有卵用又不能把我的文件找回来
suzic
2021-07-03 20:02:25 +08:00
suzic
2021-07-03 20:03:00 +08:00
@suzic 这张图楼主拿去用
liuzhiyong
2021-07-03 21:35:50 +08:00
@suzic 收到,多谢!
liuzhiyong
2021-07-03 22:00:17 +08:00
@Ultraman “那我用的时候因为我的理解和你软件的实现中间有出入导致我的文件丢了的话”

这个软件没有删除功能,你就是想要用它把文件弄丢,都不可能。

“到处扔的疑问我也有,这个具体逻辑是怎样的真的有必要说清楚”

四个字,手动操作(移动文件)。它没有任何删除功能,“移动”也算一种删除(来源的文件要消失)。
xgfan
2021-07-03 22:49:43 +08:00
我仔细看了一遍,也没学会这个怎么用。
建议录个 gif 。
abersheeran
2021-07-03 23:58:27 +08:00
怎么说呢,如果是主要为了自用、不想写操作文档大可以不写的……你这个操作文档我看完感觉完全没懂这个东西的作用。

我之前也分享过自用的脚本,我直接说清楚了自用所以没什么过于详细的文档。也没人说我什么哪里哪里不能这么搞。

开源软件不是你这个写法。要么你就当他是个彻头彻尾的自用软件,要么你就认真学习其他开源项目一样写明白作用与目的、实现原理、构建方式和使用方式。这种两不像,真的不怪楼上说你。
muzuiget
2021-07-04 04:45:51 +08:00
一眼看确实不知道是什么东西,仔细看了下以及评论,原来就是个调用用压缩软件打包工具而已。

> 对于很多二进制文件(不是纯文本的代码),“binary diff”不灵光,于是占用越来越多的电脑储存空间。

你这个软件也根本没有解决这个问题,全量备份,还是花时间压缩,甚至不如直接用 git 呢,再说 git 还有 git-lfs 这种方案专门处理二进制大文件。
minamike
2021-07-04 08:28:30 +08:00
所以这就是个能给压缩包名称自动打时间戳的工具?🤔
criver
2021-07-04 11:25:04 +08:00
这实在不是一个想把工具做好的态度
liuzhiyong
2021-07-04 12:23:27 +08:00
新增了“第 2 条附言”。说明书已经详细到了“解压然后双击运行”(并且配有截图)。还要怎么说?我真的不知道。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/787280

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX