inotify: raise correct error if server is already started in a deep repository
When path is too long to be an Unix socket address, we create a socket in a
temporary directory and link from the long path to the shorter one.
But checks in server code at startup were insufficient in this case, and used
to raise an unclear "tried linking .hg/inotify.sock to a temporary socket but
.hg/inotify.sock already exists"
$ cat >> $HGRCPATH <<EOF
> [extensions]
> graphlog=
> rebase=
>
> [alias]
> tglog = log -G --template "{rev}: '{desc}' {branches}\n"
> EOF
$ hg init a
$ cd a
$ echo c1 > c1
$ hg ci -Am c1
adding c1
$ echo c2 > c2
$ hg ci -Am c2
adding c2
$ echo l1 > l1
$ hg ci -Am l1
adding l1
$ echo l2 > l2
$ hg ci -Am l2
adding l2
$ hg up -q -C 1
$ hg branch 'notdefault'
marked working directory as branch notdefault
$ echo r1 > r1
$ hg ci -Am r1
adding r1
$ hg tglog
@ 4: 'r1' notdefault
|
| o 3: 'l2'
| |
| o 2: 'l1'
|/
o 1: 'c2'
|
o 0: 'c1'
Rebase a branch while preserving the branch name:
$ hg up -q -C 3
$ hg rebase -b 4 -d 3 --keepbranches
saved backup bundle to $TESTTMP/a/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
@ 4: 'r1' notdefault
|
o 3: 'l2'
|
o 2: 'l1'
|
o 1: 'c2'
|
o 0: 'c1'
$ hg branch
notdefault