Parent Directory
|
Revision Log
| Links to HEAD: | (view) (download) (annotate) |
| Sticky Revision: |
General further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
Renumber copyright clause 4 Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
Close from_fd if malloc() fails to avoid a file descriptor leak. Reported by: Coverity CID: 1007203 MFC after: 1 week
mv: Improve message when moving two or more files to non-directory. The message text is from cp, which has had a nicer message for this since 2007 (PR bin/50656). As with cp, the exit status changes from 64 to 1. PR: 201083 MFC after: 1 week
cp,mv: Use futimens() instead of utimensat() if possible.
cp,mv,touch: Set timestamps with nanosecond precision. This uses utimensat().
Check if fchflags() is needed by fstat'ing before and check the results. Reviewed by: jilles X-MFC-With: r267977
Always set UF_ARCHIVE on target (because they are by definition new files and should be archived) and ignore error when we can't set it (e.g. NFS). Reviewed by: ken MFC after: 2 weeks
- Make 'flags' argument to chflags(2), fchflags(2) and lchflags(2) of type u_long. Before this change it was of type int for syscalls, but prototypes in sys/stat.h and documentation for chflags(2) and fchflags(2) (but not for lchflags(2)) stated that it was u_long. Now some related functions use u_long type for flags (strtofflags(3), fflagstostr(3)). - Make path argument of type 'const char *' for consistency. Discussed on: arch Sponsored by: The FreeBSD Foundation
Follow the behavior as specified in POSIX: if (exists AND (NOT f_option) AND ((not_writable AND input_is_terminal) OR i_option)) prompt in particular, add the test for input_is_terminal PR: bin/173039 Submitted by: Mark Johnston <markjdb@gmail.com> Approved by: cperciva MFC after: 3 days
Add a -h flag similar to the -h flag for ln to force mv(1) to treat a symbolic link to a directory for the target as a symbolic link instead of a directory. This makes it possible to atomically update a symbolic link using rename(). Reviewed by: gj MFC after: 2 weeks
Put some static keywords in the source code. For these simple utilities, it doesn't harm to make all global variables static. In fact, this allows the compiler to perform better forms of optimisation and analysis.
Don't chop IO into small pieces, follow cp(1) and just use MAXPHYS.
Add NFSv4 ACL support to mv(1). Reviewed by: rwatson
Staticify symbols that will not be used in other places.
- Roll-back attempts to mimic rename(2) atomicity introduced in 1.47, and follow the letter of the POSIX specification. - Moving a directory to an existing non-empty directory will now fail, as required. - Improve consistency and remove some style bugs of earlier versions. This version passes all tests of tools/regression/bin/mv/regress.sh 1.6 Reviewed by: bde MFC after: 1 month
Calling any function from vfork other than exec* and _exit yields undefined behavior. Noted by: alfred
Eliminate gcc "variable clobbered" warnings by declaring the variables living across the vfork as volatile. Noted by: kan
When moving a directory across devices to a place where a directory with the same name exists, delete that directory first, before performing the copy. This ensures that mv(1) across devices follows the semantics of rename(2), as required by POSIX. This change could introduce the potential of data loss, even if the copy fails, violating the atomicity properties of rename(2). This is (mostly) mitigated by first renaming the destination and obliterating it only after a succesfull copy. The above logic also led to the introduction of code that will cleanup the results of a partial copy, if a cross-device copy fails. PR: bin/118367 MFC after: 1 month
Attempt to complete the userspace integration of POSIX.1e extended ACLs. This includes adding support for ACLs into cp(1) and mv(1) userspace utilities. For mv(1), if _PC_ACL_EXTENDED is in effect for the source AND destination operands, the destination file's ACLs shall reflect the source. For cp(1), if _PC_ACL_EXTENDED is in effect for both source and destination operands, and -p has been specified, the ACLs from the source shall be preserved on the destination. MFC after: 1 month
Correct a few places where we called warn() when warnx() should have been used. Submitted by: "Liam J. Foy" <liamfoy@sepulcrum.org> Obtained from: DragonFlyBSD
/*- or .\"- or #- to begin license clauses.
Remove clause 3 from the UCB licenses. OK'ed by: imp, core
When symbolic link is pointed onto a mount point, it can't be moved to a different file system. Patch in PR was incorrect. PR: bin/64430 Submitted by: Samuel Tardieu MFC after: 3 days
Centralize _PATH_* definitions. Submitted by: Tim Kientzle <kientzle@acm.org> (embellished by me)
Quiet warnings about copyright[].
Update usage for the addition of -n in rev 1.35 of mv.c. Approved by: obrien, sheldonh (mentor).
When trying to emulate a cross-device move operation with cp and rm, add a "--" argument after the options so filenames with leading dashes are handled correctly. PR: 39318 Submitted by: Serge van den Boom <svdb@stack.nl> MFC after: 1 week
Remove local definition of _PATH_CP, and use <paths.h>, _PATH_CP is in the CURRENT <paths.h>.
Update SCM ID.
Add the -n option, which automatically answers "no" to the overwrite question.
Warnings fixes.
Move user_from_uid to pwd.h Move group_from_gid to grp.h Remove from stdlib.h Make the prototypes match the code Fix rm and mv to include new files. NetBSD has these defined in those files, and others too that I've not done. Approved by: terminal room kabal Reviewed by: jhb, phk
missed a few registers
o __P has been reoved o Old-style K&R declarations have been converted to new C89 style o register has been removed o prototype for main() has been removed (gcc3 makes it an error) o int main(int argc, char *argv[]) is the preferred main definition. o Attempt to not break style(9) conformance for declarations more than they already are.
Fix the type of the NULL arg to execl() Idea from: Theo de Raadt <deraadt@openbsd.org>
Use PATH_MAX in preference to MAXPATHLEN.
Silence WARNS=2 and BDECFLAGS on alpha and i386, except for mode_t warnings. MFC after: 1 week
Don't emit a warning message if fchflags() returns EOPNOTSUPP Requested by: FUJISHIMA Satsuki <k5@cheerful.com> Obtained from: OpenBSD
To make inherit file flags when mv(1) moves file between directories on different file systems. PR: bin/12375 Submitted by: Takashi SHIRAI <shirai@nintendo.co.jp> No response by: steve No problem with: building 5-current world
Use lstat(2) instead of stat(2) when deciding if we should fastcopy a file. This fixes moving symlinks across partitions. PR: 17847 Reviewed by: bde
add verbose flag
$Id$ -> $FreeBSD$
Calls one or more of malloc(), warn(), err(), syslog(), execlp() or execvp() in the child branch of a vfork(). Changed to use fork() instead. Some of these (mv, find, apply, xargs) might benefit greatly from being rewritten to use vfork() properly. PR: Loosely related to bin/8252 Approved by: jkh and bde
Fixed printf format errors.
Make sure we don't overflow the path buffer. Exit if we do. Obtained from or inspired by: A similar change in OpenBSD by theo
Don't append a '/' to the destination directory if there is already one there. PR: 3025
Correct use of .Nm. Add rcsid.
Merge from OpenBSD: > Error out if someone tries to mv a mount point. Old behavior was to > move all files contained in the mounted filesystem to the dest. dir > which could be quite nasty. Personally, I think rename(2) should > return EPERM or EINVAL instead of EXDEV. Obtained from: OpenBSD mv.c rev 1.6 by Todd Miller <millert@openbsd.org>
Synchronize usage() and man page. Pointed out by bde.
mv(1) is too silent if used with the option -i. It should print which input mv(1) expect (y/n) and print a warning if the file was not overwritten.
Endless loop. $ touch from to $ echo -n loop | mv -i from to overwrite to? ^C
compare return value from getopt against -1 rather than EOF, per the final posix standard on the topic.
Make mv more robust. A race has been fixed, as well as an extra warning added when sbits are cleared. Fixes PR 1351 and 1377 (I hope).
Revert $FreeBSD$ to $Id$
Make the long-awaited change from $Id$ to $FreeBSD$ This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
-Wall cleaning.
delete unused label endarg correct indent of last new code fix usage string, option -f before option -i (alphabetic order)
option -f and -i are exclusive (Posix) respond `Y' is equal to `y' update usage string prompt only if source exist
-- is implemented in getopt(3) -? is an unnecessary case statement and not useful
delete my last commit Submitted by: pst, ache
option -f and -i are exclusive all flag variables initialized with zero respond `Y' is equal to `y' update usage string prompt only if source exist ignore -i option if file descriptor stdin not refers to a valid terminal type device
Handle trailing slashes in source filenames correctly. E.g., rewrite `mv foo/ ../..' to `mv foo/ ../../foo/', not to `mv foo/ ../../'. The latter caused a panic. Before the trailing slash changes in the kernel, the trailing slashes caused the rename() for this mv to fail earlier, so there was no panic in 2.0. Fixes part of PR 760.
Added $Id$
This commit was generated by cvs2svn to compensate for changes in r1556, which included commits to RCS files with non-trunk default branches.
BSD 4.4 Lite bin Sources
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| ViewVC Help | |
| Powered by ViewVC 1.1.27 |