CVS tab completion for modules under Linux
Actually, as you guys said, Ubuntu has built in support for tab completion of CVS modules.
The one thing I was missing, I have to manually add a mapping of the module name and its alias in the CVSROOT/modules file for the supported completion to work.
How can I hook into tcsh's TAB completion on Linux
From the manpage:
the complete builtin command can be used to tell the shell how to complete words other than filenames, commands and variables
might get you started
Linux CVS Access Control
CVSACL is a patch for CVS. It adds two new subcommands (acl & racl) to cvs for access control list management.
http://cvsacl.sourceforge.net/
How can I list all modules in a CVS repository?
As already described in this answer there are basically three ways to go about this. Which one suits your situation depends firstly on what versions of CVS you are using on both client and server and secondly on your definition of "modules".
If you are referring to modules as they were originally thought of by the CVS authors, i.e. as entries in the
CVSROOT/modules
file thencvs co -c
orcvs co -s
will give you that, the only difference between the two being that the latter will sort the output by "status". You can read about the modules file here: http://cvsbook.red-bean.com/cvsbook.html#modulesIf you are using at least CVS 1.12.8 or CVSNT and your idea of modules corresponds more to actual directories inside the repository, then
cvs ls
should be what you want.Finally, if you are indeed after a remote directory listing but your server is running an older version of CVS, then there's the trick of first performing a "fake" checkout and then simulating a recursive update:
cvs -d [CVSROOT] co -l .
cvs -n up -d
Help with CVS in command line after an already checked out module by a GUI app
Checked out working copies usually already contain all the meta data that's needed to have the command line client work on them (look for CVS subfolders containing files such as Root, Repository and Entries.*). The client will always look at that sandbox meta data first before even considering environment variables.
So, no need to export any environment variables if you've already got a checked out working copy - at least no CVS-specific ones - you might need some for enabling SSH tunneling if you're using the :ext: protocol prefix though on *ix-systems even that should typically not be necessary as the defaults are already geared towards that kind of OS.
Note that even checkout or other commands that work directly on the repository (such as rlog, rtag, etc.) do not require any environment variables. Everything that could be specified by variables can also be specified via commandline arguments. The only purpose of defining CVS-specific environment variables such as CVSROOT is to avoid typing the same values over and over again.
tab completion for Ant under Windows?
BASH has a customizable completion mechanism in the builtin complete
command. By scripting the complete command, you could do command line completion on almost anything you can think of. The ant target completion is done via a Perl shell script called complete-ant-cmd.pl
which is put in the system wide bashrc file in Cygwin.
CMD.exe does not have this mechanism and it cannot be expanded beyond what is already built into it.
As others have mentioned, you can try the ant -p
or ant --projecthelp
command that will list all targets and their description. Try this build.xml
file:
<project name="test" default="target2" basedir=".">
<description>
This is a test project. It is to demonstrate the use
of the "ant -p" command and show all described
targets. The """ probably won't work, but you can use
regular quotes.
</description>
<target name="target1"
description="This is the prime target, but not the default"/>
<target name="target2"
description="This is the default target but not because I said it here"/>
<!-- Target "target3" won't display in "ant -p" because -->
<!-- it has no description parameters. Life is tough. -->
<target name="target3"/>
<target name="target4"
description="This is target #4, but there's no target3"/>
</project>
The output will be:
$ ant -p
Buildfile: /Users/david/build.xml
This is a test project. It is to demonstrate the use
of the "ant -p" command and show all described
targets. The """ probably won't work, but you can use
regular quotes.
Main targets:
target1 This is the prime target, but not the default
target2 This is the default target but not because I said it here
target4 This is target #4, but there's no target3
Default target: target2
$
How can I git-cvsimport multiple modules from a CVS repository, with differing branches?
In theory, you could use git grafts to merge your repositories into one:
See "Is there a clean way to handle two original git repositories that started with the same content?"
In practice, you might want to look at another tool like cvs2git, and check if it does not import branches in a more consistent way.
Related Topics
Hugo Version Not Updating to Latest
Interpreting Openssl Speed Output for Rsa with Multi Option
How to Use Multiple Lower Layers in Overlayfs
In Bash Tee Is Making Function Variables Local, How to Escape This
Elk Not Passing Metadata from Filebeat into Logstash
Can a Gnome Application Be Automated? How
How to Make 'Docker Run' Inherit Ulimits
Configuring Tomat's Server.Xml File with Auto Generating Mod_Jk.Conf
.Dat Attachment Instead of Text Using Mailx in Redhat Linux
Using Source to Include Part of a File in a Bash Script
How to Use Find on Dirs with White Spaces
Question About Epoll and Splice
Passing a Password to "Su" Command Over Sshexec from Ant
Placement of '-L' Option in Gcc
Sigbus While Doing Memcpy from Mmap Ed Buffer Which Is in Ram as Identified by Mincore
Bash: Ctrl+C During Input Breaks Current Terminal
How to Dynamic Load The Library with Same Name But in Different Directory in Linux