Search code examples
mercurialphabricator

Phabricator - Source code appears in .hg folder


For initiating my project, first, I push my code to Phabricator repository by using hg instead of arc.

Then I accepted commits on Phabricator.

But I suspect that I had done wrong somethings. Because the source code appears in /var/repo/M/.hg/store/data/ path.

I'm wondering that is everything normal?

enter image description here


Solution

  • /var/repo/ is the configurable root, M/ the name of your repository in phabricator. I think the rest is the default structure of a mercurial repository. It always creates a similar folder structure within .hg/store/data/ than the workspace itself looks like. So, yes, everything is normal as phabricator hosts a mercurial repository.

    More precisely, files ending in .i in the .hg directory are index files in revlog format. Sometimes you will also see .d files next to the .i files (short for data), but with the newest revlog format, the index files can also often hold the data as well, allowing .d files to be omitted. The rest of the filename is based on the name of the original file, with certain characters (such as symbols and upper case) encoded differently; for example, the ~2e prefix in the screenshot represents a dot character (., ASCII code 0x2e).