python - how to use pysvn.Client.merge_peg2 to achieve cherry-pick merge -
how can use pysvn.client merge related functions achieve cherry-pick merge,
merge specific revisions (or revision ranges) 1 branch another,
svn merge [-c m[,n...] | -r n:m ...] source[@rev] [target_wcpath]
now i'm use pysvn.client.merge_peg2(http://pysvn.tigris.org/docs/pysvn_prog_ref.html#pysvn_client_merge_peg2)
, no warning , errors cannot work.
i'm confuse merge_peg2 , parameters
merge_peg2(sources, ranges_to_merge, peg_revision, tareget_wcpath, depth=depth, notice_ancestry=false, force=false, dry_run=false, record_only=true, merge_options=[] ) sources # source repo url merge from? ranges_to_merge #"a list of tuples start , end revisions merged"?how can generate revision range? peg_revision #pysvn.revision(pysvn.opt_revision_kind.unspecified) ok? tareget_wcpath #i fill dest local repo
any suggestions, examples or other solution?
this do cherry-pick merging. sort revisions pick , iterate on this.
def merge_to_wc(r): wc_path = '.' from_url = 'https:/svn.somewhere.org/my_project/branches/1.0' pysvn.merge_peg( from_url, pysvn.revision(pysvn.opt_revision_kind.number, r-1), pysvn.revision(pysvn.opt_revision_kind.number, r), pysvn.revision(pysvn.opt_revision_kind.head), wc_path)
this method found trial , error, searching internet, guesswork, , gnashing of teeth.
Comments
Post a Comment