There's been some blue-sky design scribbling on these issues that you might want to be aware of: http://www.venge.net/mtn-wiki/NonMergeConflicts
On Wed, Jun 18, 2008 at 03:46:25AM -0400, Stephen Leake wrote: > I just ran into a case insensitive file name problem. I'm on > Windows, and I added a file named "GDS_Executor.page" in a main > branch, renamed it to "gds_executor.page" in another branch, > then merged the branches. > > mtn did not complain during the merge, but it did complain during the > update; > > mtn: misuse: rename target 'gds_executor.page' already exists > > But then if I delete 'gds_executor.page' from the workspace (but not > from mtn), update fails with: > > mtn: warning: missing file 'GDS_Executor.page' > > There are a couple of issues here. > > First, mtn should use a case-insensitive file name compare. More > precisely, it should use whatever file name compare the actual file > system uses; that may be a case-sensitive NFS on Windows, for example. > That would require a standard API for checking file name equality; is > there such a thing? Trying to actually create two files and seeing if > an error results would work, but probably be too slow. > > As an approximation, we could lowercase all file names on Windows > before doing string equal. That's probably not right if the filenames > are actually UTF8 encoded. Is there an appropriate 'lowercase' function? > > Second, why does 'update' care if some files are missing? They will be > restored or not as appropriate by the update anyway. In the current > use case, this check just gets in the way. I'll start another thread > for that. > > -- > -- Stephe > > > _______________________________________________ > Monotone-devel mailing list > [email protected] > http://lists.nongnu.org/mailman/listinfo/monotone-devel -- Nathaniel -- Electrons find their paths in subtle ways. _______________________________________________ Monotone-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/monotone-devel
