mirror of
https://github.com/frej/fast-export.git
synced 2026-01-20 21:22:03 +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
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