[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: ignore ancestry and record only

From: chroyer <christophe_r_at_comcast.net>
Date: Tue, 2 Oct 2012 21:49:15 +0000 (UTC)

> > It's unfortunate that you don't want to go into details here.

Sorry, I did not want to muddy the water...but let me try.
The items I am tracking originate from a different version control system in which we implemented an artificial way to branch (using batch files). That tree will be used for a little longer, but we are transitioning to svn. We have a trunk in svn, and a branch (like a vendor branch in that case) to import the old tree. When we did not have "patches" in the old tree, it was simply a matter of updating the branch then merge it into the trunk (not a reintegrate; the branch is never getting changes from the trunk).

Branching in the old tree is implemented by running specific batch files to copy files around, thus creating a new tree. Those batch files can only be applied to an unpatched tree. So, to keep as much history as possible, I get the old tree in the svn branch, get a WC where I run the appropriate patch batch file, then tag from that working copy. The next time the old tree is updated, I repeat the process. Now I have 2 tags, and I can diff them to port those changes in my trunk (well, I use an intermediate branch, the trunk will get those changes when things get more stable). What I like is that I can easily go back and see that the "merge" was done properly (without having to get the old tree at a specific rev and apply to proper patch - it's all in the svn tags area)

> Please show us all svn commands you're running, starting from "putting
> snapshots into the tags area" up to "I see a lot files being
> replaced".

I am using tsvn to perform all the steps I need. Getting the old tree is done like getting a vendor branch (I don't use the perl script though). Tagging the WCis also no issue. The only "unusual" for me is when I merge the diff between 2 tags; I use "merge 2 different trees" and tsvn log gives me something like:
Merging from <old tag> , revision HEAD to <new tag>, revision HEAD into <working copy>, ignoring ancestry
then
Merging from <old tag> , revision HEAD to <new tag>, revision HEAD into <working copy>
then I commit

> It's usually best to provide a list of commands (a working shell
> script
> is even better) that starts off with an empty repository and ends with
> the command where you're running into a problem. This way, others can
> try to reproduce the problem and figure out a solution.

I really appreciate your help, and I know this list can provide very thorough support. I am not running into any issue yet, and I was not really anticipating going into many details; rather I was wondering if at a high level that approach of first merging with --ignore-ancestry then merging again with --record-only (then commit) was raising any red flag. While it seems to work now, I can't tell if this will be an issue later (hence asking if someone had similar experience).

Thank you all

Christophe
Received on 2012-10-02 23:49:53 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.