mercurial: "abort: could not symlink" - mercurial

I'm trying to do an hg merge but am getting the message abort: could not symlink to '/path/one': File exists: /path/two
Both /path/one and /path/two exist and are directories. I don't want to get rid of either of them.

Related

Phabricator, Diffusion, Mercurial: "abort: integrity check failed"

My Phabricator stopped pulling new commits a few days ago, I tried to look at my repository in Diffusion, but an error occured:
Command failed with error #255!
COMMAND
hg --config ui.ssh='/var/www/phabricator/bin/ssh-connect' files --print0 --rev ''\''d753179d2d3defe5b6504c0f4d30f1dd9fb72766'\''' -I '.'
STDOUT
(empty)
STDERR
abort: integrity check failed on 00changelog.i:42440!
42440 was the last commit pulled from my repository. Is that a problem with my repo or with Phabricator? I cannot find anything useful.
Yes, it's a problem with your clone of repo. you can use any of described in related topic methods (starting from hg verify locally and remote) and if 42440 is damaged only in your clone get new good clone
JFYI: https://www.mercurial-scm.org/wiki/RepositoryCorruption

Unknown parent error in Mercurial but no error in verify

We have too large Mercurial repo's in which following error has occured few times during a year when trying to clone:
$ hg clone --rev develop --noupdate http://url.to.repository
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: data/.../Result.Database.nuspec.i#03b180f4076b: unknown parent!
All goes well if I don't specify a revision in clone command.
Hg verify doesn't show any error:
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3427 files, 913 changesets, 5406 total revisions
How can I fix this error?
What is causing this error? I would like to fix the root cause to prevent this happening anymore in future.

hg unshelve: abort: working directory parents do not match unshelve state

I recently tried unshelving a change on Mercurial, and an unshelving rebase conflict occurred, which I ended up resolving. Something went wrong after that, because now when I try to do anything else, I get the following error:
abort: unshelve already in progress
(use 'hg unshelve --continue' or 'hg unshelve --abort')
And when I try to use either of those two options, I get the following:
abort: working directory parents do not match unshelve state
How can I restore my working directory to a usable state?
I deleted .hg/shelvedstate and that fixed it for me. You can also move that file instead i.e. mv .hg/shelvedstate .hg/backupshelvedstate if you want to keep the shelvedstate.

How to tell mercurial to 1. Discard local file 2. Use remote file

Sometimes I can't seem to be able to track the merge conflicts.
I need a command that allows me to discard one of my uncommitted files and then update it with the remote copy.
I tried hg revert myfile followed by hg pull , hg commit
but it still won't let me merge or commit.
It keeps telling me to fix unresolved conflict first.
You might need to let Mercurial know that you have resolved the conflict, using hg resolve. From the man page:
hg resolve [OPTION]... [FILE]...
redo merges or set/view the merge status of files
Merges with unresolved conflicts are often the result of non-interactive
merging using the "internal:merge" configuration setting, or a command-
line merge tool like "diff3". The resolve command is used to manage the
files involved in a merge, after "hg merge" has been run, and before "hg
commit" is run (i.e. the working directory must have two parents). See "hg
help merge-tools" for information on configuring merge tools.
The resolve command can be used in the following ways:
- "hg resolve [--tool TOOL] FILE...": attempt to re-merge the specified
files, discarding any previous merge attempts. Re-merging is not
performed for files already marked as resolved. Use "--all/-a" to select
all unresolved files. "--tool" can be used to specify the merge tool
used for the given files. It overrides the HGMERGE environment variable
and your configuration files. Previous file contents are saved with a
".orig" suffix.
- "hg resolve -m [FILE]": mark a file as having been resolved (e.g. after
having manually fixed-up the files). The default is to mark all
unresolved files.
- "hg resolve -u [FILE]...": mark a file as unresolved. The default is to
mark all resolved files.
- "hg resolve -l": list files which had or still have conflicts. In the
printed list, "U" = unresolved and "R" = resolved.
Note that Mercurial will not let you commit files with unresolved merge
conflicts. You must use "hg resolve -m ..." before you can commit after a
conflicting merge.
Here's how you pick up the version of the file from the server.
When you "hg pull", all changes from the server come into your copy of the repository. You can get the contents of a file in any revision using:
hg cat -r <rev> <file>
Use that to overwrite the local file, and commit.

Mercurial - abort: could not lock repository

It is my first time using Mercurial and I am having trouble with it.
I used hg add * and now I am trying to commit by using the hg com command but It's giving me back this error:
Nathans-MacBook-Pro:biogene Nathan$ hg com -m "First time commit"
abort: could not lock repository /Applications/MAMP/htdocs/merc/biogene: No such file or directory
Can anyone provide any insight as to what's going on? That directory certainly exists as I am currently inside of it.
Have you created a repository here first?
hg init