From: Ben Keene Date: Mon, 09 Dec 2019 15:03:14 GMT Subject: Re: [PATCH 00/13] git-p4: python3 compatibility Message-ID: In-Reply-To: On 12/7/2019 2:59 PM, Yang Zhao wrote: > On Sat, Dec 7, 2019 at 8:21 AM Ben Keene wrote: >> On 12/7/2019 2:29 AM, Yang Zhao wrote: >>> Ideally, I would prefer we land something minimal and working in mainline soon, >>> then further collaborate on changes that clean up code and enable more features. >>> >>> My end-game is to have P4 Streams working in git-p4, and maybe LFS-like support >>> that uses p4 as the backend. It would be great to not be the only one >>> spending effort >>> in that direction. >> I have similar goals. I would love to get the smallest set of non-breaking >> changes in that allows the program to basically work with Python 3.5+. >> >> My rush has been because I need to use git-p4 for work and have been >> working >> on the project at the office. Once I reach a point where I am able to >> generally work (when t9800 is complete) I'll really not be free to spend >> too >> much work time on the project, but I am eager to see this through! > I'm in a similar situation, but we use p4 Streams and so I actually need further > development before being able to make a full switch. I am given more liberty > in terms of how much work time I can dedicate to this, though. > > Given the situation, can you give my patch set a try in your work environment? > It is currently passing everything except t9824-git-p4-git-lfs. I downloaded your code and it looks like it works for Python 2.7.  I'm seeing errors with the following tests: * 9816.5     Traceback (most recent call last):     File "/home/bkeene/git/git-p4", line 4227, in         main()     File "/home/bkeene/git/git-p4", line 4221, in main         if not cmd.run(args):     File "/home/bkeene/git/git-p4", line 2381, in run         ok = self.applyCommit(commit)     File "/home/bkeene/git/git-p4", line 2106, in applyCommit         p4_write_pipe(['submit', '-i'], submitTemplate)     File "/home/bkeene/git/git-p4", line 207, in p4_write_pipe         return write_pipe(real_cmd, stdin)     File "/home/bkeene/git/git-p4", line 201, in write_pipe         die('Command failed: %s' % str(c))     File "/home/bkeene/git/git-p4", line 158, in die         raise Exception(msg)     Exception: Command failed: ['p4', '-r', '3', 'submit', '-i'] * 9816.6     Traceback (most recent call last):     File "/home/bkeene/git/git-p4", line 4227, in         main()     File "/home/bkeene/git/git-p4", line 4221, in main         if not cmd.run(args):     File "/home/bkeene/git/git-p4", line 2381, in run         ok = self.applyCommit(commit)     File "/home/bkeene/git/git-p4", line 2106, in applyCommit         p4_write_pipe(['submit', '-i'], submitTemplate)     File "/home/bkeene/git/git-p4", line 207, in p4_write_pipe         return write_pipe(real_cmd, stdin)     File "/home/bkeene/git/git-p4", line 201, in write_pipe         die('Command failed: %s' % str(c))     File "/home/bkeene/git/git-p4", line 158, in die         raise Exception(msg)     Exception: Command failed: ['p4', '-r', '3', 'submit', '-i'] * 9816.7  Traceback (most recent call last):    File "/home/bkeene/git/git-p4", line 4227, in      main()    File "/home/bkeene/git/git-p4", line 4221, in main      if not cmd.run(args):    File "/home/bkeene/git/git-p4", line 2381, in run      ok = self.applyCommit(commit)    File "/home/bkeene/git/git-p4", line 2106, in applyCommit      p4_write_pipe(['submit', '-i'], submitTemplate)    File "/home/bkeene/git/git-p4", line 207, in p4_write_pipe      return write_pipe(real_cmd, stdin)    File "/home/bkeene/git/git-p4", line 201, in write_pipe      die('Command failed: %s' % str(c))    File "/home/bkeene/git/git-p4", line 158, in die      raise Exception(msg)  Exception: Command failed: ['p4', '-r', '3', 'submit', '-i'] * 9816.9     Traceback (most recent call last):     File "/home/bkeene/git/git-p4", line 4227, in         main()     File "/home/bkeene/git/git-p4", line 4221, in main         if not cmd.run(args):     File "/home/bkeene/git/git-p4", line 2381, in run         ok = self.applyCommit(commit)     File "/home/bkeene/git/git-p4", line 2106, in applyCommit         p4_write_pipe(['submit', '-i'], submitTemplate)     File "/home/bkeene/git/git-p4", line 207, in p4_write_pipe         return write_pipe(real_cmd, stdin)     File "/home/bkeene/git/git-p4", line 201, in write_pipe         die('Command failed: %s' % str(c))     File "/home/bkeene/git/git-p4", line 158, in die         raise Exception(msg)     Exception: Command failed: ['p4', '-r', '3', 'submit', '-i'] * 9810.16     Traceback (most recent call last):     File "/home/bkeene/git/git-p4", line 4227, in         main()     File "/home/bkeene/git/git-p4", line 4221, in main         if not cmd.run(args):     File "/home/bkeene/git/git-p4", line 2436, in run         rebase.rebase()     File "/home/bkeene/git/git-p4", line 3913, in rebase         system("git rebase %s" % upstream)     File "/home/bkeene/git/git-p4", line 305, in system         raise CalledProcessError(retcode, cmd)     subprocess.CalledProcessError: Command 'git rebase remotes/p4/master' returned non-zero exit status 1 The last test was a breaking test that stopped the test make. > If you're OK with it, I would prefer that we work from my version as a base and > add some of your quality-of-life enhancements on top. I can do the merges myself > if you are pressed for time. > > Thanks, > Yang I am not a Python developer and my code is further behind than yours, so it makes complete sense to use yours as the base.