mirror of
				https://github.com/frej/fast-export.git
				synced 2025-10-31 16:35:48 +01:00 
			
		
		
		
	hg-fast-export: add option to track remote branches under a custom namespace
Add -o, --origin <name> to allow user to set a namespace used when importing remote branches. Signed-off-by: Fabrizio Chiarello <ponch@autistici.org>
This commit is contained in:
		
				
					committed by
					
						 Frej Drejhammar
						Frej Drejhammar
					
				
			
			
				
	
			
			
			
						parent
						
							fdbb1decaa
						
					
				
				
					commit
					a984e233c2
				
			| @@ -5,7 +5,7 @@ | ||||
|  | ||||
| from mercurial import repo,hg,cmdutil,util,ui,revlog,node | ||||
| from hg2git import setup_repo,fixup_user,get_branch,get_changeset | ||||
| from hg2git import load_cache,save_cache,get_git_sha1,set_default_branch | ||||
| from hg2git import load_cache,save_cache,get_git_sha1,set_default_branch,set_origin_name | ||||
| from tempfile import mkstemp | ||||
| from optparse import OptionParser | ||||
| import re | ||||
| @@ -383,6 +383,8 @@ if __name__=='__main__': | ||||
|       default=False,help="Ignore validation errors by force") | ||||
|   parser.add_option("-M","--default-branch",dest="default_branch", | ||||
|       help="Set the default branch") | ||||
|   parser.add_option("-o","--origin",dest="origin_name", | ||||
|       help="use <name> as namespace to track upstream") | ||||
|  | ||||
|   (options,args)=parser.parse_args() | ||||
|  | ||||
| @@ -401,5 +403,8 @@ if __name__=='__main__': | ||||
|   if options.default_branch!=None: | ||||
|     set_default_branch(options.default_branch) | ||||
|  | ||||
|   if options.origin_name!=None: | ||||
|     set_origin_name(options.origin_name) | ||||
|  | ||||
|   sys.exit(hg2git(options.repourl,m,options.marksfile,options.headsfile, | ||||
|     options.statusfile,authors=a,sob=options.sob,force=options.force)) | ||||
|   | ||||
| @@ -12,7 +12,7 @@ SFX_STATE="state" | ||||
| QUIET="" | ||||
| PYTHON=${PYTHON:-python} | ||||
|  | ||||
| USAGE="[--quiet] [-r <repo>] [-m <max>] [-s] [-A <file>] [-M <branch_name>]" | ||||
| USAGE="[--quiet] [-r <repo>] [-m <max>] [-s] [-A <file>] [-M <name>] [-o <name>]" | ||||
| LONG_USAGE="Import hg repository <repo> up to either tip or <max> | ||||
| If <repo> is omitted, use last hg repository as obtained from state file, | ||||
| GIT_DIR/$PFX-$SFX_STATE by default. | ||||
| @@ -26,7 +26,8 @@ Options: | ||||
| 	-A	Read author map from file | ||||
| 		(Same as in git-svnimport(1) and git-cvsimport(1)) | ||||
| 	-r	Mercurial repository to import | ||||
|         -M      Set the default branch name | ||||
|         -M      Set the default branch name (default to 'master') | ||||
|         -o      Use <name> as branch namespace to track upstream (eg 'origin') | ||||
| " | ||||
|  | ||||
| . "$(git --exec-path)/git-sh-setup" | ||||
|   | ||||
| @@ -10,6 +10,8 @@ import sys | ||||
|  | ||||
| # default git branch name | ||||
| cfg_master='master' | ||||
| # default origin name | ||||
| origin_name='' | ||||
| # silly regex to see if user field has email address | ||||
| user_re=re.compile('([^<]+) (<[^>]+>)$') | ||||
| # silly regex to clean out user names | ||||
| @@ -19,6 +21,10 @@ def set_default_branch(name): | ||||
|   global cfg_master | ||||
|   cfg_master = name | ||||
|  | ||||
| def set_origin_name(name): | ||||
|   global origin_name | ||||
|   origin_name = name | ||||
|  | ||||
| def setup_repo(url): | ||||
|   myui=ui.ui(interactive=False) | ||||
|   return myui,hg.repository(myui,url) | ||||
| @@ -53,6 +59,8 @@ def get_branch(name): | ||||
|   # other CVS imports may need it, too | ||||
|   if name=='HEAD' or name=='default' or name=='': | ||||
|     name=cfg_master | ||||
|   if origin_name: | ||||
|     return origin_name + '/' + name | ||||
|   return name | ||||
|  | ||||
| def get_changeset(ui,repo,revision,authors={}): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user