Mercurial > hg
view tests/test-dispatch.out @ 5909:f45f7390c1c5
strip: calculate list of extra nodes to save and pass it to changegroupsubset
When we remove revision N from the repository, all revisions >= N are
affected: either it's a descendant from N and will also be removed, or
it's not a descendant of N and will be renumbered.
As a consequence, we have to (at least temporarily) remove all filelog
and manifest revisions that have a linkrev >= N, readding some of them
later.
Unfortunately, it's possible to have a revlog with two revisions
r1 and r2 such that r1 < r2, but linkrev(r1) > linkrev(r2). If we try
to strip revision linkrev(r1) from the repository, we'll also lose
revision r2 when we truncate this revlog.
We already use changegroupsubset to create a temporary changegroup
containing the revisions that have to be restored, but that function is
unable to detect that we also wanted to save the r2 in the case above.
So we manually calculate these extra nodes and pass it to changegroupsubset.
This should fix issue764.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 19 Jan 2008 18:01:16 -0200 |
parents | e0e73ba37983 |
children | f5b00b6e426a |
line wrap: on
line source
adding a # missing arg hg cat: invalid arguments hg cat [OPTION]... FILE... output the current or given revision of files Print the specified files as they were at the given revision. If no revision is given, the parent of the working directory is used, or tip if no revision is checked out. Output may be to a file, in which case the name of the file is given using a format string. The formatting rules are the same as for the export command, with the following additions: %s basename of file being printed %d dirname of file being printed, or '.' if in repo root %p root-relative path name of file being printed options: -o --output print output to file with formatted name -r --rev print the given revision -I --include include names matching the given patterns -X --exclude exclude names matching the given patterns use "hg -v help cat" to show global options % [defaults] a a % no repo abort: There is no Mercurial repository here (.hg not found)!