Mercurial获取传入文件更改摘要的最佳方法(Mercurial best way to get summary of incoming file changes)

编程入门 行业动态 更新时间:2024-10-28 16:28:44
Mercurial获取传入文件更改摘要的最佳方法(Mercurial best way to get summary of incoming file changes)

如果有办法获得与传入的hg状态相同的信息,我一直在尝试解决。 (这是使用hg版本1.9.2)

因此,如果你拉回购,你可以获得所有变化的摘要:

hg pull hg status --rev .:default

然而,在拉入之前,最好的可用是:

hg incoming --stat

这对于显示已更改的文件很好。 但是没有给出所有变更集的总体摘要。

现在我可以使用一些bash来总结所有文件:

hg in --rev default --template '< {desc|tabindent}\n' -q | sed 's%\t%< %' filechanges=`hg in --rev default --template '{files} ' -q` echo ${filechanges} | xargs -n1 | sort -u | sed -e 's%^%. %'

现在我可以使用我基于默认〜/ hgtemplates / map-cmdline.files创建的样式来显示“添加,删除,修改”:

# specify a changeset changeset_verbose = 'changeset: {node} {rev} {branch}\ndescription:\n{desc|tabindent}\nFiles:\n{file_mods}{file_adds}{file_dels}{file_copies_switch}\n' changeset = 'desc: {desc|tabindent}\nFiles:\n{file_mods}{file_adds}{file_dels}{file_copies_switch}\n' changeset_quiet = '{file_mods}{file_adds}{file_dels}{file_copies_switch}\n' # Using hg status prefixes # Modified M prefix start_file_mods = '' file_mod = 'M {file_mod}\n' end_file_mods = '' # Added A prefix start_file_adds = '' file_add = 'A {file_add}\n' end_file_adds = '' # Deleted ! prefix start_file_dels = '' file_del = '! {file_del}\n' end_file_dels = '' # Copies C prefix ?????? start_file_copies = 'copies: ' file_copy = 'C {name} ({source})\n' end_file_copies = ''

然后使用它:

hg in --style ~/hgtemplates/map-cmdline.files -q

但是我必须使用更复杂的合并脚本,可能是基于名称的perl哈希。

那么扩展或模板有没有办法做到这一点?

任何正确方向的指针?

I've been trying to work out if there is a way to get the same info as hg status for incoming. (This is using hg version 1.9.2)

So if you pull a repo you can then get a summary of all the changes:

hg pull hg status --rev .:default

However with incoming before pull the best available is:

hg incoming --stat

Which is fine for showing the files that have changed. But does not give a overall summary of all the changesets.

Now I can get close using some bash to summarise all files:

hg in --rev default --template '< {desc|tabindent}\n' -q | sed 's%\t%< %' filechanges=`hg in --rev default --template '{files} ' -q` echo ${filechanges} | xargs -n1 | sort -u | sed -e 's%^%. %'

Now I can show "add,del,modify" by using a style I have created based on default ~/hgtemplates/map-cmdline.files:

# specify a changeset changeset_verbose = 'changeset: {node} {rev} {branch}\ndescription:\n{desc|tabindent}\nFiles:\n{file_mods}{file_adds}{file_dels}{file_copies_switch}\n' changeset = 'desc: {desc|tabindent}\nFiles:\n{file_mods}{file_adds}{file_dels}{file_copies_switch}\n' changeset_quiet = '{file_mods}{file_adds}{file_dels}{file_copies_switch}\n' # Using hg status prefixes # Modified M prefix start_file_mods = '' file_mod = 'M {file_mod}\n' end_file_mods = '' # Added A prefix start_file_adds = '' file_add = 'A {file_add}\n' end_file_adds = '' # Deleted ! prefix start_file_dels = '' file_del = '! {file_del}\n' end_file_dels = '' # Copies C prefix ?????? start_file_copies = 'copies: ' file_copy = 'C {name} ({source})\n' end_file_copies = ''

Then use it by:

hg in --style ~/hgtemplates/map-cmdline.files -q

But then the I would have to use a more complex merge script, probably perl hashes based on name.

So is there a way with extensions or the template to do this?

Any pointers in the right direction?

更多推荐

本文发布于:2023-07-31 10:07:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1342556.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:摘要   文件   方法   Mercurial   incoming

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!