[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: merging stable to default fails
From: |
Daniel J Sebald |
Subject: |
Re: merging stable to default fails |
Date: |
Sat, 12 Jan 2013 05:15:38 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111108 Fedora/3.1.16-1.fc14 Thunderbird/3.1.16 |
On 01/12/2013 01:31 AM, Daniel J Sebald wrote:
On 01/11/2013 09:27 PM, John W. Eaton wrote:
When trying to merge stable to default I see the following error from
hg:
$ hg merge stable
abort: path contains illegal component: /OctJavaQry.class
Any clues? Rik added the binary file OctJavaQry.class to the hg
archive, but I have no clue how that could cause the error above.
jwe
[snip]
Perhaps Mercurial believes
store/fncache:data/build-aux/OctJavaQry.java.i
is illegal because it should be
store/fncache:data/build-aux/_oct_java_qry.java.i
inside of "store/fncache".
If this is the case, how this came about, I can only guess. Perhaps this
is a Windows/others issue because of DOS ignoring case or something?
Maybe the Mercurial settings on Rik's machine are different than yours?
(guessing!) Might there be a command line switch controlling how upper
case letters are treated in the database?
I doubt that theory. Looking through fncache, I see plenty of file
names with upper case letters intact.
How about the following link? Here seems like a clue:
http://permalink.gmane.org/gmane.comp.version-control.mercurial.general/31328
If I understand correctly, the data/build-aux of
data/build-aux/OctJavaQry.class.i
is being stripped in the merge process and creating /OctJavaQry.class.i.
(Note the link in that post to a line of code in Mercurial that does
this.)
However, in the link above it explains that this is due to movement of
the file in the tree somehow. That doesn't seem to be the scenario
here. I do notice something unique and peculiar about OctJavaQry.class
which only has a couple associated change logs in the "default" branch.
http://hg.savannah.gnu.org/hgweb/octave/log/450e4e60d2c9/build-aux/OctJavaQry.class
[As an aside, I sure wish Mercurial interactive interface had just a tad
more convenient info. For example, follow into one of the branches and
there is no indication anywhere what the branch is. Just have to have a
good memory I guess after going a few directories deep. Also, the graph
mode has color-coded branch indications with little dots for the where
the associated changeset belongs. However, there is no key for what
color belongs to what branch. Maybe I'm missing something.]
Anyway, here is the file log for the entry you are having problems with:
http://hg.savannah.gnu.org/hgweb/octave/log/450e4e60d2c9/build-aux/OctJavaQry.class
If one follows either of those changesets, he'll find that there is no
particular entry for OctJavaQry.class like there is for
/build-aux/OctJavaQry.java. Because OctJavaQry.class is binary, it's as
though it is treated as a Git sub-repository.
http://hg.savannah.gnu.org/hgweb/octave/rev/56239ff815a3
Same here:
http://hg.savannah.gnu.org/hgweb/octave/rev/fafd51a1b0f0
I don't get it. How is Mercurial keeping a record of OctJavaQry.class?
Does Mercurial not like the idea of merging a repository? Bug?
Dan