[Top][All Lists]

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

[Gnu-arch-users] Inexact patching and directory renames

From: Aaron Bentley
Subject: [Gnu-arch-users] Inexact patching and directory renames
Date: Mon, 09 Aug 2004 09:15:39 -0400
User-agent: Mozilla Thunderbird 0.5 (X11/20040309)

Hi all,

As far as I can tell the changeset format doesn't provide a way of handling the case where a file is added to a renamed directory.

In changesets, file inventory ids are stored in mod-files-index, orig-dirs-index, and so on. But it's just a partial list, containing only entries for things that have changed.

While it provides an inventory id for the new file, I don't see any way of determining the inventory id of the parent directory. In theory, you could look it up in a revlib, but that's just ugly.

I think this could be fixed by providing the inventory IDs of all directories that have files added or deleted. Since the directory itself hasn't been added or deleted, the ID should be stored in both orig-dirs-index and mod-dirs-index.

For compatibility with old archives, it would make sense to support falling back to pathnames when no parent directory is available. This also makes sense because the tree root directory has no inventory ID.

The problem with having these two behavours is that old changesets occasionally store the parent id by coincidence. In order to distinguish between them, it might be necessary to add a changeset version identifier.

Current versions of tla seem to ignore extra directory info, so there would be minimal breakage.

Comments?  Flames?


Aaron Bentley
Director of Technology
Panometrics, Inc.

reply via email to

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