------------------------------------------------------------------------------ To reply, visit https://hellosplat.com/s/beanbag/tickets/4729/ ------------------------------------------------------------------------------
New ticket #4729 by pprkut For Beanbag, Inc. > RBTools Status: New Tags: Priority:Medium, Type:Defect ------------------------------------------------------------------------------ rbtools 1.0 has problems finding the correct object hashes in git repos ============================================================================== # What version are you running? RBTools 1.0, also happens on a different system (Arch Linux) with 1.0.1 # What steps will reproduce the problem? 1. rbt post -sg # What is the expected output? What do you see instead? Diff posted to reviewboard # What operating system are you using? Fedora 28 # Attach the debug out from the command. ``` rbt post -sg --parent=master --tracking-branch=master --debug >>> RBTools 1.0 >>> Python 3.6.6 (default, Jul 19 2018, 14:25:17) [GCC 8.1.1 20180712 (Red Hat 8.1.1-5)] >>> Running on Linux-4.17.11-200.fc28.x86_64-x86_64-with-fedora-28-Twenty_Eight >>> Home = /home/mathijs >>> Current directory = /home/mathijs/m2mobi/lunr >>> Command line: rbt post -sg --parent=master --tracking-branch=master --debug >>> Running: tf vc help >>> Checking for a Bazaar repository... >>> Unable to execute "bzr help": skipping Bazaar >>> Checking for a ClearCase repository... >>> Unable to execute "cleartool help": skipping ClearCase >>> Checking for a CVS repository... >>> Unable to execute "cvs": skipping CVS >>> Checking for a Git repository... >>> Running: git rev-parse --git-dir >>> Running: git config core.bare >>> Running: git rev-parse --show-toplevel >>> Running: git symbolic-ref -q HEAD >>> Running: git config --get branch.feature-delete-returning.merge >>> Running: git config --get branch.feature-delete-returning.remote >>> Running: git config --get remote.master.url >>> Command exited with rc 1: ['git', 'config', '--get', 'remote.master.url'] --- >>> Running: git config --get remote.master.url >>> Command exited with rc 1: ['git', 'config', '--get', 'remote.master.url'] --- >>> Repository info: Path: /home/mathijs/m2mobi/lunr/.git, Base path: , >>> Supports changesets: False >>> Checking for a Mercurial repository... >>> Unable to execute "hg --help": skipping Mercurial >>> Checking for a Perforce repository... >>> Unable to execute "p4 help": skipping Perforce >>> Checking for a Plastic repository... >>> Unable to execute "cm version": skipping Plastic >>> Checking for a Subversion repository... >>> Unable to execute "svn help": skipping SVN >>> Checking for a Team Foundation Server repository... >>> Unable to execute "tf help": skipping TFS >>> Making HTTP GET request to http://reviews.lunr.nl/api/ >>> Running: git config --get remote.master.url >>> Command exited with rc 1: ['git', 'config', '--get', 'remote.master.url'] --- >>> Running: git rev-parse refs/heads/feature-delete-returning >>> Running: git rev-list f7fdf7e08b82e7eeac061d7a3c6daed13268d104 --not >>> --remotes=origin >>> Running: git rev-parse master >>> Running: git status --porcelain --untracked-files=no >>> --ignore-submodules=dirty >>> Running: git version >>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color >>> --full-index --ignore-submodules -M --no-ext-diff >>> 1dd7281ef5bf3b2eed52029bc9813c7dfd98f0a5..f7fdf7e08b82e7eeac061d7a3c6daed13268d104 >>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color >>> --full-index --ignore-submodules -M --no-ext-diff >>> f7fdf7e08b82e7eeac061d7a3c6daed13268d104..1dd7281ef5bf3b2eed52029bc9813c7dfd98f0a5 >>> Generated diff size: 4475 bytes >>> Generated parent diff size: 4475 bytes >>> Making HTTP GET request to https://reviews.lunr.nl/api/validation/diffs/ >>> Cached response for HTTP GET https://reviews.lunr.nl/api/validation/diffs/ >>> expired and was modified >>> Making HTTP POST request to https://reviews.lunr.nl/api/validation/diffs/ >>> Got API Error 207 (HTTP code 400): The file was not found in the repository. >>> Error data: {'stat': 'fail', 'err': {'msg': 'The file was not found in the >>> repository.', 'code': 207}, 'file': >>> 'src/Lunr/Gravity/Database/DatabaseDMLQueryBuilder.php', 'revision': >>> 'a004e9af0e2ad775284d57652222e3c0e5c77c82'} Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/rbtools/api/request.py", line 601, in make_request request.url, body, headers, request.method)) File "/usr/lib/python3.6/site-packages/rbtools/api/cache.py", line 209, in make_request return self.urlopen(request) File "/usr/lib64/python3.6/urllib/request.py", line 223, in urlopen return opener.open(url, data, timeout) File "/usr/lib64/python3.6/urllib/request.py", line 532, in open response = meth(req, response) File "/usr/lib/python3.6/site-packages/rbtools/api/request.py", line 239, in http_response response.info()) File "/usr/lib64/python3.6/urllib/request.py", line 570, in error return self._call_chain(*args) File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain result = func(*args) File "/usr/lib64/python3.6/urllib/request.py", line 650, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 400: BAD REQUEST During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/rbtools/commands/post.py", line 867, in main **validate_kwargs) File "/usr/lib/python3.6/site-packages/rbtools/api/decorators.py", line 27, in request_method *args, **kwargs) File "/usr/lib/python3.6/site-packages/rbtools/api/transport/sync.py", line 77, in execute_request_method return self._execute_request(request) File "/usr/lib/python3.6/site-packages/rbtools/api/transport/sync.py", line 86, in _execute_request rsp = self.server.make_request(request) File "/usr/lib/python3.6/site-packages/rbtools/api/request.py", line 603, in make_request self.process_error(e.code, e.read()) File "/usr/lib/python3.6/site-packages/rbtools/api/request.py", line 577, in process_error rsp['err']['msg']) rbtools.api.errors.BadRequestError: The file was not found in the repository. (HTTP 400, API Error 207) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/rbt", line 11, in <module> load_entry_point('RBTools==1.0', 'console_scripts', 'rbt')() File "/usr/lib/python3.6/site-packages/rbtools/commands/main.py", line 120, in main command.run_from_argv([RB_MAIN, command_name] + args) File "/usr/lib/python3.6/site-packages/rbtools/commands/__init__.py", line 720, in run_from_argv exit_code = self.main(*args) or 0 File "/usr/lib/python3.6/site-packages/rbtools/commands/post.py", line 875, in main (msg_prefix, e)) rbtools.commands.CommandError: Error validating diff src/Lunr/Gravity/Database/DatabaseDMLQueryBuilder.php: The file was not found in the repository. (HTTP 400, API Error 207)``` # Please provide any additional information below. This happens regularly, although it's not really reproduceable. It looks like rbt post has a problem identifying the right object hash for some files. The hash in question here (a004e9af0e2ad775284d57652222e3c0e5c77c82) is present in the local repo, but it's the hash of the file with the diff already applied, not the one from master (which explains why it's not found in the main repo). If I read the diff generation correctly, it also looks like it creates two diffs, where the second completely reverts the first. The diff also seems to be created based on the wrong branch. 1dd7281ef5bf3b2eed52029bc9813c7dfd98f0a5 is master f7fdf7e08b82e7eeac061d7a3c6daed13268d104 is the remote tracking branch but the locally checked out branch has a different hash. It shouldn't even check the remote tracking branch though, since I'm overriding that on the command line (--tracking-branch=master). ------------------------------------------------------------------------------ -- You received this message because you are subscribed to the Google Groups "reviewboard-issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/reviewboard-issues. For more options, visit https://groups.google.com/d/optout.
