如果我有标签或书签,是否可以将空格字符用作分隔符?
例:
hg log --template "{rev} {author} {tags} {bookmarks} {desc|firstline}\n"
Output:
3: Author1 TIP BKMRK_NAME Another commit
2: Author1 Third commit
1: Author1 TAG1 Second commit
0: Author1 Initial commit
没有标签或书签的变更集将打印空格字符。我想压制那些多余的空格:
3: Author1 TAG_NAME BKMRK_NAME Another commit
2: Author1 Third commit
1: Author1 TAG1 Second commit
0: Author1 Initial commit
最佳答案
可以创建一种新样式,该样式定义集合的开始位置(即书签),集合本身中的元素以及集合的最后一个元素的外观。
将以下样式定义保存在文件中,例如称为“ my_style”:
changeset = '{rev} {author}{bookmarks} {desc|firstline}\n'
start_bookmarks = ' ['
bookmark = '{bookmark}, '
last_bookmark = '{bookmark}]'
然后,您可以使用刚创建的样式调用hg log:
> hg log --style /path/to/my_style
6 james [bar, foo, master] b 3
5 james b 2
4 james a 3
如果根本没有书签,则只会插入空格和方括号(请注意,{author}和{bookmarks}之间没有空格)。
可以在here中找到一些不错的cli模板作为参考。
关于templates - Mercurial模板:标签和书签的分隔符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8341142/