Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: CVS (slightly off-topic)
- X-seq: zsh-workers 7926
- From: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxxxxxxxxx>
- To: Adam Spiers <adam@xxxxxxxxxx>, Zsh hackers list <zsh-workers@xxxxxxxxxxxxxx>
- Subject: Re: CVS (slightly off-topic)
- Date: Sat, 18 Sep 1999 07:04:52 +0000
- In-reply-to: <19990916164622.B17248@xxxxxxxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
- References: <990907162927.ZM32134@xxxxxxxxxxxxxxxxxxxxxxx> <199909080900.LAA08747@xxxxxxxxxxxx> <19990908114038.B20503@xxxxxxxxxxxxxxxxxxxxxxx> <19990916164622.B17248@xxxxxxxxxxxxxxxxxxxxxxx>
On Sep 16, 4:46pm, Adam Spiers wrote:
} Subject: Re: CVS (slightly off-topic)
}
} For reference, in case anyone in the future who hasn't already is
} thinking of going down the CVS route, and is reading this thread,
} something to be wary of is that if you do more than one import onto a
} vendor branch, you have to check for any files present in the first
} import but not the second. Do a `find . -print | sort' in both
} directories, and then do a
}
} cvs remove -f `comm -23 filelist_a filelist_b`
}
} on the respective outputs.
If you found that you needed to do this, then you've done something else
wrong, or you have a really old version of CVS. This should be handled
for you by the import and merge process.
(The first thing you did wrong was "find . -print | sort" instead of
"print -l **/*(D)", but that has nothing to do with CVS.)
I'm assuming you did something like this:
import vendor-rev-A
checkout trunk
import vendor-rev-B
import vendor-rev-C
update trunk
The correct way to update the trunk sandbox in that instance is to do BOTH:
cvs update
cvs update -jvendor-rev-A -jvendor-rev-C
The plain "cvs update" will add any new files from rev-B or rev-C that
are not in rev-A. The "cvs update -j... -j..." will merge changes to
any other files since rev-A, including removing any files no longer
present at rev-C.
The import of rev-C should itself have removed any files new at rev-B
but that are no longer present in rev-C.
The one case where this might fail is when you have modified (but not
committed) a rev-A file in your sandbox that is one of those removed at
either rev-B or rev-C. In that case you should get a conflict report
at the "cvs update -j... -j..." stage, which you will have to resolve
(possibly by using "cvs remove"). It's best to commit everything you
possibly can *before* doing the merge.
I'd actually update, resolve conflicts, and commit after EACH import,
rather than doing two imports in a row; but that's just to minimize the
size of the conflicts I might have to resolve.
} I also had one weird conflict error reported in Completion/User/_cvs
} when I imported 3.1.6-pws-4 which I had to deal with manually. No
} idea why.
If you've applied any patches from the list to your trunk sandbox,
"cvs import" may report conflicts. They're not real conflicts unless
they're also reported by "cvs update -j... -j...", in which case they
might mean that PWS tweaked something without posting it, or that you
missed a patch, or that PWS missed one.
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
Messages sorted by:
Reverse Date,
Date,
Thread,
Author