(转)用svn、git、hg有感

在公司碰到一个怪问题,TortoiseSVN 1.4.6 update 和 checkout 都失败,直接用命令行 svn 也一样,错误信息完全没有提示性,折腾了近两个小时,才明白是服务器上在某个目录下有两个同名但大小写不同的文件,这在 Windows 下是不允许的。发封邮件到 Subversion 和 TortoiseSVN 的邮件列表,得到的回复时大意是说你看能否提供个补丁,以前看过一点点 Subversion 源码,非常反感其冗长繁琐的代码,这次硬着头皮再看了看,checkout subversion 和 tortoisesvn 的代码花了一天多,发现在 Windows 上编译非常麻烦,还需要 VS 2008,作罢,在 Debian 上用 apt-get source 下载了源码编译了个调试版,gdb 了三四个钟头想理清执行路线,还是没搞定,里头的代码架构太奇妙以致难以理解,可能什么地方有文档描述吧,没找到。 

昨天开始编写 cfgtool,用 git 或者 hg 管理 /etc 以及 HOME 目录下的配置文件,然后发现二者的很多细微差别,因为是 shell 脚本,对命令返回值非常依赖,但是 git status 在没有脏文件时返回 1,git commit -a 和 git commit 在没有脏文件时也返回 1,完全与 Perl 的“尽量执行下去”的风格相反,然后发现 git ls-files --modified 果然只显示修改了的文件,不包含新增加的文件,还没弄明白如何确保  git commit 不报错。hg add 一个已经 add 过的文件会报错,而且似乎绝大部分情况下 hg 的返回值都是零。 

越来越深刻的体会到 git 的风格独特,add 是 add 数据而非记录文件名,这样将 commit 的开销分散在长时间不断的 add 过程里,带来了 commit 效率的提升,但是 add 的繁琐,还有 git commit -a  后面不能接文件参数,而 git commit 提交的是 index 里记录的内容,因此不能简单的 *完全* 提交一些文件,果然是为了 integrator 着想的工具。 

郁闷,all VCSes sucks,these suck more! 

美的程序:
简明:代码少,逻辑质朴,算法精炼,一个程序只做一件事情,只有必要功能——好像是 impossible mission。
一致:提示信息的一致,UI 的一致。
容错:程序很稳健,适应各种恶劣情况,以 C 这种语言只有靠长时间补丁才能达到虚假的稳健。
高效:尽可能高效。 

简评一下几种版本管理工具:
CVS, VSS:没有变更集概念,仅此一点就可以安息了。
GIT: 复杂的 UI,超前的理念
SVN: 慢,代码库膨胀剧快,客户端常有小问题,错误信息稀里糊涂
Mercurial: 也趋向于复杂了
Bazaar:UI 古怪
Darcs: 慢

 

STM32 烧录报错Invalid ROM Table 阅读详情

相关推荐

cartographer基于3d地图的纯定位模式

关于纯定位模式呢,本人试过2d和3d,怎么说呢,有条件的话,建议直接上3d,因为博主当初在做定位时针对室内和室外都尝试过,2d只在室内环境下效果会很棒,但是在室外就呵呵啦!所以这里直接讲解3d室外定位(建图篇请自己查看我之前的博客:[3d建图](https://blog.youkuaiyun.com/qq_40216084/article/details/105531983) 看了我之前的博客大概知道配置文件和源文件路径了,我这里就不把路径写出来了,挺麻烦的。直接讲怎么做把,有不懂的留言,看到了我一定知无不言。 **首

qq_40216084的博客 5552

(转)SVN,HG,GIT命令对照

http://www.1uu2.com/archives/992 SVN,HG,GIT命令对照 liner 发表于 2009-10-11 21:45 | 来源: | 阅读 635 次 SVN,HG,GIT是三种常见的版本控制系统,本文简单列出一些相似的操作命令。当然,三种系统各有特点,严格的对应关系是没有的。 1,第一次下载,包括源码和版本库:svn checkout http:/...

mlxia的专栏 216

ADS RFpro 射频阻抗仿真步骤

导入器件后,在库里面选取器件的对应模型,如图所示我们选取10pf 系统自带的村田模型。选取网络上的器件,拖入到下面component Models。导入成功后,截取需要仿真的区域(不截取仿真时间会非常长),可以生成对应如下原理图,通过原理图继续调整仿真。图上找到需要仿真链路上的网络,右键设置为信号。的叠层信息,按照PCB板厂提供信息填写完整。选择仿真的频率范围和频点数,生成如下图的RFPro仿真界。,然后再把GND也添加到下面。按图设置截取需要仿真的部分。添加成功后 网络就有了,15 双击run开始仿真。

m0_72954480的博客 3217

认识版本管理

TortoiseGit来操作git。用GUI(图形界面)再谈CLI(命令行)git是软件,它可在本地建立仓库,你写的代码的各个版本都可以存着。github是网上仓库,你写的代码的各个版本都可以存着。版本控制工具hg(Mercurial)5 另外:git和github的关系。的源码管理工具Mercurial的。TortoiseHg是。

zr_xs的博客 418

普冉PY32F002B ADC内部参考电压VREFINT的误差补偿与低功耗优化实践

本文详细介绍了普冉PY32F002B单片机在锂电池供电场景下ADC内部参考电压VREFINT的误差补偿与低功耗优化实践。通过分析GPIO配置、分压电阻匹配、采样时间设置等硬件设计要点,结合实时测量VREFINT电压值和软件补偿算法,有效提升了ADC测量精度至5mV以内,并实现了分压电路功耗控制与采样频率优化,为低成本消费电子项目提供了完整的解决方案。

846

【ECCV 2024】动态范围直方图自注意力DHSA,即插即用!

直方图自注意力机制,将空间特征按强度分段并进行分组,然后在各个分组内或分组间应用自注意力,以选择性地关注具有动态范围的空间特征,并处理长距离内相似退化的像素。

qq_43303160的博客 1845

一文读懂版本控制软件:Git、SVN、HG、CVS(内附Git资料)

你可以把一个版本控制系统理解为"数据库",在需要的时候,它可以帮你快速保存一个项目的快照,当你需要查看上一个版本时(即快照),版本控制系统可以显示出当前版本与上一个版本之间所改动的细节。

shanmao001的博客 2745

成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题

成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 目录 解决问题 解决思路 解决方法 T1、修改默认配置 T2、修改后缀参数(此方法是其他网友推荐,博主没有尝试) T3、如果以上还不成功,这个时候很可能是环境配置有问题 解决问题 使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 解决思路 使用jupyter notebook命令打开原先存的.ipynb文件突然消失,说明...

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 5116

hg使用备忘录

大约是在去年的这个时候,开始使用hg作为代码的管理工具。由于之前一直使用svn,对这个新鲜的东西有些不适应。不过在使用了一段之间之后,渐渐发现自己越来越喜欢这个工具了—-几个简单的命令就能提交代码,很容易查询版本的历史,很方便的进行代码合并。近来查看资料,对hg有了较为深入的认识,接下来的几篇文章将记录我学习hg的一些笔记,以备将来之用。 关于hg命令选项 如果你是在windows系统下,使用

kernel_learner的专栏 1万+

【数据集】1970-2023年全球温室气体排放 GHG 数据集 EDGAR

1970-2023年全球温室气体排放 GHG 数据集 EDGAR

WW、forever的博客 1173

SI好文翻译:铜箔表面纹理对损耗的影响:一个有效的模型(一)

Paul G. Huray发表在DesignCon2010的提出铜箔表面雪球模型的论文。第一部分说明之前的铜箔表面模型只适用于5GHz以内,超过5GHz后就不再准确。

小孟同学的博客 2172

Hg(Mercurial)版本管理学习

1.关闭分支,首先切到你要关闭的分支 hg commit --close-branch -m. 2.仓库ip地址改变之后,重设仓库ip 找到.hg文件夹 -hgrc文件 - 记事本打开重设 3.推分支的时候提示push creates new remote head xxxxxxx! 没拉,拉下来合并再推 4.hg子仓库地址变更,多分支切换时导致无法切换...

dongfushu7972的博客 1059

电阻抗成像肺功能测试数据分析与直方图生成

本文介绍了基于MATLAB的电阻抗成像(EIT)肺功能测试数据分析方法。研究针对32×32像素的EIT图像序列,通过三步算法处理:首先计算特定时间点与谷值图像的差值,然后分析1秒后峰值与1秒值的差值,最终计算比值矩阵并处理异常值。系统展示了数据预处理、关键时间点检测、比值计算及统计分析的全流程,包括生成概率分布直方图和空间分布图等可视化方法。该分析为无创肺功能评估提供量化指标,可应用于临床呼吸监测和疾病诊断。

huanghm88的专栏 197

版本管理工具使用总结(git,svn,hg)

git一、git常用命令1提交代码 git add . //把修改的或增加的文件添加到本地库里 git commit -am “说明性文字” git pull //从服务器上更新代码,避免覆盖别人的代码 git push //把自己修改的上传到服务器2查看状态 git status3解决冲突 当自己和别人同时修改了工程文件*.xcode

zhuxincheng_1218的专栏 3617

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

CTFHUB之SVN泄露和HG泄露

目录 1、SVN泄露 2、HG泄露 1、SVN泄露 其实我们应该先用dirsearch先扫的,这才是一个完整的流程,但是我们这里直接根据提示来,这里利用一款的perl版本控制软件信息泄露利用工具,叫dvcs-ripper,支持SVN, GIT, Mercurial/hg, bz等等,工具直接上github上搜,基本都是有的。 这里提示是svn泄露,所以我们使用rip-svn.pl模块 perl ./rip-svn.pl -v -u http://challenge-609b.

m0_56988395的博客 6173

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

git vs hg

<br />看到一篇文章,重新又勾起了我对版本控制工具的回忆和兴趣,拿出最好用的两种来比较比较吧:git和hg 。<br /> <br />1.对象模型(Object Model)<br /> <br />hg是采用增量式存储的版本控制系统,它保存相邻版本间的差异,通过在基础版本之上叠加差别的方式记录版本的更新,其组织方式自然采用链表。这点和subversion一致,数据库版本控制工具dbdeploy也采用相同原理。<br />hg中的基本对象有三种:file、manifest 和changesetc

挖金子的矿工 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SVN,HG,GIT命令对照

SVN,HG,GIT是三种常见的版本控制系统,本文简单列出一些相似的操作命令。 当然,三种系统各有特点,严格的对应关系是没有的。 1,第一次下载,包括源码和版本库: svn checkout http://path/to/repo repo_name hg clone http://path/to/repo  repo_name git glone http://path

三少GG 1705

gitglone 指定分支_SVN,HG,GIT命令对照

SVN,HG,GIT是三种常见的版本控制系统,本文简单列出一些相似的操作命令。当然,三种系统各有特点,严格的对应关系是没有的。1,第一次下载,包括源码和版本库:svn checkout http://path/to/repo repo_namehg clone http://path/to/repo repo_namegit glone http://path/to/repo repo_name...

weixin_42349214的博客 257

----SVN,HG,GIT命令对照

From: http://www.svn8.com/svnsy/20100112/17492.html   SVN,HG,GIT命令对照 SVN,HG,GIT命令对照 SVN,HG,GIT是三种常见的版本控制系统,本文简单列出一些相似的操作命令。当然,三种系统各有特点,严格的对应关系是没有的。 Bbs.Svn8.Com 1,第一次下载,包括源码和版本库: Bbs.Svn8.Com

bzhao的专栏 1539

git、svn、hg泄露的检测方法

1.提取完整的仓库:通过提取SVN仓库的内容,包括所有的分支和标签。产生漏洞的原因:当开发人员对站点自动部署。如果配置不当,可能会将.hg .svn .hg文件夹直接部署到线上环境,这就引起了相应的泄漏漏洞。2.历史分析:通过提取SVN的完整历史记录,分析人员可以查看过去的历史记录,寻找可能被遗忘的敏感信息,比如旧的配置文件、密码硬编码等。3.差异分析:分析不同版本之间的差异,帮助识别代码中的变化,尤其是安全相关的修改,例如修补了哪些漏洞,或者引入了新的潜在风险。文件夹下的文件,重建还原工程的源代码。

weixin_55112399的博客 835

git ,hg,svn等代理

1,CVS CVS使用代理非常麻烦,似乎不能用http代理(如果偶错了请提醒),而socks代理相当难找。好在这个东东已经慢慢变成了昨日黄花,我们不讨论它。 2,SVN SVN比较方便,编辑~/.subversion/servers文件即可: [global] http-proxy-host = &lt;代理的ip或域名&gt; http-proxy-port = &lt;代理端口&gt; h...

iteye_17234的博客 506

Eclipse使用Git代替CVS与SVN实现版本管理

来源:http://www.open-open.com/lib/view/open1328191501202.html 目前,Eclipse上使用Git的项目数量已经超过了使用SVN的仓库数,这使得Git独树一帜,成为Eclipse项目最为流行的版本控制系统。虽然Git自从Helios发布后就已经出现了,但迁移到Git仅仅从去年夏天Eclipse Indigo发布后才开始。

风雨同行 869

SVN泄露+HG泄露

HG就是mercuri的缩写,是一款DCVS(分布式版本控制系统),具有高效率、跨平台、可扩展、使用简便且开源等优点,是目前最为流行的版本控制工具之一DCVS:即使源码服务器故障或网络连接出错也能提交本地修改。

cyy001128的博客 1221

(转)乱评 svn, git, hg, bzr by Dieken

http://bbs.scmroad.com/redirect.php?tid=3289&amp;goto=lastpost 乱评 svn, git, hg, bzr by Dieken 发信人: Dieken (风催草低 - 明月何尝不照人)标  题: 乱评 svn, git, hg, bzr发信站: 水木社区 (Mon Mar  8 22:44:54 2010), 站内...

mlxia的专栏 353
上一篇: (转)[教程] G2 的一些问题解决方案,比如GPRS,联系人添加进程终止。 GPRS, 问题解决, 联系人, 进程, 方案 ...
下一篇: (转)乱评 svn, git, hg, bzr by Dieken
mlxia
博客等级 码龄26年 28粉丝 410原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值