[PATCH v2 0/2] git-p4: remove "debug" and "rollback" verbs

STALE1729d

Revision v2 of 4 in this series.

4 messages, 2 authors, 2021-12-20 · open the first message on its own page

[PATCH v2 0/2] git-p4: remove "debug" and "rollback" verbs

From: Joel Holdsworth <hidden>
Date: 2021-12-17 14:06:24

git-p4 contains a selection of verbs for various functions of the
script. The "debug" and "rollback" verbs appear to have been added early
in the development life of git-p4. They were once used as debugging
tools, but no longer serve any useful purpose either for developers or
users. Removing these verbs simplifies the script by removing dead code,
and increases usability by reducing complaexity.

Joel Holdsworth (2):
  git-p4: remove "delete" verb
  git-p4: remove "rollback" verb

 git-p4.py | 76 -------------------------------------------------------
 1 file changed, 76 deletions(-)

-- 
2.34.1

[PATCH v2 1/2] git-p4: remove "delete" verb

From: Joel Holdsworth <hidden>
Date: 2021-12-17 14:06:25

The git-p4 "delete" verb is described as "A tool to debug the output of
p4 -G". However, the implementation provided is of no useful benefit to
either users or developers.

Signed-off-by: Joel Holdsworth <redacted>
---
Adds Signed-off-by tag

 git-p4.py | 16 ----------------
 1 file changed, 16 deletions(-)
diff --git a/git-p4.py b/git-p4.py
index 2b4500226a..b7ed8e41ff 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -1532,21 +1532,6 @@ def loadUserMapFromCache(self):
         except IOError:
             self.getUserMapFromPerforceServer()
 
-class P4Debug(Command):
-    def __init__(self):
-        Command.__init__(self)
-        self.options = []
-        self.description = "A tool to debug the output of p4 -G."
-        self.needsGit = False
-
-    def run(self, args):
-        j = 0
-        for output in p4CmdList(args):
-            print('Element: %d' % j)
-            j += 1
-            print(output)
-        return True
-
 class P4RollBack(Command):
     def __init__(self):
         Command.__init__(self)
@@ -4363,7 +4348,6 @@ def printUsage(commands):
     print("")
 
 commands = {
-    "debug" : P4Debug,
     "submit" : P4Submit,
     "commit" : P4Submit,
     "sync" : P4Sync,
-- 
2.34.1

[PATCH v2 2/2] git-p4: remove "rollback" verb

From: Joel Holdsworth <hidden>
Date: 2021-12-17 14:06:26

The git-p4 "rollback" verb is described as "A tool to debug the
multi-branch import. Don't use :)". The implementation provided is of no
useful benefit to either users or developers.

Signed-off-by: Joel Holdsworth <redacted>
---
Adds Signed-off-by tag

 git-p4.py | 60 -------------------------------------------------------
 1 file changed, 60 deletions(-)
diff --git a/git-p4.py b/git-p4.py
index b7ed8e41ff..a7cb321f75 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -1532,65 +1532,6 @@ def loadUserMapFromCache(self):
         except IOError:
             self.getUserMapFromPerforceServer()
 
-class P4RollBack(Command):
-    def __init__(self):
-        Command.__init__(self)
-        self.options = [
-            optparse.make_option("--local", dest="rollbackLocalBranches", action="store_true")
-        ]
-        self.description = "A tool to debug the multi-branch import. Don't use :)"
-        self.rollbackLocalBranches = False
-
-    def run(self, args):
-        if len(args) != 1:
-            return False
-        maxChange = int(args[0])
-
-        if "p4ExitCode" in p4Cmd("changes -m 1"):
-            die("Problems executing p4");
-
-        if self.rollbackLocalBranches:
-            refPrefix = "refs/heads/"
-            lines = read_pipe_lines("git rev-parse --symbolic --branches")
-        else:
-            refPrefix = "refs/remotes/"
-            lines = read_pipe_lines("git rev-parse --symbolic --remotes")
-
-        for line in lines:
-            if self.rollbackLocalBranches or (line.startswith("p4/") and line != "p4/HEAD\n"):
-                line = line.strip()
-                ref = refPrefix + line
-                log = extractLogMessageFromGitCommit(ref)
-                settings = extractSettingsGitLog(log)
-
-                depotPaths = settings['depot-paths']
-                change = settings['change']
-
-                changed = False
-
-                if len(p4Cmd("changes -m 1 "  + ' '.join (['%s...@%s' % (p, maxChange)
-                                                           for p in depotPaths]))) == 0:
-                    print("Branch %s did not exist at change %s, deleting." % (ref, maxChange))
-                    system("git update-ref -d %s `git rev-parse %s`" % (ref, ref))
-                    continue
-
-                while change and int(change) > maxChange:
-                    changed = True
-                    if self.verbose:
-                        print("%s is at %s ; rewinding towards %s" % (ref, change, maxChange))
-                    system("git update-ref %s \"%s^\"" % (ref, ref))
-                    log = extractLogMessageFromGitCommit(ref)
-                    settings =  extractSettingsGitLog(log)
-
-
-                    depotPaths = settings['depot-paths']
-                    change = settings['change']
-
-                if changed:
-                    print("%s rewound to %s" % (ref, change))
-
-        return True
-
 class P4Submit(Command, P4UserMap):
 
     conflict_behavior_choices = ("ask", "skip", "quit")
@@ -4353,7 +4294,6 @@ def printUsage(commands):
     "sync" : P4Sync,
     "rebase" : P4Rebase,
     "clone" : P4Clone,
-    "rollback" : P4RollBack,
     "branches" : P4Branches,
     "unshelve" : P4Unshelve,
 }
-- 
2.34.1

Re: [PATCH v2 0/2] git-p4: remove "debug" and "rollback" verbs

From: Johannes Schindelin <hidden>
Date: 2021-12-20 21:20:12

Hi Joel,

On Fri, 17 Dec 2021, Joel Holdsworth wrote:
git-p4 contains a selection of verbs for various functions of the
script. The "debug" and "rollback" verbs appear to have been added early
in the development life of git-p4. They were once used as debugging
tools, but no longer serve any useful purpose either for developers or
users. Removing these verbs simplifies the script by removing dead code,
and increases usability by reducing complaexity.
Thank you for Cc:ing me, but I am not really familiar with Perforce. All
my modifications in the git-p4 area stem from trying to let the CI/PR
builds pass... So I don't feel that I am competent enough a reviewer for
this patch series.

Ciao,
Johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help