bugmonotone - Bugs: bug #13032, cvs_import generates wrong data on...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #13032: cvs_import generates wrong data on branch

Submitter:  None
Submitted:  Mon 09 May 2005 04:13:48 AM UTC
   
 
Category:  storage system Severity:  3 - Normal
Item Group:  incorrect behavior Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
mtn version --full: 

monotone 0.19 (base revision: ebc417b19960d8e2708ff67b068a3fbd3c1a98e0)
Running on: Linux 2.6.11-1.1287_FC4 #1 Thu May 5 16:31:22 EDT 2005 i686
Changes since base revision:

new_manifest [4481f071cb8a82ea200bac72a6c4fbddb9f7c796]

old_revision [ebc417b19960d8e2708ff67b068a3fbd3c1a98e0]
old_manifest [25ba21074f39b02970747388a00bd056f1fa264d]

patch "monotone.spec"
 from [1619421422b66900ee8324ed77c7c82f34d0752d]
   to [8e99896580d1ccfc9671e92b8c81577801e24d78]

patch "po/monotone.pot"
 from [85997f09b04320ce8cbc0972e57a3fbfb5be38da]
   to [65322382b64f6f463a6ea66a9d94c8b37f888cc5]


  Generated from data cached in the distribution;
  further changes may have been made.

  Generated from data cached in the distribution;
  further changes may have been made.

  Generated from data cached in the distribution;
  further changes may have been made.

Thu 12 May 2005 03:20:47 AM UTC, comment #2: 

This problem is not fixed.  Yes, the branch now contains a different revision of ChangeLog but it's still not the right one.  I see this

2004-01-05  Ulrich Drepper  <drepper@redhat.com>

        * Makefile.am: Support separate libelf built.

        * elfutils.spec.in: Create separata elfutils-libelf-devel package.
        Install libdw DSOs.

        * configure.ac (AC_CONFIG_SRCDIR): Use libelf/libelf.h as the file
        name.
[...]

but it should be

2005-02-22  Ulrich Drepper  <drepper@redhat.com>

        * Makefile.am (all_SUBDIRS): Don't add doc subdir for now.
        * configure.ac: Don't use doc subdir for now.

2005-02-15  Ulrich Drepper  <drepper@redhat.com>

        * configure.ac: Remove AM_GNU_GETTEXT use.  Use only AM_PO_SUBDIRS.

[...]


Take a look at the ChangeLog,v file.  The checked out version is something like version 1.10 while the branch version is 1.23.0.2 (with 1.23 being the head).

I already told Nathaniel in a mail that I think there is a fundamental problem if such a bug can appear at all.

The revisions associated with a branch point in the different files have absolutely no correlation.  In one file it can be 1.1.1.1, in another 1.23.  Each file must be examined individually and the branch point need to be determined.  If, as in this bug case, the removal of a file has any influence on ther content of the file on another branch, the monotone importer does not regard the branch points as independent.

I don't know enough about the monotone importer.  But I suspect you need to take a step back and look at the problem differently than before.

Anonymous
Wed 11 May 2005 03:44:38 PM UTC, comment #1: 

The problem seems to be that asm-tst3.c is not altered from the initial import before the .disasm branch is made. CVS uses the version id of 1.1.1.1 (as opposed to 1.1), so .disasm appears to be a branch from the import branch, not from the main trunk.

The asm-tst4.c file is handled later, so .disasm just takes the existing (wrong) branchpoint.

As a workaround (since we don't handle multiple parents in the cvs_import code) I've added a check which will pick the branchpoint closest to the trunk when there are conflicting branches. This handles the "cvs import" case correctly.

This should fix the problem in revision 79000f6dd06eae1e415ccd0897218bb0c27279fa or later.

Matt Johnston <mkj>
Group Member
Mon 09 May 2005 04:13:48 AM UTC, original submission:  

In some situations the versions for files on a branch is not selected correctly and instead of the appropriate version, the initial checkin is used.  The attached file contains a CVS archive.  Unpack it and run this:

monotone --db=bug.db db init
monotone --db=bug.db genkey foo@bar
monotone --db=bug.db --branch foo.bar cvs_import c
monotone --db=bug.db list branches
monotone --db=bug.db --branch foo.bar.disasm-branch co disasm

Now look at the file disasm/ChangeLog.

2000-08-25  Ulrich Drepper  <drepper@redhat.com>

        * The beginning.  See the NEWS file for the time being.

This is just the first checkin.  Now remoce the file c/tests/asm-tst3.c,v and run the same commands.  Note that the disasm-branch branch still exists.  But the ChangeLog file is now complete:

2004-03-06  Ulrich Drepper  <drepper@redhat.com>

        * configure.ac: Use AS_HELP_STRING where applicable.

2004-01-23  Ulrich Drepper  <drepper@redhat.com>

        * configure.ac: Check for C99 compiler.
[...]

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #2939:  c.tar.bz2 added by None (5KiB - application/x-bzip2 - Test data)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

 

Follow 4 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2005-05-11 njs StatusNone Fixed
    Open/ClosedOpen Closed
2005-05-09 mkj Carbon-Copy- Added mkj
2005-05-09 None Attached File- Added c.tar.bz2, #2488

Back to the top

Powered by Savane 3.13-4b48.
Corresponding source code