2

我想在推送之前获取我已修改和提交的文件的列表。

我通常可以通过 hg 传出来做到这一点。

但是,如果我在提交我的内容后引入一些额外的更改,那么这些新的更改也会被列出,它们甚至会列在我的名下。我确实提交了合并,但没有真正合并,我只是拉入了一个不相关的变更集。如果我从其他用户那里获取大量更改,我的更改会在所有这些更改中丢失。

有没有办法只列出我的更改?

4

2 回答 2

3

您始终可以使用带有 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

于 2013-03-10T05:54:09.987 回答
1

您可以使用

hg outgoing --no-merge 

过滤掉合并变更集(-M是短版本见hg help outgoing)。

如果您要推送到您从中提取其他人创作的变更集的同一存储库,您应该只看到您创建的变更集。

于 2013-03-09T22:56:44.277 回答