[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnu-arch-users] selected files commit and ,,inode-sigs
From: |
Michael Teichgräber |
Subject: |
[Gnu-arch-users] selected files commit and ,,inode-sigs |
Date: |
Thu, 30 Oct 2003 14:27:29 +0100 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.2 (gnu/linux) |
Hello,
in a project tree with some modified files I have done a selected
files commit involving only one of these modified files. Now, since
there still are uncommited changes in this tree, I suppose "tla
what-changed" should list them.
For most files it does, but one file is skipped. If I move
,,inode-sigs away or delete the file's corresponding line within the
current inode-sigs file, it is listed too.
The output of stat on each of the modified files matches the
corresponding lines in ,,inode-sigs. There is one thing different for
the file above: It has got only some of its contents moved to another
position, so that its length hasn't changed. Therefore it will pass
if (a_stat.st_size != b_stat.st_size)
return 1;
in arch_binary_files_differ(), and some lines later report the file
being unchanged, since "shortcut_applies" will be true. That's why the
file, other than modified files with size changes, will not show up in
the what-changed output.
May it be a problem for selected files commits in general that
arch_snap_inode_sig() is called in commit.c for the project root, but
this root not reflecting a particular revision, since there still may
be modified files around when the snap is done? Perhaps this
optimization should be disabled when doing a "commit -- files".
--
Michael
- [Gnu-arch-users] selected files commit and ,,inode-sigs,
Michael Teichgräber <=