[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

arch bug (was: [Gnu-arch-users] more CVS->arch woes: botched patchset an

From: Denys Duchier
Subject: arch bug (was: [Gnu-arch-users] more CVS->arch woes: botched patchset and commit locking problem)
Date: Sat, 27 Sep 2003 22:49:04 +0200
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux)

Hi Tom,

I figured out the problem I had with a botched changeset.  This is a
tla bug.

Suppose you have a project with a binary file foo.gz and suppose you
modify this file.  If you try to commit as follows:

echo foo.gz > ,,FILES
tla commit -L "watch me die" --file-list ,,FILES

then it will output the following error message AND check in the
botched changeset anyway:

arch_apply_changeset: internal error (patch(1) returned odd status)
   patch(1) exit status: 2

patch: **** Only garbage was found in the patch input.

The reason is that the diff file contains the line:

Files orig/foo.gz and mod/foo.gz differ

The reason for this is that make-changeset-files.c does not implement
the correct logic for dealing with the return status of
arch_invoke_diff.  In fact it doesn't deal with it at all.

After looking at the code, I am under the impression that you must
have had some sort of plan to eventually dump
arch_make_files_changeset in favor of a call to arch_make_changeset
with an appropriate limits_spec argument, but that that hasn't
happened yet.  Am I correct, or completely off base?

If I am right, should I attempt to make this change?


Dr. Denys Duchier
Équipe Calligramme

reply via email to

[Prev in Thread] Current Thread [Next in Thread]