@@ -52,6 +52,7 @@ def merge_skeleton(
5252 org : str ,
5353 full_name : str ,
5454 email : str ,
55+ from_branch : str ,
5556 package ,
5657):
5758 path = path .resolve ()
@@ -63,6 +64,7 @@ def replace_text(text: str) -> str:
6364 text = text .replace ("python3_pip_skeleton" , package )
6465 text = text .replace ("Firstname Lastname" , full_name )
6566 text = text .
replace (
"[email protected] " ,
email )
67+ text = text .replace ("main" , from_branch )
6668 return text
6769
6870 branches = list_branches (path )
@@ -82,7 +84,7 @@ def replace_text(text: str) -> str:
8284 # will do the wrong thing
8385 shutil .rmtree (git_tmp / "src" , ignore_errors = True )
8486 # Merge in the skeleton commits
85- git_tmp ("pull" , "--rebase=false" , SKELETON , "main" )
87+ git_tmp ("pull" , "--rebase=false" , SKELETON , from_branch )
8688 # Move things around
8789 if package != "python3_pip_skeleton" :
8890 git_tmp ("mv" , "src/python3_pip_skeleton" , f"src/{ package } " )
@@ -156,6 +158,7 @@ def new(args):
156158 org = args .org ,
157159 full_name = args .full_name or git ("config" , "--get" , "user.name" ).strip (),
158160 email = args .email or git ("config" , "--get" , "user.email" ).strip (),
161+ from_branch = args .from_branch or "main" ,
159162 package = package ,
160163 )
161164
@@ -188,6 +191,7 @@ def existing(args):
188191 org = args .org ,
189192 full_name = conf ["metadata" ]["author" ],
190193 email = conf ["metadata" ]["author_email" ],
194+ from_branch = args .from_branch or "main" ,
191195 package = package ,
192196 )
193197
@@ -225,6 +229,11 @@ def main(args=None):
225229 sub .add_argument (
226230 "--email" , default = None , help = "Email address, defaults to git config user.email"
227231 )
232+ sub .add_argument (
233+ "--from-branch" ,
234+ default = None ,
235+ help = "Merge from skeleton branch, defaults to main" ,
236+ )
228237 # Add a command for adopting in existing repo
229238 sub = subparsers .add_parser ("existing" , help = "Adopt skeleton in existing repo" )
230239 sub .set_defaults (func = existing )
@@ -234,6 +243,11 @@ def main(args=None):
234243 sub .add_argument (
235244 "--package" , default = None , help = "Package name, defaults to directory name"
236245 )
246+ sub .add_argument (
247+ "--from-branch" ,
248+ default = None ,
249+ help = "Merge from skeleton branch, defaults to main" ,
250+ )
237251 # Add a command for cleaning an existing repo of skeleton code
238252 sub = subparsers .add_parser (
239253 "clean" , help = "Clean up branch from failed skeleton merge"
0 commit comments