Stanislau Hlebik wrote:

> diff --git a/tests/test-rebase-scenario-global.t 
> b/tests/test-rebase-scenario-global.t
> --- a/tests/test-rebase-scenario-global.t
> +++ b/tests/test-rebase-scenario-global.t
> @@ -758,6 +758,8 @@
>    $ hg commit -m 'second source with subdir'
>    $ hg rebase -b . -d 1 --traceback
>    rebasing 2:779a07b1b7a0 "first source commit"
> +  current directory was removed
> +  (consider changing to repo root: $TESTTMP/cwd-vanish)
>    rebasing 3:a7d6f3a00bf3 "second source with subdir" (tip)
>    saved backup bundle to 
> $TESTTMP/cwd-vanish/.hg/strip-backup/779a07b1b7a0-853e0073-backup.hg (glob)
>  
> diff --git a/tests/test-update-names.t b/tests/test-update-names.t
> --- a/tests/test-update-names.t
> +++ b/tests/test-update-names.t
> @@ -72,3 +72,15 @@
>    $ cd ..
>  
>  #endif
> +
> +Test that warning is printed if cwd is deleted during update
> +  $ hg init r4 && cd r4
> +  $ mkdir dir
> +  $ cd dir
> +  $ echo a > a
> +  $ echo b > b
> +  $ hg add a b
> +  $ hg ci -m "file and dir"
> +  $ hg up -q null
> +  current directory was removed
> +  (consider changing to repo root: $TESTTMP/r1/r4)

So these tests are causing problems on Solaris.  Our rmdir() returns EINVAL
when trying to remove the cwd, even if you're not specifically trying to
remove "." (at least on ZFS).  That error is caught silently handled
elsewhere, though it does leave the directory behind once the command is
complete.  But it does mean that when we get to the getcwd(), the directory
is still there, so the error doesn't happen.

I'm not entirely sure what to do here.  I'm also not really sure what the
driver for this fix was, so I'm not sure if suggesting something like
dropping the warning in favor of silently chdir()ing to the repo root would
be sufficient.

Thoughts?

Thanks,
Danek
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to