view contrib/tcsh_completion @ 31209:dd2364f5180a

localrepo: handle rename with hardlinks properly In "aftertrans", we rename "journal.*" to "undo.*". We expect "journal.*" files to disappear after renaming. However, if "journal.foo" and "undo.foo" refer to a same file (hardlink), rename may be a no-op, leaving both files on disk, according to Linux manpage [1]: If oldpath and newpath are existing hard links referring to the same file, then rename() does nothing, and returns a suc‐ cess status. The POSIX specification [2] is not very clear about what to do. To be safe, remove "undo.*" before the rename so "journal.*" cannot be left on disk. [1]: http://man7.org/linux/man-pages/man2/rename.2.html [2]: http://pubs.opengroup.org/onlinepubs/9699919799/
author Jun Wu <quark@fb.com>
date Thu, 02 Mar 2017 21:49:30 -0800
parents 2616325766e3
children
line wrap: on
line source

#
# tcsh completion for Mercurial
#
# This file has been auto-generated by tcsh_completion_build.sh for
# Mercurial Distributed SCM (version 1.7.5+157-8a220ae0b2ba)
#
# Copyright (C) 2005 TK Soh.
#
# This is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#

complete hg \
  'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \
  'C/-/( -R --repository \
    --cwd \
    -y --noninteractive \
    -q --quiet \
    -v --verbose \
    --config \
    --debug \
    --debugger \
    --encoding \
    --encodingmode \
    --traceback \
    --time \
    --profile \
    --version \
    -h --help)/' \
  'p/1/(add addremove annotate blame archive \
    backout bisect bookmarks branch branches \
    bundle cat clone commit ci \
    copy cp debugancestor debugbuilddag debugcheckstate \
    debugcommands debugcomplete debugdag debugdata debugdate \
    debugfsinfo debugignore debugindex debugindexdot debuginstall \
    debugpushkey debugrebuildstate debugrename debugrevspec debugsetparents \
    debugstate debugsub debugwalk diff export \
    forget grep heads help identify \
    id import patch incoming in \
    init locate log history manifest \
    merge outgoing out parents paths \
    pull push recover remove rm \
    rename move mv resolve revert \
    rollback root serve showconfig debugconfig \
    status st summary sum tag \
    tags tip unbundle update up \
    checkout co verify version)/'