[Svnmerge] [PATCH] Add an option to ignore ancestry
Daniel Rall
dlr at collab.net
Mon Dec 11 18:22:14 PST 2006
I haven't tested it out yet, but this patch looks good. Unless
someone beats me to it, I plan on committing it to trunk RSN.
- Dan
On Fri, 08 Dec 2006, Pazu wrote:
> The following patch adds an option to pass '--ignore-ancestry' when calling 'svn
> merge'.
>
> Cheers,
>
> -- Pazu
>
> --- svnmerge-old 2006-12-07 20:49:16.000000000 -0200
> +++ svnmerge 2006-12-08 10:54:42.000000000 -0200
> @@ -1116,6 +1116,7 @@
>
> blocked_revs = get_blocked_revs(branch_dir, opts["source-path"])
> merged_revs = opts["merged-revs"]
> + ignore_ancestry = opts["ignore-ancestry"]
>
> # Show what we're doing
> if opts["verbose"]: # just to avoid useless calculations
> @@ -1128,6 +1129,8 @@
> report('memorizing reflected revision(s): %s' % reflected_revs)
> if blocked_revs & revs:
> report('skipping blocked revisions(s): %s' % (blocked_revs & revs))
> + if ignore_ancestry:
> + report('ignoring ancestry')
>
> # Compute final merge set.
> revs = revs - merged_revs - blocked_revs - reflected_revs - phantom_revs
> @@ -1163,8 +1166,8 @@
>
> if not record_only:
> # Do the merge
> - svn_command("merge -r %d:%d %s %s" % \
> - (start - 1, end, opts["source-url"], branch_dir))
> + svn_command("merge %s-r %d:%d %s %s" % \
> + (ignore_ancestry and "--ignore-ancestry " or "", start
>
> # Write out commit message if desired
> if opts["commit-file"]:
> @@ -1289,6 +1292,7 @@
> error(err_str)
>
> record_only = opts["record-only"]
> + ignore_ancestry = opts["ignore-ancestry"]
>
> if record_only:
> report('recording rollback of revision(s) %s from "%s"' %
> @@ -1307,8 +1311,8 @@
> for start, end in rollback_intervals:
> if not record_only:
> # Do the merge
> - svn_command("merge -r %d:%d %s %s" % \
> - (end, start - 1, opts["source-url"], branch_dir))
> + svn_command("merge %s-r %d:%d %s %s" % \
> + (ignore_ancestry and "--ignore-ancestry " or "", end, s
>
> # Write out commit message if desired
> # calculate the phantom revs first
> @@ -1804,6 +1808,9 @@
> which should not be merged, use '%s block'.""" % (NAME, NAME),
> [
> "-b", "-f", "-r", "-S", "-M", # import common opts
> + Option("-I", "--ignore-ancestry",
> + default=False,
> + help="pass '--ignore-ancestry' to svn merge"),
> ]),
>
> "block": (action_block,
>
>
> _______________________________________________
> Svnmerge mailing list
> Svnmerge at orcaware.com
> http://www.orcaware.com/mailman/listinfo/svnmerge
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
URL: </pipermail/svnmerge/attachments/20061212/712c7bd5/attachment-0001.pgp>
More information about the Svnmerge
mailing list