我想在推送之前获取我已修改并提交的文件列表。
我通常可以通过hg传出来做好。
但是,如果我提交了一些额外的更改,在我提交后,那些新的更改也会列出,甚至列在我的名下。我确实做了合并的提交,但没有真正合并,我只是引入了一个无关的变更集。如果我从其他用户那里获得了很多变化,那么我的更改就会在所有这些变化中丢失。
有没有办法只列出我的更改?
答案 0 :(得分:3)
您可以随时使用带有revset功能的日志和一些模板关键字来获取此类文件列表
hg help revsets
建议使用outgoing():
"outgoing([path])"
Changesets not found in the specified destination repository, or the
default push location.
--template "{files}\n"
为您提供范围内的每个变更集中的空格分隔文件列表,以及来自不同变更集的新行分隔集。 --template "{files % '{file}\n'}"
执行trivk“每行文件”
您可以管道输出日志进行排序,以便排序,无需重复,文件列表
最终草案hg log -r outgoing() --template "{files % '{file}\n'}" | sort -u
答案 1 :(得分:1)
您可以使用
hg outgoing --no-merge
过滤掉合并变更集(-M
是简短版本,请参阅hg help outgoing
)。
如果您正在推送您从中提取其他人创作的更改集的同一个仓库,您应该只能看到您创建的更改集。