ATLAS Offline Software
Loading...
Searching...
No Matches
git-package-pseudomerge Namespace Reference

Classes

class  bcolors

Functions

 sortBySplitLen (element)

Variables

str __author__ = "Tim Martin"
str __version__ = "$Revision: 1.0 $"
str __doc__ = "Merge individual Athena packages between git branches. Commit the resulting diff as a cherry-pick."
 parser
 type
 str
 nargs
 required
 help
 default
 action
 args = parser.parse_args()
 packages
 key
 stderr
 STDOUT
 stdout
str userBranch = os.environ['USER'] + "_" + time.strftime('%d_%b') + "_" + args.packages[0].rstrip('/').split('/')[-1] + "_to_" + args.target.split('/')[-1]
str userTempBranch = userBranch + "_TEMP_BRANCH_DO_NOT_MERGE_TO_OFFICIAL_REPOSITORY"
 localChanges = check_output(["git", "status", "--porcelain"],text=True)
 prompt = input(bcolors.WARNING + 'This will discard all local changes in the repository which are not already committed, please confirm this is OK! (y/n): ' + bcolors.ENDC)
 result = check_output(["git", "status", "--porcelain"],text=True)
list toReset = []
str responsibleRule = ""
 fileTuple = line.split()
 fileSplit = fileTuple[1].split('/')
int level = 0
str resetPath = ''
bool doKeep = False
bool doProgress = False
 pathSplit = path.rstrip('/').split('/')
 conflicted = check_output(["git", "diff", "--name-only", "--diff-filter=U"],text=True)
str allPackages = ""
str commitMessage = "Update packages:" + allPackages + " from " + args.source + " to " + args.target + " via pseudo-merge"

Function Documentation

◆ sortBySplitLen()

git-package-pseudomerge.sortBySplitLen ( element)

Definition at line 38 of file git-package-pseudomerge.py.

38def sortBySplitLen(element):
39 return len(element.split('/'))
40

Variable Documentation

◆ __author__

str git-package-pseudomerge.__author__ = "Tim Martin"
private

Definition at line 13 of file git-package-pseudomerge.py.

◆ __doc__

str git-package-pseudomerge.__doc__ = "Merge individual Athena packages between git branches. Commit the resulting diff as a cherry-pick."
private

Definition at line 15 of file git-package-pseudomerge.py.

◆ __version__

str git-package-pseudomerge.__version__ = "$Revision: 1.0 $"
private

Definition at line 14 of file git-package-pseudomerge.py.

◆ action

git-package-pseudomerge.action

Definition at line 31 of file git-package-pseudomerge.py.

◆ allPackages

str git-package-pseudomerge.allPackages = ""

Definition at line 246 of file git-package-pseudomerge.py.

◆ args

git-package-pseudomerge.args = parser.parse_args()

Definition at line 36 of file git-package-pseudomerge.py.

◆ commitMessage

str git-package-pseudomerge.commitMessage = "Update packages:" + allPackages + " from " + args.source + " to " + args.target + " via pseudo-merge"

Definition at line 250 of file git-package-pseudomerge.py.

◆ conflicted

git-package-pseudomerge.conflicted = check_output(["git", "diff", "--name-only", "--diff-filter=U"],text=True)

Definition at line 223 of file git-package-pseudomerge.py.

◆ default

git-package-pseudomerge.default

Definition at line 28 of file git-package-pseudomerge.py.

◆ doKeep

bool git-package-pseudomerge.doKeep = False

Definition at line 170 of file git-package-pseudomerge.py.

◆ doProgress

bool git-package-pseudomerge.doProgress = False

Definition at line 171 of file git-package-pseudomerge.py.

◆ fileSplit

git-package-pseudomerge.fileSplit = fileTuple[1].split('/')

Definition at line 161 of file git-package-pseudomerge.py.

◆ fileTuple

git-package-pseudomerge.fileTuple = line.split()

Definition at line 160 of file git-package-pseudomerge.py.

◆ help

git-package-pseudomerge.help

Definition at line 24 of file git-package-pseudomerge.py.

◆ key

git-package-pseudomerge.key

Definition at line 41 of file git-package-pseudomerge.py.

◆ level

int git-package-pseudomerge.level = 0

Definition at line 162 of file git-package-pseudomerge.py.

◆ localChanges

git-package-pseudomerge.localChanges = check_output(["git", "status", "--porcelain"],text=True)

Definition at line 118 of file git-package-pseudomerge.py.

◆ nargs

git-package-pseudomerge.nargs

Definition at line 23 of file git-package-pseudomerge.py.

◆ packages

git-package-pseudomerge.packages

Definition at line 41 of file git-package-pseudomerge.py.

◆ parser

git-package-pseudomerge.parser
Initial value:
1= argparse.ArgumentParser(description='\
2 Perform a pseudo-merge (a selective merge followed by cherry-pick) of select packages between branches in Athena. \
3 This performs a proper merge, using the full history in both the source and target branches but restricting to select packages (paths). \
4 The result of this operation, after conflicts are resolved, is isolated as a cherry-pick which is used to apply the changes to the official code base.')

Definition at line 19 of file git-package-pseudomerge.py.

◆ pathSplit

git-package-pseudomerge.pathSplit = path.rstrip('/').split('/')

Definition at line 174 of file git-package-pseudomerge.py.

◆ prompt

git-package-pseudomerge.prompt = input(bcolors.WARNING + 'This will discard all local changes in the repository which are not already committed, please confirm this is OK! (y/n): ' + bcolors.ENDC)

Definition at line 121 of file git-package-pseudomerge.py.

◆ required

git-package-pseudomerge.required

Definition at line 23 of file git-package-pseudomerge.py.

◆ resetPath

str git-package-pseudomerge.resetPath = ''

Definition at line 163 of file git-package-pseudomerge.py.

◆ responsibleRule

git-package-pseudomerge.responsibleRule = ""

Definition at line 157 of file git-package-pseudomerge.py.

◆ result

git-package-pseudomerge.result = check_output(["git", "status", "--porcelain"],text=True)

Definition at line 155 of file git-package-pseudomerge.py.

◆ stderr

git-package-pseudomerge.stderr

Definition at line 62 of file git-package-pseudomerge.py.

◆ STDOUT

git-package-pseudomerge.STDOUT

Definition at line 62 of file git-package-pseudomerge.py.

◆ stdout

git-package-pseudomerge.stdout

Definition at line 62 of file git-package-pseudomerge.py.

◆ str

git-package-pseudomerge.str

Definition at line 23 of file git-package-pseudomerge.py.

◆ toReset

list git-package-pseudomerge.toReset = []

Definition at line 156 of file git-package-pseudomerge.py.

◆ type

git-package-pseudomerge.type

Definition at line 23 of file git-package-pseudomerge.py.

◆ userBranch

str git-package-pseudomerge.userBranch = os.environ['USER'] + "_" + time.strftime('%d_%b') + "_" + args.packages[0].rstrip('/').split('/')[-1] + "_to_" + args.target.split('/')[-1]

Definition at line 67 of file git-package-pseudomerge.py.

◆ userTempBranch

str git-package-pseudomerge.userTempBranch = userBranch + "_TEMP_BRANCH_DO_NOT_MERGE_TO_OFFICIAL_REPOSITORY"

Definition at line 68 of file git-package-pseudomerge.py.