New issue
Advanced search Search tips

Issue 706503 link

Starred by 4 users

Issue metadata

Status: Archived
Owner: ----
Closed: Apr 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

rebase-update fails to squash merged changesets

Reported by techtonik@gmail.com, Mar 29 2017

Issue description

After multiple "cl upload" and successful rebase and submit on Gerrit, local run of "git rebase-update" results in merge conflicts. This happens, because rebase-update fails to squash local changesets before comparing with remote change.

What steps will reproduce the problem?

Detailed explanation that happened with https://chromium-review.googlesource.com/c/461141/

(1) submitted cl (rewinpath) for review
(2) (probably) rebase-update
(3) updated and 'cl upload' 2 new changesets
(4) waited for cl to be rebased and submitted (bdcdc59cb62bb2e8491acacad735ad4c2f10d1cb)
(5) run `git rebase-update`
Fetching origin
remote: Counting objects: 965, done
remote: Finding sources: 100% (5/5)
Uremote: Total 5 (delta 0), reused 1 (delta 0)
Unpacking objects: 100% (5/5), done.
From https://chromium.googlesource.com/chromium/tools/depot_tools
   af0fd4e..bdcdc59  master     -> origin/master
Rebasing: maphelp
Rebasing: rewinpath
Failed! Attempting to squash rewinpath ... Failed!

(6) git status
rebase in progress; onto bdcdc59
You are currently rebasing branch 'rewinpath' on 'bdcdc59'.
  (fix conflicts and then run "git rebase --continue")
  (use "git rebase --skip" to skip this patch)
  (use "git rebase --abort" to check out the original branch)

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

	both modified:   presubmit_canned_checks.py

no changes added to commit (use "git add" and/or "git commit -a")

What is the expected result?
No merge conflicts.

What happens instead?
Conflict of squashed changeset from remote with 1/3 commit from uploaded cl updates.

Please provide any additional information below. Attach a screenshot if
possible.

diff --cc presubmit_canned_checks.py
index d6434ed,8d2392b..0000000
--- a/presubmit_canned_checks.py
+++ b/presubmit_canned_checks.py
@@@ -677,7 -677,12 +677,16 @@@ def _FetchAllFiles(input_api, white_lis
    # Use code similar to InputApi.FilterSourceFile()
    def Find(filepath, filters):
      if input_api.platform == 'win32':
++<<<<<<< HEAD
 +      filepath = filepath.replace('\\', '/')
++=======
+       # Transform *relative* path to posix for proper regex matching.
+       # This will hang if filepath starts with slash.
+       newpath = [filepath]
+       while input_api.os_path.dirname(newpath[0]):
+         newpath[0:1] = input_api.os_path.split(newpath[0])
+       filepath = '/'.join(newpath)
++>>>>>>> Fix pylint file list matching on Windows
  
      for item in filters:
        if input_api.re.match(item, filepath):


 
Labels: TE-NeedsTriageHelp
Project Member

Comment 3 by sheriffbot@chromium.org, Apr 4 2018

Status: Archived (was: Unconfirmed)
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment