Subject: Re: [PATCH] Add warning about known issues to documentation of cvsimport

From: "Ferry Huberts (Pelagic)" <[email-masked]>
Date: Mon, 23 Mar 2009 21:33:55 +0100

Heiko Voigt wrote:
> The described issues are compiled from the tests by Michael Haggerty and me.
> Because it is not apparent that these can be fixed anytime soon at least warn
> unwary users not to rely on the inbuilt cvsimport to much.
> 
> Signed-off-by: Heiko Voigt <[email-masked]>
> ---
>  Documentation/git-cvsimport.txt |   34 ++++++++++++++++++++++++++++++++++
>  1 files changed, 34 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
> index b7a8c10..3123725 100644
> --- a/Documentation/git-cvsimport.txt
> +++ b/Documentation/git-cvsimport.txt
> @@ -24,6 +24,9 @@ repository, or incrementally import into an existing one.
>  Splitting the CVS log into patch sets is done by 'cvsps'.
>  At least version 2.1 is required.
>  
> +*WARNING:* for certain situations the import leads to incorrect results.
> +Please see the section <<issues,ISSUES>> for further reference.
> +
>  You should *never* do any work of your own on the branches that are
>  created by 'git-cvsimport'.  By default initial import will create and populate a
>  "master" branch from the CVS repository's main branch which you're free
> @@ -164,6 +167,37 @@ If '-v' is specified, the script reports what it is doing.
>  Otherwise, success is indicated the Unix way, i.e. by simply exiting with
>  a zero exit status.
>  
> +[[issues]]
> +ISSUES
> +------
> +Problems related to timestamps:
> +
> + * If timestamps of commits in the cvs repository are not stable enough
> +   to be used for ordering commits
> + * If any files were ever "cvs import"ed more than once (e.g., import of
> +   more than one vendor release)
> + * If the timestamp order of different files cross the revision order
> +   within the commit matching time window
> +
> +Problems related to branches:
> +
> + * Branches on which no commits have been made are not imported
> + * All files from the branching point are added to a branch even if
> +   never added in cvs
> + * files added to the source branch *after* a daughter branch was
> +   created: If previously no commit was made on the daugther branch they
> +   will erroneously be added to the daughter branch in git
> +
> +Problems related to tags:
> +
> +* Multiple tags on the same revision are not imported
> +
> +If you suspect that any of these issues may apply to the repository you
> +want to import consider using these alternative tools which proved to be
> +more stable in practise:
> +
> +* cvs2git (part of cvs2svn), `http://cvs2svn.tigris.org`
> +* parsecvs, `http://cgit.freedesktop.org/~keithp/parsecvs`
>  
>  Author
>  ------
maybe you can also add remarks about autocrlf and safecrlf?
both need to be off