-*-outline-*-- GNU Interactive Tools ===================== * Version 4.9.5 ================ ** Increased version of Free Documentation License to 1.3 or later, still with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. ** Added filetype info for many more file extensions. Thanks to Tudor Hulubei (and Wikipedia). ** Portability fixes, thanks to James Rowe and Gerald Pfeifer. ** Filesize display: go straight to scaled numbers if number with commas doesn't fit. ** Fix free space display as root. ** gitaction: support xdg-open, kfmclient and exo-open. * Version 4.9.4 ================ ** New apropos command (^X^A) for key-binding search. ** Environment variables used by gnuit now start with GNUIT_ rather than GIT_ (eg GNUIT_PAGER, GNUIT_BROWSER, etc.). The old names are still accepted for backwards compatibility. ** Rewrote gitaction, adding more file types and viewers. ** Fixed input in incremental-search mode. ** Use base 1024 when autoscaling. ** More fixes to large file support. * Version 4.9.3 ================ ** Fixed MacOS support. ** Fixed large file support on 32bit systems. ** On install, remove files belonging to earlier versions. ** gitfm: Scale file sizes when needed to fit available space. ** gitfm: New panel minor mode AbbrevSize: Always scale file sizes (to e.g. 123M). Accessed with escape-e-S (panel-enable-abbrevsize). ** New config variables: GroupDigits, MaxUnscaledDigits. ** Fix parsing of comments in config files. ** gitaction: Added more viewers; If no explicit action defined for filetype, falls back to see(1), metamail(1), [on MacOS] open(1), and finally $GIT_PAGER. ** Added explicit license notice to many files. * Version 4.9.2 ================ ** Renamed package to gnuit. ** Renamed git file manager binary to gitfm. A transitional script to warn users is installed unless configured otherwise with ./configure --disable-transition. Config file sections now start with "[GITFM-", but "[GIT-" is still accepted. ** Dropped leading dots from system copies of gitrc files, and renamed them to gnuitrc.* Files in home directory still start with ".". ~/.gitrc.TERM will be tried as a fallback if ~/.gnuitrc.TERM doesn't exist. ** Changed code license to GPL version 3 (see COPYING). and documentation license to GFDL 1.2 with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. ** Added 64bit I/O support from Tudor Hulubei. ** New terminals: rxvt-unicode, linux-m, cygwin, Eterm. ** Added commands to manipulate .deb files (Thanks to Bruce Sass). ** Support comparing special files in gitfm. ** Restore screen when exiting. ** Fix copying symlinks. ** Add mail checking to title. ** gitps: added numbers as key bindings for signal selection. ** Fixed a scrolling inconsistency in gitview (Tudor Hulubei). ** Fixed a segmentation fault related to directory names containing printf-like sequences (Tudor Hulubei). ** Fixed a segmentation fault in gitps when killed process left you off the end of the list. ** Moved the info and documentation files in /usr/share (Tudor Hulubei). ** Fixed a problem with gitps (refresh was resetting the signal type to SIGTERM) (Tudor Hulubei). ** gitps: added RefreshAfterKill variable (Default: ON), to autorefresh after signalling a process. ** gitps: add horizontal scroll (ESC-g & ESC-J). ** Documentation fixes (Some from Tudor Hulubei). * Version 4.3.20 ================ ** Moving across filesystems now preserves file ownership. ** Copying no longer preserves file ownership. ** F7 (`make-directory') creates all the intermediate directories. ** Fixed a long standing bug in the xid code for long user names (I could finally reproduce it myself). ** Fixed a crash in the incremental search code. * Version 4.3.19 ================ ** Fixed 2 compilation problems on non-ANSI C compilers. ** Minor fixes in gitaction. * Version 4.3.18 ================ ** The build/installation procedure is now based on automake. ** `make prefix=some_path' no longer recompiles git. According to the new GNU coding standards this is the correct behaviour. ** The key sequence typed so far is displayed in the status bar, if not completed in one second. ** `select-extension'/`unselect-extension': new builtin commands, bound on `Alt-+'/`Alt--' (or `ESC +'/`ESC -'). These commands select/unselect all the files in the current directory that have the same extension as the current file. That is, if the current file is "git.c", `select-extension' will select all the "*.c" files in the current directory. If the current file does not have an extension (including the case where its name starts with a dot), no selections/unselections are made. ** The insertion of file/directory names in the command line (Alt-Enter) is a little bit smarter. Quotes are added only when necessary and when before the current possition there is a /, no space is added before the name, to allow for path building. ** The incremental forward/backwards search mechanism can recall the last searched string if the user types ^S/^R while the string is empty. This is similar to what Emacs does. ** F2 works on *.pgp files (will ask for a passphrase). ** `ESC m f' mounts the first floppy in /mnt/floppy. `ESC r f' unmounts it. ** A simple scroll-bar thumb (#) has been added on the right side of the panel's frame. ** The shell command currently being executed is displayed on the title of the xterm window. ** GIT_BROWSER: new environment variable. If set, git will use this to view html documents. If GIT_BROWSER is not set, lynx will be used instead. ** A more Unix like key sequence structure in gitps and gitview. You can scroll up and down with `Space' and `Backspace' and quit with `q'. ** Binary file split on `^C /' and (in background) on `^C b /'. ** The inconsistency between the keys and the signal names in gitps have been fixed. Signal selection is done with upper case letters only. ** Other bug fixes. * Version 4.3.17 ================ ** Many fixes and updates. ** Bzip2 compression on `^C .'. ** `^C -' creates a .tar.bz2 archive of the current directory. `^C b -' does the same thing in background. ** `Alt-m z' and `Alt-r z' (or `ESC m z' and `ESC r z') will mount/unmount the ZIP drive, provided you link /mnt/zip to the appropriate device in /dev. ** `Alt-m j' and `Alt-r j' (or `ESC m j' and `ESC r j') will mount/unmount the JAZ drive, provided you link /mnt/jaz to the appropriate device in /dev. ** HTML doclumentation included, installed in $(prefix)/lib/git/html. If lynx is installed, `^X h' will point it to the right place. ** Tested on Solaris 2.6. ** Ported to IRIX 6.3 (mips-sgi-irix6.3) (TERM=iris-ansi). ** Ported to UNIX System V 4.0 (i486-pc-sysv4.0). ** If possible, `git' will print the current path on the title of xterm terminal emulators. `gitps' will print the ps(1) options used, and `gitview' will print the name of the file it is currently viewing. ** GENERIC-UNPACK: New command that unifies archive unpacking. It unpacks archives based on the extension of the file by calling the `gitunpack' script to do the job. Currently the `gitunpack' script is able to handle *.tar, *.tar.gz, *.tar.bz, *.tar.bz2, *.tar.Z, *.Z, *.gz, *.bz, *.bz2, *.zip, *.jar, *.arg, *.rar, *.shar, *.deb, *.lha, *.lzh, *.uu and *.a. The binding for GENERIC-UNPACK is `^C X' - the one used before for UNCOMPRESS-UNTAR which is obsolete and has been removed (together with B-UNCOMPRESS-UNTAR, UNTAR and B-UNTAR). ** It is possible to unpack an archive into a given directory, using GENERIC-UNPACK-INTO (^CV or ^CbV for the background version). If the directory does not exist, it is created. Thanks to Viorel Anghel for suggesting this. ** gitunpack (^CX, ^CbX) will unpack all the selected files. ** The rpm-related commands (^CI, ^CbI, ^Ci, ^Cbi, ^CN, ^CbN) will now act (install, uninstall, upgrade) on all the selected files. ** Added command line options. Try `git -h', `gitps -h' and `gitview -h' for details. ** `git' will use colors if the COLORTERM environment variable is defined. ** `git' now accepts starting directories in the command line. ** For the MS-DOS die-hards: I added support for making the shell `chdir' to the path `git' was in before exiting. `bash' users need to use this shell function: function g { git -p $@ 3> /tmp/git.p.$$ if test -s /tmp/git.p.$$; then if test -d "`cat /tmp/git.p.$$`"; then cd "`cat /tmp/git.p.$$`" else cd fi fi rm -f /tmp/git.p.$$ } Notice that this won't work if `git' is suspended and then resumed (the `cd' command in the script will be executed immediately after `git' is suspended, not after it exits). ** It is now possible to specify a list of patterns to the `+' and `-' commands, thanks to "Viorel ANGHEL ". For instance, typing `+ *.java' in the command line will select all the java files (in addition to whatever files were currently selected). ** Support for SIGWINCH has been added. `git' can be resized at will, regardless of whether it is currently doing something or not. ** Better support for suspending `git'. `git' can now be suspended at any time, including while it is doing something (like copying files, etc). Also before `git' launches new programs, it will set the SIGTSTP handler to SIG_IGN. Well behaved programs ((X)Emacs, ncftp, the GNU shell utile, etc.) will notice this and ignore suspend signals as well. ** refresh now works even during incremental searches & input line reads (like make-directory, etc.). ** After changing the sorting method, `git' will reposition on the panel entry that was the _current_ entry before the sorting. A similar repositioning attempt is performed after creating new directories in the current directory. ** It is now possible to view the names of those files/directories that do not fit into the panel's visible area by using the `horizontal-scroll-left' and `horizontal-scroll-right' commands, bound on Alt-g and Alt-j (or `ESC g' and `ESC j' if you don't have a working Alt key). ** The clock is back, with a (hopefully) safer implementation. ** gitmount accepts a list of devices to mount (as usual, without the /dev/prefix). Also it is possible to select several directories in /mnt (corresponding to devices) and mount/umount all of them with `ESC m t' and `ESC r t'. * Version 4.3.16 ================ ** Minor fixes and updates. * Version 4.3.15 ================ ** MIME-PACK, B-MIME-PACK, MIME-UNPACK, B-MIME-UNPACK - new user defined commands that pack/unpack mime files. The corresponding key bindings are: ^Ck, ^Cbk, ^CK and ^CbK. The mpack package should be installed in order for these to work. ** MIME-MAIL, B-MIME-MAIL - new user defined commands that can send files by mail as mime messages. The corresponding key bindings are: ^C2m and ^Cb2m. The mpack package is required for these ones as well. ** FAST-DIFF - new user defined command (on ^Cfd). Calls diff -r -q and reports differences between directories in terms of files that differ, but does not report the actual differences between them. ** Added support for *.mov to gitaction. ** Added support for bin packing (i.e. packing files in the smallest number of bins). See the info documentation for details. ** Some user defined commands now protect "weird" file names with the POSIX specified `--' argument that terminates all options. Thus for some commands the errors that used to occur when dealing with file names beginning with a hyphen are now fixed, depending on whether or not that particular command supports the `--' argument. For the ones that don't (emacs, ghostview, tar, basename, ar, xv, xanim, xfig, lynx, mpeg_play, zip/unzip, ispell, etc), there is nothing I can do. GIT cannot check whether or not programs actually do support this POSIX feature. ** `git' now works with gzip only. Support for `compress' as an alternative has been removed. Most archives today are in `gzip' format anyway. ** Multiple patterns are accepted on `select-files-matching-pattern'. The patterns are separated by spaces. Spaces and \s should be escaped with a \ if part of the pattern. ** Bug fixes. * Version 4.3.14 ================ ** Added support for exec_prefix. ** Added support for make prefix=... ** Added support for most of the commands provided in the mtools package. See the ^Cm prefixes in term/.gitrc.common. ** File comparison is now built-in (on ^C B, as usual). gitcmp is gone. ** Added support for the xhost command on ^X H. ** Bug fixes. * Version 4.3.13 ================ ** Ported to AT&T 3B2 systems, thanks to Gaylen Miller . ** Under RedHat Linux 4.0 the rxvt terminal emulator exports TERM=xterm-color which makes it possible to figure out that we have color support. GIT now supports xterm-color as well. ** M-. (ESC .) works better in the sense that it goes up to the previous directory and automatically positions on the entry corresponding to the old directory. ** ^CI installs the RPM package under the cursor. ** ^Ci uninstalls the RPM package under the cursor. ** ^CN upgrades the RPM package under the cursor. ** ^Cq queries the `rpm' package manager. These commands also have background versions: ^CbI, ^Cbi and ^CbN. ** Tested on NetBSD 1.2. ** Fixes to make GIT compile cleanly to some new architectures thanks to Nelson H. F. Beebe . ** Minor changes/fixes. * Version 4.3.12 ================ ** Added recursive context diffs on ^Cd and ^Cbd (background). See the documentation for details. ** ^G behaves better as an interrupt key. ** Added support for meta keys with the 8th bit set. ** The commands binded on the function keys are now to the M-number (ESC + number) key sequence as well. ESC + 1 and ESC + 2 which used to chdir to the /mnt/fdX directories have been moved on ESC ESC 1 and ESC ESC 2. ** `git' can now compare directories: ^Ccq will quickly compare the file names, sizes and time stamps while ^Cct will thoroughly compare the contents of each file with the contents of its couterpart (if any) from the other panel. ** `name-upcase' & `name-downcase': New builtin functions for renaming the selected entries to uppercase & lowercase. ** GIT compiles out of the box under the Hurd. ** Many minor fixes. * Version 4.3.11 ================ ** An installation problem has been fixed. GIT no longer attempts to change the permissions of directories. ** backward-kill-word is now on ESC Ctrl-H as well. ** The `install' rule now depends on `all', which means you can type `make install' and get the entire package compiled and installed. ** There is now a separate rule called install-only that you can use to install GIT without re-checking the dependencies. ** The install_strip rule has been renamed to install-strip. * Version 4.3.10 ================ ** Ported to qnx 4.22 thanks to Michael Hunter . ** Ported to B.O.S 02.01 (Bull Operating System - m68k-bull-sysv3). ** Panels are no longer redrawn immediately after commands started from the command line or by pressing RETURN on the executable. Most users seem to prefer it this way. ** Ported to Next Step 3.2 - m68k-next-nextstep3: NeXT Mach 3.2: Mon Oct 18 21:57:41 PDT 1993; root(rcbuilder):mk-149.30.15.obj~2/RC_m68k/RELEASE_M68K Processor type: MC680x0 (68040) thanks to Paul Nevai ** The file system free space is displayed in a more intuitive way, i.e. 8,881,152 instead of 8881152. The same thing holds for the sum of selected files. ** Bug fixes. ** Support for the AIX hft teminal, thanks to Andrei Caraman . ** New inputline functions (inspired from the emacs counterparts): FUNCTION BINDING ACTION ======================================================================= kill-word ESC d (M-d) delete next word downcase-word ESC l (M-l) convert next word to lower case upcase-word ESC u (M-l) convert next word to upper case capitalize-word ESC c (M-l) capitalize next word Unfortunately, this has lots of side effects: *** panel-display-* names & the corresponding bindings have been changed: - ESC e a = panel-enable-all (previously called panel-display-all) - ESC e d = panel-enable-date-time (previously called panel-display-date-time) - ESC e f = panel-enable-full-name (previously called panel-display-full-name) - ESC e m = panel-enable-mode (previously called panel-display-mode) - ESC e o = panel-enable-owner-group (previously called panel-display-owner-group) - ESC e s = panel-enable-size (previously called panel-display-size) *** conform-*-directory names & the corresponding bindings have been changed: - ESC a c adapt-current-directory (previously called conform-current-directory) - ESC a o adapt-other-directory (previously called conform-other-directory) *** the user defined UMOUNT bindings have been changed: - ESC r a remove (umount) /dev/fd0 - ESC r b remove (umount) /dev/fd1 - ESC r t remove (umount) the fs under the current directory ** As you can see, 4 lines of new features, 11 of side effects. Sorry about this changes, but at the time I decided to use the previous bindings I had no idea how wonderful emacs is :-). * Version 4.3.9 =============== ** A bug introduced in 4.3.8 has been fixed. ** Better handling of `aixterm' terminal emulators under AIX. * Version 4.3.8 =============== ** A few bugs have been fixed and some slow algorithms have been speed up. ** I have tested `git' on our recently installed NFS volume and tried to fix the related problems. I don't know whether or not I have fixed all of them. Please let me know if it works for you. ** The default ANSI colors are correctly restored under color_xterm, rxvt and most likely under any other (bug free :-) ANSI capable terminal or terminal emulator. ** New commands in .gitrc.common. ** Fti matching is delayed until needed. ** gitrgrep & Co. use 'find' to walk through the file system tree. ** gitregrep and gitfgrep will call egrep and fgrep recursively. ** The clock is gone. There were too many races. Sorry guys :-( Type ^XT to get the current date/time (DATE). ** Better terminal optimizations and terminal I/O. It should work a faster on almost every terminal. ** The gitaction script has been improved. It is now able to handle compressed movies and accepts uppercase extensions for all image types. Also, all the actions on C, C++, PGP, LEX, YACC, make files have been removed. Compiling the current file was a little bit silly since most .c files are part of bigger projects and compiling them separately is useless. ** Many new file types are now detected in the [GIT-FTI] section. If `git' seems slow due to the fact that about 300 file patterns are matched for each file entry displayed, consider setting TypeSensitivity to OFF or removing some of the unnecessary patterns from .gitrc.common's [GIT-FTI] section. However, 4.3.8 should work much better than 4.3.7 since the patterns are matched only when necessary and no more than once. ** The ./configure option for requesting the terminfo library is now --with-terminfo. The previous option (--enable-terminfo) is no longer supported. ** A bug preventing users from defining their own colors in the [GIT-FTI] section of their ~/.gitrc.TERM file has been fixed thanks to Marian Ciobanu . ** The delay at the end of the file type sensitive action executed by the gitaction script has been removed. This was annoying, especially under X when starting viewers in background. ** Even though the default .gitrc.xterm is still configured with AnsiColors = OFF, it is highly recommended to set it to ON on terminal emulators that have ANSI colors support (aixterm under AIX, xterm under ULTRIX, color_xterm & rxvt under Linux). ** `git' no longer attempts to execute empty commands at the command prompt (that is, commands that contain only spaces and semi-columns. This is not a bug, is a feature :-) ** Philippe De Muyter ported GIT 4.3.7 to sysV68 R3V7.1 (m68k-motorola-sysv). I have integrated his patch into 4.3.8. * Version 4.3.7 =============== ** Few improvements, mostly fixes. All the compilation/installation problems reported in 4.3.6 have been fixed (I hope :-). ** RUMORS, RUMORS, RUMORS, .... it've heard that newer Linux systems use "linux" instead of "console" for the TERM environment variable. Due to this, I've linked .gitrc.linux to .gitrc.console. I'm not sure if it will really be useful, but it won't hurt. ** `git' can now display files using different colors, depending on their types as specified by the [GIT-FTI] section (FTI stands for file type information). See .gitrc.common for more details. If you don't want/like colors, they can be disabled by setting the TypeSensitivity variable to OFF. Note that I've considered more important to emphasize the file type and *NOT* the fact that it is compressed. That means that foo.c and foo.c.gz will be displayed using the same color. Of course, this approach can be changed by modifying the configuration file... ** GIT_PAGER is a new environment variable that replaces "more" in all the user defined commands described in the configuration files. If your system has "less", just add GIT_PAGER=less to your environment. By default GIT_PAGER='more'. gitaction & .gitaction use GIT_PAGER too. ** conform-current-directory & conform-other-directory now save the new directory into the directory history. ** Faster startup. ** ^C= now performs recursive diff. ** `flip' is the default action for *.fli and *.flc. See gitaction for details. ** tty.c now uses /dev/vcsa to dump/restore the screen. The ioctl() system call is no longer used. You should have the right to r/w the corresponding /dev/vcsaX since I don't like setuids, and I also think that the appropriate permission/owner should be set by the login utility in the same way as for /dev/ttyX. Until then, if you are on a single-user machine or you don't care much about security, you can give unrestricted r/w permission on /dev/vcsaX. * Version 4.3.6 =============== ** Added scroll step. A new built-in function (set-scroll-step) lets you modify the panel scroll step. It is also possible to set it in the configuration file using the StartupScrollStep variable. The built-in function set-scroll-step is binded on ^XP. ** Added incremental search. The built-in functions isearch-backward and isearch-forward are mapped on ^S and ^R (as in emacs). If the hardware doesn't let you change the default meaning of ^S, you can use the alternate key sequences ^Xs and ^Xr. Wrapped isearch is also provided. ** select-file has been moved on ^T since ^R is now used for isearch-backward. You can also use Ctrl-\ (^\) for select-file (if available). Sorry, I promise that this is the last time I am moving this one :-). Anyway, if you are using Linux, you can continue to press the 'Insert' key. ** Verdoolaege Sven has contributed an enhanced gitaction script. Default actions are now available for many new file extensions: zip, arj, rar, mod, s3m, voc, wav, lsm, jpeg, mpg, ps, dvi and tex. I also added support for compressed and uncompressed manual pages. ** A bug in getting the size of symbolic links has been fixed. Only symbolic links with no target have been affected. ** It is now possible to have a command with no body, still being able to chdir to the directory specified in the configuration line. You can switch between directories much faster. A command name is still required. - M-/ (ESC-/, Alt-/ under Linux) goes to / - M-. (ESC-., Alt-. under Linux) goes to .. - M-h (ESC-h, Alt-h under Linux) goes to $HOME - M-i (ESC-i, Alt-i under Linux) goes to /usr/include ** Han Holl made gitrgrep work on SCO 3.2 V 4.2. He also reported some other problems under SCO. See the PROBLEMS file. ** Alexander Jolk requested that the Makefiles makes no provisions in order not to display the commands. Done. ** Preformatted manual pages are no longer part of the distribution. In fact, manual pages have not been updated in this version. The GNU projects seems to consider them obsolete, and I think that updating only the info file will be enough. Each release will have a decent set of manual pages, but only to figure out what it is all about, not as a reliable source of information about GIT. ** A directory history is provided, making it easy to switch between directories within a given set. If you change the current directory with ^Xd or you specify a new-dir field to a command, the directory is added to the directory history. You can switch to the previous directory with ^X^P, to the next directory with ^X^N and you can reset the entire directory history with ^X^R. After reseting the directory history, the current directory is automatically added to it. ** A new variable (ConfirmOnExit) has been added to the [GIT-Setup] section, allowing you to specify if you want to be asked for confirmation at exit. The default is not to be asked for confirmation. ** Added tilde expansion on 'copy' and on 'move'. It should have been there from the very beginning. ** make-directory no longer expect a base-name. The directory name is tilde_expand()-ed and then created, if possible. ** The FIND function no longer asks for the start directory. It simply ask the file name and starts searching it from the current directory. ** It is now possible to select directories and delete / copy / move them using the same builtin functions used in the previous versions for file only operations. Since it is inherently dangerous to delete directories, if the directory to be deleted is not empty, the user is prompted twice, in order to reduce the possibility of an error. Briefly, you can use the same key binding for both file and directories common operations (i.e. pressing F8 or ^C D will delete the current file (or directory) if there are no selected files / directories, or all the selected files and directories otherwise). You should pay attention because directories are deleted recursively. Also note that the select-all built-in function doesn't select directories. You should select them "by hand". Just for safety... ** Most file commands have been changed in order to act on the selected files. As an example, if you select some files in a panel and then start the COMPRESS command, `git' will compress all the selected files, not only the current one. If the command used (gzip in our case) exits successfully, all the selected files will become unselected. However, if an error occur, `git' will *not* unselect the selected files since there is no way to tell (in general) which files have been successfully processed. ** An utility for wiping files is provided. Its name is (of course) gitwipe and is binded on ^C W. gitwipe overwrites the file contents with a random sequence of numbers and then calls sync(). Note that gitwipe does *not* delete the file since (under Linux at least) the sync() system call might return before actually writing the new file contents to disk. Deleting the file might be dangerous because some file systems can detect that the blocks in the file are no longer used and never write them back to disk in order to improve performance. It is up to you to delete the file(s) at a later moment. ** A new scheme is used for the configuration files. Since most of the key bindings are common to all the terminal types and only a few are really terminal specific, a new configuration file called .gitrc.common is used to keep the 'common' ones. This new confi- guration file contains only the [GITxxx-Keys] sections. Terminal specific key bindings can be defined as usual in the .gitrc.TERM files and, if a conflict occurs, the .gitrc.TERM definition is used, giving the user the possibility to overwrite a 'common' key binding if it wishes to do so. ** The configuration files commands have been enhanced with a new format specifier: '%?{confirmation}' This format specifier only asks for confirmation before expanding / executing the current command. The 'confirmation' string is displayed and if the user doesn't confirm, the command is aborted. Otherwise, %?{...} expands to a null string and the command is expanded / executed normally. ** A separate history is kept for each command. This is true for both built-in and user-defined commands. For example, if you search a file using the user-defined FIND command and, later, you call the FIND function again, you can walk through the file names history using the arrow keys or ESC p / ESC n (M-p / M-n in emacs). ** Three built-in functions have been added: *** enlarge-panel - binded on ^X1 (C-X 1) *** enlarge-other-panel - binded on ^X0 (C-X 0) *** two-panels - binded on ^X2 (C-X 2) enlarge-panel will maximize the current panel, enlarge-other-panel the other one. One of the panels will become invisible. However, *all* the operations can still be performed. The invisible panel will remain the default destination for copy/move operations. TAB will also continue to work. two-panels will restore the original two panels mode. ** A new display mode, suitable for enlarged panels, is provided. This new mode combines all the other modes, displaying the owner, group, date, time, size and mode of a file. It is automatically selected by enlarge-panel and enlarge-other-panel but can be changed afterward, by pressing ^] (C-]). ** A 'lock' built-in function has been added. It is binded on ^X p (C-x p) and locks the terminal until the password typed at lock time is correctly retyped. ** The `git' panels are no longer deleted/restored when a background command is started. ** A .gitrc.sun configuration file has been added. It is a link to .gitrc.generic. ** New Linux kernels seem to use the /dev/vcs devices to dump the screen contents. I dont' have access to such a kernel right know, but I will fix this in the next release. See the file PROBLEMS for details. ** The texinfo documentation has been rewritten from scratch. It is better organized and has many new additions. It also contains an exhaustive description of all the default key bindings. There are still many things that can be done, though. ** A dvi Makefile target has been aded. Type 'make dvi' if you want to create the git.dvi file from git.texinfo. After that, you should be able to get a PostScript documentation using dvips. ** A last minute Minix 1.6.25.1 port. Works fine, has colors. A .gitrc.minix has been added to the distribution. * Version 4.3.5 =============== ** Owner and group names are now being cached using hash tables in order to increase the directory reading speed. ** `git' is now able to display the file system free space on many systems. GIT 4.3.4 was only able to do this under Linux, using the statfs() system call. GIT 4.3.5 uses a modified version of the fsusage.c file from the GNU fileutils 3.2 package. ** ^H (8), ^I (9), ^J (10), ^M (13), ^SPC (0) and BACKSPACE (127) can be configured in the configuration files. ** The interrupt & quit characters are both ^G now. You can exit from GIT with ^X^C (this is the default binding but you can change it, of course :-) ). ** The entire set of default key bindings has been changed. I have tried to make them be more emacs-like (where possible). Since it is impossible to use 'z' to compress a file or 'Z' to uncompress it as emacs does in the 'dired' mode because 'a', 'A', ... 'z', 'Z', etc are used to enter commands in the input line, I have decided to use the ^C prefix key for file operations. Background commands are prefixed with ^Cb. You should read the configuration files for more details. ** `git' now has an editable input line. Most emacs-like editing functions suitable for editing one line of input are now available: Function: GIT style: Emacs style: *** backward-char ^B C-b *** forward-char ^F C-f *** backward-word ^[b M-b *** forward-word ^[f M-f *** beginning-of-line ^A C-a *** end-of-line ^E C-e *** delete-char ^D C-d *** backward-delete-char ^_ DEL *** backward-kill-word ^[^_ M-DEL *** kill-line ^[k C-k *** kill-to-beginning-of-line ^U *** kill-to-end-of-line ^K *** just-one-space ^[^@ M-SPC *** delete-horizontal-space ^[\ M-\ *** action ^M RET *** set-mark ^$ C-SPC *** kill-region ^W C-w *** kill-ring-save ^[w M-w *** yank ^Y C-Y *** exchange-point-and-mark ^X^X C-x C-x ** Since the entire input line code has been changed / improved, the 2048 bytes length limit no longer exist. The input line can hold as many characters as you want. ** All the built-in command names have been changed in order to match the emacs style function names: has become change-panel. By convention, built-in commands are now lowercase while user defined commands are uppercase. ** When copying files that are longer than 32 Kb, the copied percent is displayed on the status bar. ** The copy_files built-in command can be interrupted in the middle of a file copy action. If the operation is interrupted in the middle, the incomplete file is deleted. ** The configuration files are using now shell environment variables to call the shell, editor, mail reader, compress and virtual memory status utility. That means that if you set GIT_SHELL, GIT_EDITOR, GIT_RMAIL, GIT_COMPRESS or GIT_VMSTAT to some value, that value will be used instead of the default one. The defaults are: *** GIT_SHELL='/bin/sh' *** GIT_EDITOR='vi' *** GIT_RMAIL='emacs -f rmail' *** GIT_COMPRESS='gzip -9' *** GIT_VMSTAT='free' If GIT_SHELL is not defined but SHELL is, GIT_SHELL will be set to that value. If GIT_EDITOR is not defined but EDITOR is, GIT_EDITOR will be set to that value. ** History expansion has been added. `git' now takes advantage of the full power of the history library. Each command entered at the prompt is expanded and added to the history. !!, !?, !-n, ... are now available. See the history library documentation for more details. ** The package can be compiled in a different directory, keeping the source tree unmodified. You should be able to make an empty directory, chdir to it and start git-4.3.5/configure, then make. ** The distribution has been split into three directories: src, man and info. ** GIT has been tested on IRIX 4.0.5F. It works. It also works on SunOS 4.1.3, Solaris 2.3 and Irix 5.2 according to Eric Jaron Stieglitz . ** `make install' creates a symbolic link from $(libdir)/.gitrc.xterm to $(libdir)/.gitrc.xterms in order to avoid problems on systems that have the TERM environment variable defined as xterms instead of xterm. ** A script doing recursive grep (gitrgrep) has been added to the distribution. It might be useful. * Version 4.3.4 =============== ** Richard Stallman saw it and agreed to be part of the GNU project. ** The package is no longer called 'UNIX Interactive Tools'. I've changed its name to 'GNU Interactive Tools'. ** GIT is now able to correctly restore the terminal foreground and background under X. The previous version had a problem with this because there is no way to find out the terminal colors at startup. The [Setup] section of the configuration file specifies the colors that GIT should set at exit. ** If gcc is detected at configure time, -Wall is added to CFLAGS. ** A bug in Makefile.in has been fixed. ** Two gitps bugs have been fixed. ** Better ^Z (suspend) management. GIT doesn't wait any longer for a key to be pressed after the 'fg' command is entered at the shell prompt. ** The hpterm terminal emulator support works better. It is far from being perfect, but it works better than the previous versions. ** Added support for System V and BSD terminal interfaces. ** Added support for AIX aixterm terminal emulator. ** If a .gitrc.TERM file cannot be found for a specific terminal, a generic configuration file (.gitrc.generic) is used. ** Tested on a Bull computer running AIX. ** Tested on some BSD 4.3 systems at FSF. ** Tested on a Sun running SunOS 4.0.3 at FSF. ** A better Sun port thanks to Johann Friedrich Heinrichmeyer. ** A better Alpha port thanks to Dan Pop. ** Added some emacs-like key bindings. There will be more in the next version. ** Code cleanup. * Version 4.3.3 =============== ** Added support for moving files on MS-DOS file systems. ** Added support for terminals that can't write on the last character of the screen without scrolling the entire screen. ** Alt-k starts diff with the two panels current files as arguments. ** Cosmetic changes. ** Bug fixes. * Version 4.3.2 =============== ** A lot of work has been done to make the UIT package compile with traditional K&R compilers. I've successfully compiled it with such a compiler on our HP-UX 9000/715. ** The installation procedure has been simplified: UIT 4.3.2 uses the 'configure' script! The 'configure' script was generated from the file configure.in (available in the package) using the autoconf utility version 1.11. To install the UIT 4.3.2 package just type: ./configure make make install ** The configure script first check for the termcap library. If the termcap library is not found, some terminfo libraries will be searched: ncurses, curses, termlib, tinfo, terminfo. If you want to change this default behavior and search for terminfo libraries before searching the termcap library, run ./configure --enable-terminfo instead of ./configure ** UIT now understands some symbolic key names in the configuration files: F0, F1, F2, ... F10, UP, DOWN, RIGHT, LEFT, INS, DEL, HOME, END, PGUP, PGDOWN. You can still specify a key sequence, but, for the function & cursor keys, it's a better idea to get them from the termcap/terminfo database if they can be found there. So, the command for the F1 key on the Linux console (the configuration file is .uitrc.console) can be: F1 = UIT-HELP; man uit or ^[A = UIT-HELP; man uit ** If some key doesn't have a termcap/terminfo description (like the F11/F12 keys on the Linux console) you can specify the key sequence in the usual way. ** The UIT package will use the GNU readline library if available. If this library is not installed on your system, uit will use the sources for the history and tilde expansion included in the package. For Linux systems, the DLL readline library version 2.0.1 is available at sunsite.unc.edu in the directory /pub/Linux/libs. The package name is librl-2.0.1.tar.gz. This package also includes a readline linked ftp, bash-1.14.1 and gdb-4.12 binaries. The bash binary is about 60k smaller that the SLACKWARE 2.0.0 version and, hold your breath..., the gdb binary is about 500k smaller too. So, if you really want things to work better, install this DLL readline library. UIT will work just fine without it, but using a shared library generally means shorter binaries ... ** Changes in the configuration files: *** ^De starts the editor sending the selected files as para- meters. So, if you want to edit multiple files at once, select them, then press ^De . The default editor is joe, but you can use any other editor if you change the corresponding line in the configuration file. *** ^Dd starts the 'more' viewer sending the selected files as parameters. See above. *** ^Du displays on the status bar the result of the 'du -s' command *** ^Df displays on the status bar the result of the 'df' command, one line at a time *** ^Dm displays on the status bar the result of the 'mount' command, one line at a time *** ^Dv displays on the status bar the result of the 'free' command, one line at a time *** ^Dw displays on the status bar the result of the 'whereis' command, one line at a time *** ^DW displays on the status bar the result of the 'which' command, one line at a time *** ^Dh displays on the status bar the result of the 'users' command, one line at a time ** The file and path names copied to the command line are now quoted because files residing on ISO9660 CDs may contain ';' and the shell will fail to expand the resulting string. ** Three new default actions have been added to the uitaction script for *.texi, *.texinfo and *.man. See the uitaction script for more details. ** 3 bugs have been fixed. * Version 4.3.1 =============== ** UIT now uses the GNU history library. The default history file is ~/.uithistory. ** The number of files in a panel is no longer limited to 1024. If you have enough memory, UIT can now display all the files in the directory, even if the directory is a very big one. UIT dynamically allocates memory for the directory data so UIT 4.3.1 needs about 120k-140k of memory less than UIT 4.3 (for usual directories). ** UIT can move files between file systems by copying the source file to the destination file and then removing the source file. ** The source files termcap.l and termcap.h have been removed. UIT 4.3.1 now use the standard termcap library. If you want to use a local termcap database (like .termcap), you can do it by setting the TERMCAP environment variable to point to it: TERMCAP = /home/joe/.termcap ** UIT 4.3.1 needs only the 'cm' and the 'cl' terminal capability. If available, 'me', 'md', 'mr', 'vi' and 've' are also used. ** Using the standard termcap database has some advantages: *** UIT 4.3.1 now does padding (if padding is required) *** UIT 4.3.1 can handle any kind of parameterized terminal capabilities. *** uit, uitps, uitview are smaller. *** No more problems with different versions of lex/flex... ** UIT has now terminfo support. You can choose between termcap and terminfo at compile time. ** The selected files are marked with a '*' in the right side. This can be useful if your terminal doesn't know about brightness (the me & md terminal capabilities). ** The current file of the current panel is marked with a '>' in the left side. ** The current file of the other panel is marked with a '*' in the left side. You can see this way which is the current file of the other panel. ** UIT is able to run a command sending to it the selected file names as parameters. This is done using the new %i and %I parameters available in the formatted string. Suppose the current directory test_dir contains the files foo, bar, tutu and gogu, and foo & tutu are selected, the following command ^Wyt = TAR; tar cf %b.tar %i;;;;y will be expanded as tar cf test_dir.bar foo tutu Thus, you can make your favorite commands act only on the selected files. ** A new builtin command () is available. This command lets you to insert all the selected files names into the command line. I've mapped it on ^Kg. If there is no selected file, only the current file name is copied. ** Changes in the configuration files: *** the archive (.tar.gz) created with ^Wz get its name from the directory under the cursor. So, in the configuration files, ^Wz = tar cf - * | gzip -9cf > %b.tar.gz is now ^Wz = tar cf - %d | gzip -9c > %d.tar.gz *** elm can be started with ^Ke *** the shell can be started with ^Kj *** as explained before, I've added ^Kg & ^Wyt ** A new utility (uitkeys) is provided to help users to set up the configuration files .uitrc.TERM. ** If uit/uitps/uitview doesn't find a local configuration file .uitrc.TERM, it tries to use the global version (usually found in the /usr/local/lib directory). This way, users are able to run uit/ uitps/uitview without having to copy the configuration file(s) in their home directory. ** uit now understands '~' in the 'newdir' field, in the builtin command, etc ... ** The procedure of setting up colors has been simplified. If you want to try to run UIT with colors, just set AnsiColorSequences to ON in the configuration files. ** MS-DOS files are copied without the __x bits. ** UIT can now display the host-name, system type, machine type and the current date on the status bar using the following escape sequences: \h -> the host name \s -> the system type \m -> the machine type \t -> the date Please read the configuration files for more details. ** For the sake of readability, in the configuration files '1' and '0' have been replaced by 'y' and 'n'. ** The size of the command line has been increased to 2k. ** alloca.c is now included in the distribution. You should be able to compile the UIT 4.3.1 package even if the target system does not support the alloca() function. For such systems, define in the Makefile ALLOCAOBJ = alloca.o . ** A better Makefile: - you can uninstall the UIT package using 'make uninstall' - you can build a distribution file using 'make dist' ** A *MUCH* *MUCH* *MUCH* better code. ** N bugs have been fixed :-(. * Version 4.3 ============= ** A new script that executes a different action for each file type specified. If you press F2 or ^Kz on a "*.c" file, UIT will compile it, if you press F2 or ^Kz on a "*.tar.gz" file, UIT will list the tar archive contents, if you press the same keys on a "*.gz" file UIT will display its uncompressed contents on the screen, etc ... By default uitaction checks for the following patterns: "*.cc" "*.c" "*.l" "*.y" "*.h" "*.s" "*.S" "*.o" "*.a" "*.sa" "Makefile" "makefile" "*.tar.gz" "*.tgz" "*.tar.z" "*.tar.Z" "*.taz" "*.tar" "*.gz" "*.z" "*.Z" "*.doc" "*.txt" "*.gif" "*.jpg" "*.tif" "*.bmp" and acts as appropriate. If no pattern is found, the file is displayed using more. Feel free to change this. If you press F2 or ^Kz on a "*.gif" file or a "*.jpg" file and you have the zgv utility installed, you will be able to see it. If you want to change the gif/jpeg viewer, all you need to do is to change its name in the uitaction script. I don't know a "*.bmp" or "*.tif" viewer. Feel free to add one in the uitaction script. The script can be easy enhanced. Just read it. You can have a local version of this script (in the current directory). Please read the manual page for more details. ** UIT 4.3 was tested on DEC OSF/1 operating system. ** Enhanced configuration files: - uitaction (F2 or ^Kz) - grep (^Vr) - ispell (^Vi) - ' | more' added to finger, w, ... - reset (terminal reset) (^WR) - mv (you can now change a file name even if the two panels don't show the same directory) (^Vr) - chmod for a group of files (^Wlm) - chown for a group of files (^Wlo) - chgrp for a group of files (^Wlg) - conform the current directory to the other panel directory (Alt-c c, ESC c c, ^[cc) - - conform the other panel directory to the current panel directory (Alt-c o, ESC c o, ^[co) - - tar + gzip in one shot (^Wz). Something like that is executed: tar cf - * | gzip -9cf > %b.tar.gz - the background version of the previous command (^Wbz) - gunzip + un-tar in one shot (^Wv). Something like that is executed: gzip -dc %f | tar xf - - the background version of the previous command (^Wbv) - copy the other panel path to the command line (^Ka) ** Enhanced manual pages. ** A better Makefile ** 3 bugs have been fixed. ** Better error checking on directories. ** ^H support (treated as backspace). ** The ASCII documentation has been removed. I think that every modern UNIX system should have the man utility. * Version 4.2c ============== ** UIT 4.2c was tested on HP-UX operating system. ** UIT 4.2c implements a curses-like algorithm to prevent useless screen refreshes. *NOTHING* will be displayed on the screen if it is already there. This will speed up UIT when working on terminals. To force a screen refresh you can use ^Wr ( ). ** UIT 4.2c is able to select/unselect files using a pattern matching method. You can now select something like *.c, *.h or unselect *.o. This is done with ^Vs (select) / ^Vu (unselect). ** The configuration files .uitrc.TERM where enhanced. You can now start tar xf, tar cf, gzip, gunzip, uuencode, uudecode as foreground or background commands. This is done with ^Wx / ^Wbx, ^Wt / ^Wbt, ^Wc / ^Wbc, ^Wu / ^Wbu, etc. There is also possible to directly send by mail a file to someone as an ASCII file (^Va) or as an uuencoded binary file (^Vb). ** Bug fix: UIT 4.2c now correctly stops when it is started as a background job. ** Files can be sorted in 9 different ways. The most important sorting methods are "by name", "by extension", "by size" and "by date". ** A new script uitmount which allows you to mount any block device without specifying the fs type. You may now insert the floppy in the drive and type 'uitmount fd0' and the first floppy will be mounted in the directory /mnt/fd0. Under Linux just press F11 or F12. You don't need to know the fs type anymore. The directories /mnt/fd0 and /mnt/fd1 must exist. If you want to use uitmount with the block device /dev/xxx then the directory /mnt/xxx must exist. ** You can now install uit with 'make install' ** A new feature has been added to the command line: pressing Alt-h you can delete the last command line word. The built-in command name is . I now that the command line is not very flexible and I'll probably change it in the future. ** can now use ~ as home directory specification. ** can now be canceled with TAB. ** UIT 4.2c is now able now to display up to 99G of free file system space. Big enough, I suppose :-) . * Version 4.2b ============== ** UIT 4.2b now contains info format documentation. ** UIT 4.2b has separate configuration files for each type of terminal. ** An ASCII version of the manual page (uit.doc) included for those who can't read neither the nroff version nor the info version. ** New built-in function for changing the current panel directory. ** uit, uitps and uitview are a little bit smaller than the previous versions (uitcmp was small enough :-) ). ** UIT 4.2b package now correctly runs under X (in an xterm window). Previous versions did not due to a bug in handling the ioctl() call to get the screen contents. ** UIT 4.2b now supports full configurable key sequences. The key pressed is identified faster. ** 5 minor bugs have been fixed. See the ChangeLog file for details. * Version 4.2a and older ======================== ** UIT 4.2a has been tested with Linux 1.0 and ULTRIX V4.2A. ** As to Linux 1.0 you can't do a screen dump if you are not super user so the command is no longer completely supported for the normal users. Even if you are not super user, is still useful because you can see the result of the latest command. ** As to Linux 1.0 MS-DOS files are all executable (__x__x__x). UIT now checks the file system type and ignores the executable bits if the current directory belongs to a MS-DOS file system. ** UIT 4.2a can now display longer file names (with the 'FullName' FileDisplayMode value). ** UIT 4.2a can now display setuid, set group id attributes and the sticky bit. ** Lots of optimizations have been made to speed up UIT when working with terminals. ** Filenames containing control characters are correctly displayed. (control characters are displayed as '?') ** New options in the configuration file permitting to increase the displaying speed on very slow terminals. ** An interactive process viewer / killer utility is provided. ** An interactive HEX/ASCII file viewer is now available. * Notes ======= *** Starting with version 4.0, this program is no longer named PSH. PSH was the name used until version 3.2b. *** Please read the INSTALL file before starting UIT 4.3. Tudor & Andi