rebase-update fails to squash merged changesets
Reported by
techtonik@gmail.com,
Mar 29 2017
|
|||
Issue descriptionAfter 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):
,
Apr 4 2017
,
Apr 4 2018
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 |
|||
Comment 1 by techtonik@gmail.com
, Mar 30 2017