Edouard Gomez <ed.gomez@free.fr> [Sun, 04 Jan 2009 02:36:48 +0100] rev 7585
convert/gnuarch: follow continuation-of revisions
Built on top of previous patches:
- continuation-of parsing
- registered archives retrieval
- use of fully qualified revisions
This allows the converter scanning for more source revisions
following the tree versions 'leaked' through the continuation-of
informations. Coupled with the registered archives retrieval, this
makes possible to decide to follow such a hint or stop scanning for
more revisions.
This also implies some changes in the retrieval of some base-0
revisions when they're continuation-of other revisions, in that
case a 'replay' will work where a simple 'get' fails because the
dir exists already. I found the code dealing with 'replay' quite
good as it has already a fallback to 'get' in the error path.
Edouard Gomez <ed.gomez@free.fr> [Sun, 04 Jan 2009 02:36:48 +0100] rev 7584
convert/gnuarch: retrieve known archive names list
This will make possible in a followup patch to prevent
following history that is not reachable because an archive
is unknown to the user.
Edouard Gomez <ed.gomez@free.fr> [Sun, 04 Jan 2009 02:36:48 +0100] rev 7583
convert/gnuarch: parse continuation-of revisions in gnuarch source
In GNU Arch, continuation-of was often used for:
- tagging revisions
- continue working on a project in a new archive, because arch
was scaling poorly in revision numbers (cat-logs were slow
to be parsed and scanned through)
- very similar to the previous point, fork his own branch of
a project.
Parsing this header information will allow to 'follow' new history
because it often hints at older/forked/personal revision trees.
This patch however just implements the parsing of the
continuation-of header. A followup patch will implement the proper
use of this new information.
Edouard Gomez <ed.gomez@free.fr> [Sun, 04 Jan 2009 02:36:48 +0100] rev 7582
convert/gnuarch: use fully qualified revisions
There is no need loosing information in the conversion process. This could
lead to wrong shamap mappings if different archives used the same 'version'
naming.
Edouard Gomez <ed.gomez@free.fr> [Sun, 04 Jan 2009 02:36:48 +0100] rev 7581
convert/gnuarch: keep track of original revision in extra headers
It seems to be standard to populate the .rev attribute of a commit
to keep track of original SCM revision names.
Just do it(tm).
Edouard Gomez <ed.gomez@free.fr> [Sun, 04 Jan 2009 02:36:48 +0100] rev 7580
convert/gnuarch: robustify cat-log retrieval
GNU Arch used to scale very poorly when revision number was
increasing. This was mostly caused by the huge amount of
cat-log it has to scan/read through to keep track of all
patches that were merged in a given revision.
In order to improve things, cat-log prunning was a common
admin task that would accelerate cat-log parsing at the expense
of unreachabe locally stored cat-logs.
However, these missing cat-logs are still available in the archive.
So try to get them from the archive as a fallback solution.
Edouard Gomez <ed.gomez@free.fr> [Sun, 04 Jan 2009 02:36:48 +0100] rev 7579
convert/gnuarch: set prefered locale for str conversions
Seems necessary, as a test on my archives goes further with this.