检查谁在 mercurial HG 中推送了提交
Check who pushed the commit in mercurial HG
示例场景:
revision #100 - user1 makes a commit on DEV branch in 2017-01-01
revision #101 - user2 cherry picked user1's commit to master branch (hg graft -r 100) in 2017-01-02
汞柱:
changeset:101
user: user1
date: 2017-01-01
summary: message 100
changeset:100
user: user1
date: 2017-01-01
summary: message 100
但是我怎么知道 user2 推送了修订版 #101?
你不能(除了 Lasse 在他的评论中提出的建议)。
考虑:
touch a; hg add a; hg commit -m 'Add a as myself'
touch b; hg add b; hg commit -m 'Add b as you' --user you@foo.com
hg update 0
hg branch stable
hg graft --user 3rd@bar.com --force 1
hg log --graph
@ changeset: 2:3078a4888a8a
| branch: stable
| tag: tip
| parent: 0:f7fa0d60eaf2
| user: 3rd@bar.com
| date: Fri Apr 28 20:07:35 2017 +0200
| summary: Add b as you
|
| o changeset: 1:e12471b861d6
|/ user: you@foo.com
| date: Fri Apr 28 20:07:35 2017 +0200
| summary: Add b as you
|
o changeset: 0:f7fa0d60eaf2
user: This Is Me me@me.com
date: Fri Apr 28 20:06:42 2017 +0200
summary: Add a as myself
如果你仔细想想,它并没有看起来那么令人震惊(请注意,我并不是说这不是问题)。
Mercurial 有一个 extension to perform PGP signatures 这可能会有所帮助,但事后并需要一定的设置。
要详细解释,看CommitSigningPlan,虽然我不知道状态。
据我所知,monotone是为解决此类问题而设计的分布式VCS系统,不知道是否还在开发中。
我会以一个哲学观察作为结束:如果一个项目必须保护自己免受此类问题的影响(授权开发人员冒充另一个人),那么该项目可能还有其他问题......同样,这并不意味着验证提交并不重要。
示例场景:
revision #100 - user1 makes a commit on DEV branch in 2017-01-01
revision #101 - user2 cherry picked user1's commit to master branch (hg graft -r 100) in 2017-01-02
汞柱:
changeset:101
user: user1
date: 2017-01-01
summary: message 100
changeset:100
user: user1
date: 2017-01-01
summary: message 100
但是我怎么知道 user2 推送了修订版 #101?
你不能(除了 Lasse 在他的评论中提出的建议)。
考虑:
touch a; hg add a; hg commit -m 'Add a as myself'
touch b; hg add b; hg commit -m 'Add b as you' --user you@foo.com
hg update 0
hg branch stable
hg graft --user 3rd@bar.com --force 1
hg log --graph
@ changeset: 2:3078a4888a8a
| branch: stable
| tag: tip
| parent: 0:f7fa0d60eaf2
| user: 3rd@bar.com
| date: Fri Apr 28 20:07:35 2017 +0200
| summary: Add b as you
|
| o changeset: 1:e12471b861d6
|/ user: you@foo.com
| date: Fri Apr 28 20:07:35 2017 +0200
| summary: Add b as you
|
o changeset: 0:f7fa0d60eaf2
user: This Is Me me@me.com
date: Fri Apr 28 20:06:42 2017 +0200
summary: Add a as myself
如果你仔细想想,它并没有看起来那么令人震惊(请注意,我并不是说这不是问题)。
Mercurial 有一个 extension to perform PGP signatures 这可能会有所帮助,但事后并需要一定的设置。
要详细解释,看CommitSigningPlan,虽然我不知道状态。
据我所知,monotone是为解决此类问题而设计的分布式VCS系统,不知道是否还在开发中。
我会以一个哲学观察作为结束:如果一个项目必须保护自己免受此类问题的影响(授权开发人员冒充另一个人),那么该项目可能还有其他问题......同样,这并不意味着验证提交并不重要。