我想在推送之前获取我已修改和提交的文件的列表。
我通常可以通过 hg 传出来做到这一点。
但是,如果我在提交我的内容后引入一些额外的更改,那么这些新的更改也会被列出,它们甚至会列在我的名下。我确实提交了合并,但没有真正合并,我只是拉入了一个不相关的变更集。如果我从其他用户那里获取大量更改,我的更改会在所有这些更改中丢失。
有没有办法只列出我的更改?
我想在推送之前获取我已修改和提交的文件的列表。
我通常可以通过 hg 传出来做到这一点。
但是,如果我在提交我的内容后引入一些额外的更改,那么这些新的更改也会被列出,它们甚至会列在我的名下。我确实提交了合并,但没有真正合并,我只是拉入了一个不相关的变更集。如果我从其他用户那里获取大量更改,我的更改会在所有这些更改中丢失。
有没有办法只列出我的更改?
您始终可以使用带有 revset 函数和一些模板关键字的日志来获得这样的文件列表
hg help revsets
建议使用传出():
"outgoing([path])"
Changesets not found in the specified destination repository, or the
default push location.
--template "{files}\n"
为您提供范围内每个变更集中的文件的空格分隔列表,以及来自不同变更集的集合的换行符分隔。--template "{files % '{file}\n'}"
做琐事“每行文件”
您可以通过管道输出日志以进行排序,以便对文件列表进行排序,没有重复
最终稿hg log -r 'outgoing()' --template "{files % '{file}\n'}" | sort -u
您可以使用
hg outgoing --no-merge
过滤掉合并变更集(-M
是短版本见hg help outgoing
)。
如果您要推送到您从中提取其他人创作的变更集的同一存储库,您应该只看到您创建的变更集。