git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Haggerty <mhagger@alum.mit.edu>
To: Steffen Prohaska <prohaska@zib.de>
Cc: "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>,
	git@vger.kernel.org, users@cvs2svn.tigris.org
Subject: Re: cvs2svn conversion directly to git ready for experimentation
Date: Fri, 03 Aug 2007 01:37:49 +0200	[thread overview]
Message-ID: <46B26ACD.2080405@alum.mit.edu> (raw)
In-Reply-To: <EDE86758-FFD0-4CED-A2C9-033FA13DD3B6@zib.de>

Steffen Prohaska wrote:
> On Aug 2, 2007, at 7:35 PM, Simon 'corecode' Schubert wrote:
>> Steffen Prohaska wrote:
>>>   fromcvs's togit surrendered during the import.
>>>   fromcvs's tohg accepted more of the history, but finally
>>>     surrendered as well.
>>
>> Which repo is it you are converting?  Is this available somewhere?
> 
> Unfortunately not, the content is a proprietary software package.
> 
>> I'd appreciate any reports concerning "surrenders" of fromcvs. 
>> [...]
> 
> Some time passed since I did the tests. I had no time to do a
> detailed investigation then. I'll have more time now and will
> prepare a bug report, which is not easy because I can't sent you
> the cvs repo, sorry.

I wrote a couple of scripts for dealing with just this situation for
cvs2svn bug reports, but they should also work for you, and I highly
recommend them.  Both scripts are included in the cvs2svn source tree:

1. contrib/destroy_repository.py [1] -- strips almost all of the
information out of a CVS repository, including author names, log
messages, and file contents (but not file names, commit dates, or
branch/tag names).  Most bugs are not affected by the omission of such
data.  Use of this script has the effect of deleting most information
that might be considered proprietary and also shrinking the size of the
test case considerably.  Use of this script is described in the script
comments itself and also in [2].

2. contrib/shrink_test_case.py [2] -- you provide the script with a
command that should "exit 0" if the bug you are looking for still
exists.  It does a kind of "binary search" through CVS repository space,
iteratively attempting to delete a chunk of the CVS repository, running
the test command, then (depending on whether the test succeeded) either
reverting or making permanent the deletion.  It can boil most test cases
down to just 1-3 files (though presumably not if the "problem" is a
23-way merge).  The things that it will try to delete are:

  - Entire directories and groups of directories
  - Entire files and groups of files
  - Branches within individual files
  - Tags within individual files

It does this in a somewhat optimal way, trying to minimize the number of
times that the test has to be run.  This script is documented in its own
comments and also in [4].

Michael

[1]
http://cvs2svn.tigris.org/svn/cvs2svn/trunk/contrib/destroy_repository.py
[2] http://cvs2svn.tigris.org/faq.html#reportingbugs
[3] http://cvs2svn.tigris.org/svn/cvs2svn/trunk/contrib/shrink_test_case.py
[4] http://cvs2svn.tigris.org/faq.html#testcase

  parent reply	other threads:[~2007-08-02 23:37 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-01  0:09 cvs2svn conversion directly to git ready for experimentation Michael Haggerty
2007-08-01  0:41 ` Johannes Schindelin
2007-08-01 22:09 ` Jakub Narebski
2007-08-02 16:58   ` Michael Haggerty
2007-08-02 23:44   ` Jon Smirl
2007-08-02  8:49 ` Steffen Prohaska
2007-08-02 17:23   ` Michael Haggerty
2007-08-02 19:22     ` Marko Macek
2007-08-02 23:59     ` Jon Smirl
2007-08-05  7:58       ` Oswald Buddenhagen
2007-08-02 17:35   ` Simon 'corecode' Schubert
2007-08-02 19:13     ` Steffen Prohaska
2007-08-02 19:29       ` Simon 'corecode' Schubert
2007-08-02 20:21         ` Robin Rosenberg
     [not found]           ` <200708022221.13129.robin.rosenberg.lists-RgPrefM1rjDQT0dZR+AlfA@public.gmane.org>
2007-08-02 20:31             ` Lübbe Onken
2007-08-02 20:32           ` Lübbe Onken
2007-08-02 20:33           ` Lübbe Onken
2007-08-02 22:02         ` Steffen Prohaska
2007-08-02 22:50           ` Simon 'corecode' Schubert
2007-08-02 23:50             ` Michael Haggerty
2007-08-03  8:40               ` Simon 'corecode' Schubert
2007-08-04  8:28             ` Steffen Prohaska
2007-08-03  3:07         ` Shawn O. Pearce
2007-08-02 23:37       ` Michael Haggerty [this message]
2007-08-02 20:43   ` Linus Torvalds
2007-08-02 23:19     ` Michael Haggerty
2007-08-03  3:12       ` Shawn O. Pearce
2007-08-02 23:55   ` Jon Smirl
     [not found] ` <8b65902a0708010438s24d16109k601b52c04cf9c066@mail.gmail.com>
2007-08-02 15:34   ` Michael Haggerty
2007-08-02 23:08     ` Martin Langhoff
2007-08-03  4:03       ` Johannes Schindelin
2007-08-03  6:48         ` Steffen Prohaska
2007-08-03  7:10       ` Steffen Prohaska
2007-08-03  8:36       ` Michael Haggerty
2007-08-03 14:35         ` Patwardhan, Rajesh
2007-08-03 15:41           ` Jon Smirl
2007-08-03 16:42             ` Patwardhan, Rajesh
2007-08-03 18:58             ` Michael Haggerty
2007-08-03 20:16               ` Jon Smirl
2007-08-03 20:27                 ` Jon Smirl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46B26ACD.2080405@alum.mit.edu \
    --to=mhagger@alum.mit.edu \
    --cc=corecode@fs.ei.tum.de \
    --cc=git@vger.kernel.org \
    --cc=prohaska@zib.de \
    --cc=users@cvs2svn.tigris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).