瀏覽代碼

Log commits cherry-picked for --patch-ref

The previous logging output didn't show which commits were actually
being cherry-picked. Here's what it used to look like:

  Will cherrypick 'refs/remotes/origin/main' .. <hash> on top of <hash>.

Where it's unclear what commit `main` refers to. This changes logging
to 1. show the actual commit hash for `main`, and 2. display a list
of picked commits. The new output:

  Will cherrypick <hash> .. <hash> on top of <hash>:
    <git log --oneline output>

Bug: 407795715
Change-Id: I45341fed65f692a9e1d7d7b807bd40680bf162b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6424742
Commit-Queue: Tony Seaward <seawardt@google.com>
Auto-Submit: Jakob Linke <jgruber@chromium.org>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Reviewed-by: Tony Seaward <seawardt@google.com>
Jakob Linke 4 月之前
父節點
當前提交
2c780a1530
共有 1 個文件被更改,包括 6 次插入2 次删除
  1. 6 2
      gclient_scm.py

+ 6 - 2
gclient_scm.py

@@ -583,8 +583,12 @@ class GitWrapper(SCMWrapper):
                 # diff --cached` expecting to see the patch diff.
                 base_rev = self._Capture(['rev-parse', pr + '~'])
             else:
-                self.Print('Will cherrypick %r .. %r on top of %r.' %
-                           (target_rev, pr, base_rev))
+                target_rev_hash = self._Capture(['rev-parse', target_rev])
+                commit_list = self._Capture(
+                    ['log', '--oneline', target_rev + '..' + pr])
+                self.Print('Will cherrypick %r (%r) .. %r on top of %r:' %
+                           (target_rev_hash, target_rev, pr, base_rev))
+                self.Print(commit_list)
                 try:
                     if scm.GIT.IsAncestor(pr,
                                           target_rev,